Endpoint Playground
Returns a Papa John's US or Canada restaurant's full menu with that restaurant's own prices. Prices are per restaurant, not national -- the same 14-inch pizza can differ by several dollars between two stores -- so pass a store_id from GET /papajohns/store or GET /papajohns/nearby. Omitting it returns the national default menu, flagged as national_default in the response. Each category is returned with its sections and product groups, and every orderable SKU carries its price, calories, serving size, slice count and image. Set include_options to also get each product group's customization axes: every size and crust it is sold in, and every preparation instruction (how much cheese, how well done) with its choices. This is the US and Canada menu -- for India use GET /papajohns/india/menu, and for Chile, Costa Rica, Guatemala, Panama, Portugal or Spain use GET /papajohns/intl/menu.
14 Oct 2026: 1 categories; 5 fields had a value in every checked item.
Sample value profiles: name: “Pizza”; image_url: papajohns.com; sections: median 6 entries.
curl 'https://api.crawlora.net/api/v1/papajohns/menu?category=dippingsauces' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| store_id | string | No | Restaurant id from GET /papajohns/store or GET /papajohns/nearby. Omit for the national default menu. | |
| category | string | No | dippingsauces | Return only one category. One of: dippingsauces, desserts, drinks, extras, papabowls, pizza, sandwiches, sides, wings |
| include_options | boolean | No | Include each product group's sizes, crusts and preparation instructions. Default false. |
{
"code": 200,
"msg": "OK",
"data": {
"store_id": 5054,
"national_default": false,
"categories": [
{
"id": "pizza",
"name": "Pizza",
"sections": [
{
"id": "most_popular",
"name": "Most Popular",
"product_groups": [
{
"id": "cyo",
"title": "Create Your Own Pizza",
"description": "Build your own custom pizza and we'll handcraft it for you.",
"customizable": "full",
"price_from": 14.99,
"max_toppings": 7,
"max_same_topping": 2,
"allow_half_toppings": true,
"products": [
{
"sku": "1-1-2-115",
"name": "10 Inch Original Pepperoni Pizza",
"title": "Small Original Crust - Pepperoni",
"size": "Small",
"price": 14.99,
"regular_price": 14.99,
"code": "PR10Q1",
"size_id": 2,
"crust_id": 1,
"calories": 210,
"serving_label": "/slice, 6 slices",
"slices": 6
}
]
}
]
}
],
"product_count": 96
}
],
"product_count": 206,
"source_url": "https://www.papajohns.com/api/trpc/menuCategory.getByStore?input={\"json\":{\"storeId\":5054}}",
"fetched_at": "2026-09-06T09:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.