7NOW API endpoint
Returns one 7NOW store's top-level category broken into its real subcategory groups (e.g. Fresh Food -> Pizza, Wings & Chicken Bites, Subs & Sandwiches, ...), each with its own paginated, priced item list and live availability, plus a category-wide availability summary. Complements GET /7now/catalog, whose per-category section is a single flat list -- this is the same data organized the way 7now.com's own category page groups it. store_id comes from GET /7now/stores and category_id from GET /7now/categories -- which accepts both the store's permanent departments and the merchandising shelves its homepage features, since 7NOW uses one parameter for two id spaces. An invalid or empty category_id returns a normal 200 with an empty subcategories array, not an error.
/7now/categoryQuery parameters:
store_id (required) — 7NOW store id, from GET /7now/stores, e.g. 39226.category_id (required) — category id from GET /7now/categories, e.g. 48423. Accepts either id space: a permanent department (48395 Drinks) or a merchandising shelf (78499 "$2 Deals"). Both return the same shape.subcategory (optional) — restrict to one subcategory group by exact name (from a prior call's subcategories[].name), e.g. Pizza.skip (optional) — pagination offset, applied uniformly to every subcategory group. Defaults to 0.limit (optional) — max items returned per subcategory group, 1-50. Defaults to 20.Response includes store_id, category_id (echoed back), subcategories[] (each a name plus its items[]), stats (total, available, out_of_stock, percentage_available across the category's matched items, before paging), skip, limit, source_url, and fetched_at.
Each item in subcategories[].items[] carries product_id, name, subcategory, upc, calories, image_url, price_cents, promo_price_cents (omitted when no promotion is active), promo_description, available, available_quantity, and age_restricted.
| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| name | 10 | “Pizza” and 9 other values |
| items | 10 | median 17 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| store_id | string | Yes | 7NOW store id, from GET /7now/stores. | 39226 | |
| category_id | string | Yes | Category id, from GET /7now/categories -- either a department or a merchandising shelf. | 48423 | |
| subcategory | string | No | Restrict to one subcategory group by exact name (from a prior call's subcategories[].name). | Pizza | |
| skip | integer | No | 0 | Pagination offset, applied uniformly to every subcategory group. Defaults to 0. | 0 |
| limit | integer | No | 20 | Max items returned per subcategory group, 1-50. Defaults to 20. | 20 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/7now/category?store_id=39226&category_id=48423&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"store_id": "37134",
"category_id": "48423",
"subcategories": [
{
"name": "Pizza",
"items": [
{
"product_id": "178322-2-6-2",
"name": "Large Pizza - Ultimate Pepperoni",
"subcategory": "Pizza",
"upc": "00052548537524",
"calories": "360",
"image_url": "https://deuktbth81ifn.cloudfront.net/7now/US/178322-2-6-2/wghjlebnc3luzvgqmpvz.jpg",
"price_cents": 1299,
"promo_price_cents": 699,
"promo_description": "On Sale $6.99",
"available": true,
"available_quantity": 100,
"age_restricted": false
}
]
}
],
"stats": {
"total": 121,
"available": 99,
"out_of_stock": 22,
"percentage_available": 82
},
"skip": 0,
"limit": 20,
"source_url": "https://www.7now.com/api/bff/unified-catalog/v1/conv/inventory/subcategories?storeId=37134&categoryId=48423&skip=0&limit=20",
"fetched_at": "2026-09-05T19:40:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/sevennow.categoryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | sevennow.CategoryResponse | No | ||||
| data.category_id | string | No | 48423 | |||
| data.fetched_at | string | No | ||||
| data.limit | integer | No | 20 | |||
| data.skip | integer | No | 0 | |||
| data.source_url | string | No | ||||
| data.stats | sevennow.CategoryStats | No | ||||
| data.stats.available | integer | No | 99 | |||
| data.stats.out_of_stock | integer | No | 22 | |||
| data.stats.percentage_available | integer | No | 82 | |||
| data.stats.total | integer | No | 121 | |||
| data.store_id | string | No | 39226 | |||
| data.subcategories | array | No | ||||
| data.subcategories[].items | array | No | ||||
| data.subcategories[].items[].age_restricted | boolean | No | false | |||
| data.subcategories[].items[].available | boolean | No | true | |||
| data.subcategories[].items[].available_quantity | integer | No | 100 | |||
| data.subcategories[].items[].calories | string | No | 360 | |||
| data.subcategories[].items[].image_url | string | No | ||||
| data.subcategories[].items[].name | string | No | Large Pizza - Ultimate Pepperoni | |||
| data.subcategories[].items[].price_cents | integer | No | 1299 | |||
| data.subcategories[].items[].product_id | string | No | 178322-2-6-2 | |||
| data.subcategories[].items[].promo_description | string | No | On Sale $6.99 | |||
| data.subcategories[].items[].promo_price_cents | integer | No | 699 | |||
| data.subcategories[].items[].subcategory | string | No | Pizza | |||
| data.subcategories[].items[].upc | string | No | 00052548537524 | |||
| data.subcategories[].name | string | No | Pizza | |||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 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/7now/category?store_id=39226&category_id=48423&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"