Target API endpoint
Lists Target's top-level category menu in `categories`, plus the grouped shop-all directory in `groups`. Each category has an `id` (the one used by `/target/category-products`), name, canonical URL and, when Target supplies one, an image URL. The response also gives `count` and `group_count`. Takes no parameters.
/target/categoriesReturns Target's current category catalog without requiring parameters. categories mirrors the top-level Categories menu, while groups contains the complete grouped shop-all directory. Every item includes the category ID used by /target/category-products, its name, canonical URL, and an image URL when Target supplies one.
| Field | Filled in, of 18 checked | Values in the sample |
|---|---|---|
| name | 18 | “Baby” and 17 other values |
| categories | 18 | median 7 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/target/categories" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"count": 29,
"group_count": 16,
"categories": [
{
"id": "5xt1a",
"name": "Grocery",
"url": "https://www.target.com/c/grocery/-/N-5xt1a"
}
],
"groups": [
{
"name": "Grocery",
"categories": [
{
"id": "u7fty",
"name": "Produce",
"url": "https://www.target.com/c/produce-grocery/-/N-u7fty"
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/target.categoriesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | target.CategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].id | string | No | 5xt1a | |||
| data.categories[].image_url | string | No | ||||
| data.categories[].name | string | No | Grocery | |||
| data.categories[].url | string | No | https://www.target.com/c/grocery/-/N-5xt1a | |||
| data.count | integer | No | 29 | |||
| data.fetched_at | string | No | ||||
| data.group_count | integer | No | 16 | |||
| data.groups | array | No | ||||
| data.groups[].categories | array | No | ||||
| data.groups[].categories[].id | string | No | 5xt1a | |||
| data.groups[].categories[].image_url | string | No | ||||
| data.groups[].categories[].name | string | No | Grocery | |||
| data.groups[].categories[].url | string | No | https://www.target.com/c/grocery/-/N-5xt1a | |||
| data.groups[].name | string | No | Grocery | |||
| data.source_url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/target/categories" \
-H "x-api-key: $CRAWLORA_API_KEY"