Amazon Category
Scrape an entire Amazon category page by URL and browse node ID. Each call creates its own collection with request_type='amazon_category_scrape' and dispatches to a dedicated Celery queue. Currently filters (prime, delivery day) are supported on amazon.com.au only; a valid cookie file for the domain+postcode must exist before submitting.
Submit Category Scrape
https://multicartapi.com/api/v1/schedules/amazon/category/add_schedule/Submit an Amazon category URL for scraping; validates that a cookie file exists for the domain+postcode, creates a collection, and queues the task on the amazon_category Celery queue.
curl "https://multicartapi.com/api/v1/schedules/amazon/category/add_schedule/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"category_url": "https://www.amazon.com.au/s?rh=n%3A4851693051&dc",
"amazon_node_id": "4851693051",
"domain": "amazon.com.au",
"postcode": "4500",
"filter_prime_ships_from_au": true,
"filter_delivery_day": "within_2_days",
"price_min_cents": 0,
"price_max_cents": 50000
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
category_url | string (URL) | Required | Full Amazon category URL e.g. https://www.amazon.com.au/s?rh=n%3A4851693051&dc |
amazon_node_id | string | Required | Amazon browse node ID extracted from the category URL e.g. 4851693051 |
domain | string | Required | Domain name exactly as it appears in /settings/domains/ e.g. amazon.com.au. Must be present in domain_config.DOMAINS. |
postcode | string | Required | Postcode string e.g. 4500. Validated against the domain's postcode_regex. A cookie file for this domain+postcode must already exist (create one via /zipcodes/create-zipcode/). |
name | string | Optional | Human-readable collection name. Defaults to amazon_category_<node_id>. |
filter_prime_ships_from_au | boolean | Optional | Filter to products that ship from AU and are Prime-eligible. Currently supported on amazon.com.au only. |
filter_delivery_day | string | Optional | Delivery speed filter: tomorrow or within_2_days (or omit/null for no filter). amazon.com.au only. |
price_min_cents | integer | Optional | Minimum price filter in cents e.g. 0 |
price_max_cents | integer | Optional | Maximum price filter in cents e.g. 50000 for $500.00 |
notification_email | string (email) | Optional | Email address for completion notification. Defaults to the authenticated user's email. |
priority | string | Optional | Queue priority: Highest, High, Normal, Low, or Lowest. |
{
"category_url": "https://www.amazon.com.au/s?rh=n%3A4851693051&dc",
"amazon_node_id": "4851693051",
"domain": "amazon.com.au",
"postcode": "4500",
"filter_prime_ships_from_au": true,
"filter_delivery_day": "within_2_days",
"price_min_cents": 0,
"price_max_cents": 50000
}{
"code": 200,
"data": { "id": 20326, "runner_id": 412 },
"status": 1
}Notes
Poll Category Scrape Result
https://multicartapi.com/api/v1/schedules/amazon/category/result/Poll the status and fetch the results of a category scrape. Returns a single-element array; poll until is_download_generated is true or stage is failed.
curl "https://multicartapi.com/api/v1/schedules/amazon/category/result/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"collection_id": 20326
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
collection_id | integer | Required | Collection ID returned in the id field of /add_schedule/ response. |
{
"collection_id": 20326
}{
"code": 200,
"data": [{
"id": 412,
"collection": 20326,
"is_download_generated": true,
"stage": "done",
"asin_count": 450,
"asins": [
{ "asin": "B0ABC123", "title": "Example Product", "price": "$29.99" }
],
"download_links": {
"pages": ["https://multicartapi.com/api/v1/results/20326/412/category_asins.json"],
"all_pages": ""
}
}],
"status": 1
}Notes
Cancel Category Scrape
https://multicartapi.com/api/v1/schedules/amazon/category/cancel/Cancel an in-flight category scrape by revoking the Celery task; sets the collection schedule_status to Failed with message Cancelled by user.
curl "https://multicartapi.com/api/v1/schedules/amazon/category/cancel/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"collection_id": 20326
}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
collection_id | integer | Required | Collection ID returned in the id field of /add_schedule/ response. |
{
"collection_id": 20326
}{
"code": 200,
"data": { "id": 20326, "revoked": true },
"status": 1
}Notes
