Papa John's API endpoint
Returns every Papa John's **India** restaurant with its address, phone, coordinates, and weekly opening hours broken down per order channel (delivery, take away, dine in, drive-through pickup). These store ids are what GET /papajohns/india/menu's store_id availability filter is keyed on. India market only -- for US/Canada stores use GET /papajohns/directory, GET /papajohns/store, or GET /papajohns/nearby.
/papajohns/india/storesIndia market only. For US/Canada stores use
/papajohns/directory,/papajohns/store, or/papajohns/nearby.
Query parameters:
channel_id (optional) — return only hours for this order channel. One of
1 (Delivery), 2 (Take Away), 3 (Dine In), 4 (Drive Through Pickup).Notable response behavior:
hours has one entry per weekday per channel, so a store publishing three
channels returns 21 entries. channels lists the distinct channel names
that store publishes hours for.channel_id returns a 400.| Field | Filled in, of 11 checked | Values in the sample |
|---|---|---|
| id | 11 | |
| name | 11 | “PJPB - 360° Business Park, Electronics City BLR” and 10 other values |
| store_code | 11 | |
| address | 11 | median 111 characters |
| phone | 11 | 9,240,221,955 to 9,240,271,398, median 9,240,244,044 |
| latitude | 11 | |
| longitude | 11 | |
| hours | 11 | median 21 entries |
| channels | 11 | median 3 entries |
| 7 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| channel_id | string | No | Return only hours for this order channel. One of: 1 (Delivery), 2 (Take Away), 3 (Dine In), 4 (Drive Through Pickup). Allowed values: 1, 2, 3, 4. | 1 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/papajohns/india/stores?channel_id=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"market": "india",
"stores": [
{
"id": "7",
"name": "PJPB - 360° Business Park, Electronics City BLR",
"store_code": "QRyCHD",
"address": "Papa Johns, Electronic City Phase I, Electronic City, Bengaluru, Karnataka 560100",
"phone": "9240244043",
"latitude": 12.840903161072498,
"longitude": 77.65593675511532,
"hours": [
{
"day": "Monday",
"channel_id": "2",
"channel": "Take Away",
"opens": "11:00:00",
"closes": "23:00:59"
}
],
"channels": [
"Dine In",
"Drive Through Pickup",
"Take Away"
]
}
],
"count": 9,
"source_url": "https://papajohns.suntechsolutions.us/api/stores",
"fetched_at": "2026-09-05T09:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/papajohns.indiaStoresResponseDoc
| 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 | papajohns.IndiaStoresResponse | No | ||||
| data.channel | string | No | Delivery | |||
| data.channel_id | string | No | ||||
| data.count | integer | No | 9 | |||
| data.fetched_at | string | No | ||||
| data.market | string | No | india | |||
| data.source_url | string | No | ||||
| data.stores | array | No | ||||
| data.stores[].address | string | No | ||||
| data.stores[].channels | array | No | Channels lists the order channels this store publishes hours for. | |||
| data.stores[].email | string | No | ||||
| data.stores[].hours | array | No | ||||
| data.stores[].hours[].channel | string | No | Take Away | |||
| data.stores[].hours[].channel_id | string | No | 2 | |||
| data.stores[].hours[].closes | string | No | 23:00:59 | |||
| data.stores[].hours[].day | string | No | Monday | |||
| data.stores[].hours[].opens | string | No | 11:00:00 | |||
| data.stores[].id | string | No | 7 | |||
| data.stores[].latitude | number | No | 12.840903161072498 | |||
| data.stores[].longitude | number | No | 77.65593675511532 | |||
| data.stores[].name | string | No | PJPB - 360° Business Park, Electronics City BLR | |||
| data.stores[].phone | string | No | 9240244043 | |||
| data.stores[].store_code | string | No | QRyCHD | |||
| 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/papajohns/india/stores?channel_id=1" \
-H "x-api-key: $CRAWLORA_API_KEY"