---
title: "Get the Papa John's Colombia priced menu (COP)"
method: GET
path: "/papajohns/colombia/menu"
tags: ["Papa John's"]
---

# Get the Papa John's Colombia priced menu (COP)

`GET /papajohns/colombia/menu`

## Request

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

Returns Papa John's **Colombia** menu with prices in Colombian pesos. Every product lists its priced SKU variants across the four axes Colombia sells on — size, dough, crust and sauce — each with its own price and availability. Colombia runs its own ordering platform, independent of the six markets behind GET /papajohns/intl/menu and of Peru and El Salvador, so it has its own endpoint. Prices are Colombian pesos and are not comparable with any other market. The full catalog is paged through before returning, so the response is complete rather than a first page.

## Query parameters

- `category` string
- `include_variants` boolean

## Headers

- `x-api-key` string, required

## Response `200`

OK

- PapajohnsLatamMenuResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` PapajohnsLatamMenuResponse
    - `categories` PapajohnsLatamCategory[]
      - `id` string
      - `name` string
      - `product_count` integer
      - `products` PapajohnsLatamProduct[]
        - `category` string
        - `currency` string
        - `description` string
        - `id` string
        - `image_url` string
        - `name` string
        - `price_from` number: PriceFrom is the cheapest priced variant, so a caller can rank products without walking every variant.
        - `url` string
        - `variants` PapajohnsLatamVariant[]
          - `available` boolean
          - `crust` string
          - `currency` string
          - `fulfillment` string: Fulfillment is the order channel this price applies to, where the market prices delivery and pickup differently. Colombia does: the same item is commonly ~15% dearer for "Domicilio" than "Recoger en Tienda", so two variants that look otherwise identical are not duplicates.
          - `list_price` number: ListPrice is the pre-discount price where the market publishes one and it actually differs from price.
          - `name` string: Name is the market's own label for the variant where it gives one.
          - `price` number
          - `sauce` string: Sauce is populated only by Colombia, whose SKUs vary by sauce too.
          - `size` string: Size and Crust are populated where the market distinguishes them.
          - `sku` string
    - `category` string
    - `currency` string
    - `fetched_at` string
    - `market` string
    - `partial` boolean: Partial is true when a paginated upstream failed part-way and the response carries only the pages that were retrieved. A menu that is quietly short is indistinguishable from one that genuinely has fewer items, so it is flagged rather than left to look complete.
    - `product_count` integer: ProductCount is how many products the response carries. Where the upstream paginates, every page is followed before returning.
    - `source_url` string
  - `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)
