The E-commerce Scraper API provides access to product categories and details from major retailers including Amazon, Walmart, Costco, Best Buy, Home Depot, and Target.
https://scrapper.anora.dev/api
Currently, no authentication is required to access the API endpoints.
Retrieve product categories for a specified retailer.
retailer (string, required): One of
amazon,
walmart,
costco,
bestbuy,
homedepot,
target
limit (integer, optional): Maximum number of categories (default: 50, max: 100)GET https://scrapper.anora.dev/api/categories/amazon?limit=10
{
"retailer": "amazon",
"categories": [
{
"category_id": "amazon_node_123",
"name": "Electronics",
"parent_category": null,
"retailer": "amazon",
"url": "https://www.amazon.com/electronics"
}
],
"count": 1,
"limit": 10
}
Retrieve product details for a specified retailer and category.
retailer (string, required): One of
amazon,
walmart,
costco,
bestbuy,
homedepot,
target
category_id (string, required): Category identifier from categories endpointlimit (integer, optional): Maximum number of products (default: 20, max: 50)GET https://scrapper.anora.dev/api/products/walmart?category_id=walmart_cat_123&limit=5
{
"retailer": "walmart",
"category_id": "walmart_cat_123",
"products": [
{
"product_id": "123456789",
"name": "Sample Product",
"category_id": "walmart_cat_123",
"retailer": "walmart",
"price": 29.99,
"description": "Product description",
"image_url": "https://example.com/image.jpg",
"url": "https://www.walmart.com/product/123"
}
],
"count": 1,
"limit": 5
}
Get list of supported retailers and their configuration.
GET https://scrapper.anora.dev/api/retailers
{
"supported_retailers": [
{
"name": "amazon",
"base_url": "https://www.amazon.com",
"rate_limit": 0.5
}
],
"count": 6
}
Get API health status and configuration information.
GET https://scrapper.anora.dev/api/status
{
"status": "healthy",
"supported_retailers": ["amazon", "walmart", "costco", "bestbuy", "homedepot", "target"],
"proxy_stats": {
"total_proxies": 100,
"bad_proxies": 5,
"using_proxies": true
},
"rate_limits": {
"amazon": 0.5,
"walmart": 1.0
}
}
| Field | Type | Description |
|---|---|---|
category_id |
string | Unique identifier for the category |
name |
string | Category name |
parent_category |
string | null | Parent category name or null |
retailer |
string | Retailer name |
url |
string | Category page URL |
| Field | Type | Description |
|---|---|---|
product_id |
string | Unique product identifier (ASIN, SKU, etc.) |
name |
string | Product title |
category_id |
string | Associated category ID |
retailer |
string | Retailer name |
price |
float | null | Price in USD |
description |
string | null | Product description |
image_url |
string | null | Product image URL |
url |
string | Product page URL |
Search for products by name across all supported retailers or target specific retailers.
Endpoint: /api/search
Search for products across all supported retailers simultaneously.
| Parameter | Type | Required | Description |
|---|---|---|---|
q |
string | Yes | Search query (product name or keywords) |
retailer |
string | No | Target specific retailer (amazon, walmart, etc.) |
limit |
integer | No | Maximum products per retailer (1-50, default: 10) |
GET /api/search?q=laptop&limit=5
{
"query": "laptop",
"results": {
"amazon": {
"products": [
{
"name": "Apple MacBook Air 13-inch",
"price": 999.0,
"rating": 4.5,
"image_url": "https://...",
"product_url": "https://...",
"retailer": "amazon"
}
],
"count": 1,
"status": "success"
},
"walmart": {
"products": [],
"count": 0,
"status": "blocked",
"message": "Walmart blocked search requests"
}
},
"summary": {
"total_products": 1,
"retailers_searched": 6,
"successful_retailers": 1,
"blocked_retailers": 5,
"error_retailers": 0
},
"limit": 5,
"duration_seconds": 2.4,
"timestamp": 1754160000.0
}
Endpoint: /api/search/{retailer}
Search for products on a specific retailer.
| Parameter | Type | Required | Description |
|---|---|---|---|
retailer |
string | Yes | Retailer name (amazon, walmart, costco, bestbuy, homedepot, target) |
| Parameter | Type | Required | Description |
|---|---|---|---|
q |
string | Yes | Search query (product name or keywords) |
limit |
integer | No | Maximum products to return (1-50, default: 10) |
GET /api/search/amazon?q=wireless%20headphones&limit=3
{
"query": "wireless headphones",
"retailer": "amazon",
"products": [
{
"name": "Sony WH-1000XM4 Wireless Headphones",
"price": 299.99,
"rating": 4.7,
"image_url": "https://m.media-amazon.com/images/...",
"product_url": "https://amazon.com/dp/...",
"retailer": "amazon"
}
],
"count": 1,
"limit": 3,
"status": "success",
"duration_seconds": 1.8,
"timestamp": 1754160000.0
}
The API uses standard HTTP status codes and returns error information in JSON format.
| Status Code | Description | Example Response |
|---|---|---|
| 400 | Bad Request | {"error": "category_id parameter is required"} |
| 404 | Not Found | {"error": "Endpoint not found"} |
| 500 | Internal Server Error | {"error": "Internal server error", "message": "..."} |
The API implements rate limiting per retailer to comply with scraping policies:
| Retailer | Requests per Second | Notes |
|---|---|---|
| Amazon | 0.5 | Conservative rate to avoid detection |
| Walmart | 1.0 | Standard rate limiting |
| Costco | 1.0 | Standard rate limiting |
| Bestbuy | 1.0 | Standard rate limiting |
| Homedepot | 1.0 | Standard rate limiting |
| Target | 1.0 | Standard rate limiting |