---
title: "Get one Grubhub restaurant's currently active promotions"
method: GET
path: "/grubhub/offers"
tags: ["Grubhub"]
---

# Get one Grubhub restaurant's currently active promotions

`GET /grubhub/offers`

## Request

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

Returns the promotional offers a Grubhub restaurant is currently running -- free items, BOGO deals, spend-and-save discounts -- the same data that drives the "2 offers available" badge on the site's own restaurant cards. An empty list is the common, legitimate case: most restaurants have no active promotion at any given moment. `amount.value` is 0 for a free-item offer since the item itself is the value, not a monetary discount; `amount.amount_maximum` then caps the item's dollar value, and `amount.order_minimum` is the spend threshold required to unlock it.

## Query parameters

- `restaurant_id` string, required
- `latitude` number, required
- `longitude` number, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- GrubhubOffersResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` GrubhubOffersResponse
    - `count` integer
    - `fetched_at` string
    - `offers` GrubhubOffer[]
      - `amount` GrubhubOfferAmount
        - `amount_maximum` number
        - `currency` string
        - `order_minimum` number
        - `type` string
        - `value` number
      - `description` string: Description is the full offer copy, including its fine print -- minimum order rules, exclusions, redemption limits.
      - `end_date` string
      - `entitlement_id` string
      - `entitlement_type` string
      - `offer_type` string
      - `pill_text` string: PillText is the short badge Grubhub's own UI shows on a restaurant card, e.g. "$10 off".
      - `redeem_item_count` integer
      - `title` string
    - `restaurant_id` string
    - `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)
