---
title: "List a Papa John's restaurant's current promotions"
method: GET
path: "/papajohns/deals"
tags: ["Papa John's"]
---

# List a Papa John's restaurant's current promotions

`GET /papajohns/deals`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/papajohns/deals`
- Auth: API key in header `x-api-key`

Returns the promotions a Papa John's US or Canada restaurant is currently running. Each offer carries its redemption code, title, description, offer price and — where the deal advertises a saving — the struck-through regular price, plus its artwork and deal-builder link. Pass a store_id from GET /papajohns/store or GET /papajohns/nearby: promotions are store-specific, and the national response is largely placeholders prompting the customer to choose a store, which are omitted here rather than returned as real offers.

## Query parameters

- `store_id` string

## Headers

- `x-api-key` string, required

## Response `200`

OK

- PapajohnsDealsResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` PapajohnsDealsResponse
    - `count` integer
    - `deals` PapajohnsDeal[]
      - `description` string
      - `id` string
      - `image_url` string
      - `offer_code` string: OfferCode is the code the offer is redeemed with.
      - `price` number: Price is the offer price where the deal advertises one. A deal whose price depends on what the customer builds reports 0.
      - `regular_price` number: RegularPrice is the struck-through pre-offer price, present only when the deal actually advertises a saving.
      - `tag` string: Tag is the merchandising label, e.g. "Featured Deal".
      - `title` string
      - `url` string: URL is the deal-builder link for this offer.
    - `fetched_at` string
    - `national_default` boolean: NationalDefault is true when no store was selected. National promotions are frequently placeholders prompting the customer to pick a store, so a caller should prefer passing a store_id.
    - `source_url` string
    - `store_id` integer
  - `msg` unknown

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
