Culvers API endpoint
Returns one Culver's menu item's full detail, including its size/topping modifier tree with each option's own calories and nutrition link. category and item slugs come from GET /culvers/categories and GET /culvers/menu.
/culvers/itemQuery parameters:
category (required) — category slug from /culvers/categories, e.g. butterburgers.item (required) — item slug from /culvers/menu, e.g. butterburger-cheese.An unknown category or item returns 404.
Response includes item_id, name, slug, category_slug, category_name, description, image_url, nutrition_url, base_calories, is_available, primary_modifier, modifiers[], source_url, and fetched_at. primary_modifier is the item's main size/quantity choice (e.g. Single/Double/Triple patties); modifiers[] covers secondary topping/bun/sauce groups. Each modifier has section_title, description, is_mandatory, is_primary, and options[] — each option has name, base_calories, image_url, is_default, nutrition_url, and sort_order.
No price field — see /culvers/menu's notes on national-catalog pricing.
Example response (trimmed):
{"code":200,"msg":"OK","data":{"item_id":"575957","name":"ButterBurger Cheese","slug":"butterburger-cheese","category_slug":"butterburgers","category_name":"ButterBurgers","is_available":true,"primary_modifier":{"description":"Patties","is_mandatory":true,"is_primary":true,"options":[{"name":"Single","base_calories":490,"is_default":true,"sort_order":1},{"name":"Double","base_calories":700,"is_default":false,"sort_order":2}]},"source_url":"https://www.culvers.com/menu/butterburgers/butterburger-cheese","fetched_at":"2026-09-04T12:00:00Z"}}
| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| name | 3 | “Single” and 2 other values |
| base_calories | 3 | 460 to 940, median 700 |
| is_default | 3 | true in 1 of 3 |
| nutrition_url | 3 | restaurant.nutritionix.com |
| sort_order | 3 | 0 to 2, median 1 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| category | string | Yes | Category slug from /culvers/categories | butterburgers | |
| item | string | Yes | Item slug from /culvers/menu | butterburger-cheese | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/culvers/item?category=butterburgers&item=butterburger-cheese" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"item_id": "575957",
"name": "ButterBurger Cheese",
"slug": "butterburger-cheese",
"category_slug": "butterburgers",
"category_name": "ButterBurgers",
"is_available": true,
"primary_modifier": {
"description": "Patties",
"is_mandatory": true,
"is_primary": true,
"options": [
{
"name": "Single",
"base_calories": 490,
"is_default": true,
"sort_order": 1
},
{
"name": "Double",
"base_calories": 700,
"is_default": false,
"sort_order": 2
}
]
},
"source_url": "https://www.culvers.com/menu/butterburgers/butterburger-cheese",
"fetched_at": "2026-09-04T12:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/culvers.itemResponseDoc
| 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 | culvers.ItemResponse | No | ||||
| data.base_calories | integer | No | ||||
| data.category_name | string | No | ButterBurgers | |||
| data.category_slug | string | No | butterburgers | |||
| data.description | string | No | ||||
| data.fetched_at | string | No | ||||
| data.image_url | string | No | ||||
| data.is_available | boolean | No | ||||
| data.item_id | string | No | 575957 | |||
| data.modifiers | array | No | ||||
| data.modifiers[].description | string | No | Bun | |||
| data.modifiers[].is_mandatory | boolean | No | ||||
| data.modifiers[].is_primary | boolean | No | IsPrimary marks the item's main size/quantity choice (e.g. Single/ Double/Triple patties), as opposed to a secondary topping/bun/sauce group. | |||
| data.modifiers[].options | array | No | ||||
| data.modifiers[].options[].base_calories | integer | No | 700 | |||
| data.modifiers[].options[].image_url | string | No | ||||
| data.modifiers[].options[].is_default | boolean | No | IsDefault marks the option Culver's pre-selects. | |||
| data.modifiers[].options[].name | string | No | Double | |||
| data.modifiers[].options[].nutrition_url | string | No | ||||
| data.modifiers[].options[].sort_order | integer | No | ||||
| data.modifiers[].section_title | string | No | ||||
| data.name | string | No | ButterBurger Cheese | |||
| data.nutrition_url | string | No | ||||
| data.primary_modifier | culvers.Modifier | No | ||||
| data.primary_modifier.description | string | No | Bun | |||
| data.primary_modifier.is_mandatory | boolean | No | ||||
| data.primary_modifier.is_primary | boolean | No | IsPrimary marks the item's main size/quantity choice (e.g. Single/ Double/Triple patties), as opposed to a secondary topping/bun/sauce group. | |||
| data.primary_modifier.options | array | No | ||||
| data.primary_modifier.options[].base_calories | integer | No | 700 | |||
| data.primary_modifier.options[].image_url | string | No | ||||
| data.primary_modifier.options[].is_default | boolean | No | IsDefault marks the option Culver's pre-selects. | |||
| data.primary_modifier.options[].name | string | No | Double | |||
| data.primary_modifier.options[].nutrition_url | string | No | ||||
| data.primary_modifier.options[].sort_order | integer | No | ||||
| data.primary_modifier.section_title | string | No | ||||
| data.slug | string | No | butterburger-cheese | |||
| data.source_url | string | No | ||||
| 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 |
| 404 | Not Found | #/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/culvers/item?category=butterburgers&item=butterburger-cheese" \
-H "x-api-key: $CRAWLORA_API_KEY"