---
title: "Check ordering availability for a batch of Grubhub restaurants"
method: GET
path: "/grubhub/availability"
tags: ["Grubhub"]
---

# Check ordering availability for a batch of Grubhub restaurants

`GET /grubhub/availability`

## Request

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

Returns current ordering state for up to 20 restaurants in one call, relative to a diner location. Each entry reports whether the restaurant is open overall and per channel (these can differ), whether delivery and pickup are offered at all as distinct from open right now, whether it delivers to the supplied coordinate, blackout and overloaded flags, distance, delivery and pickup time estimates, delivery fee, order minimum, cuisines, and the next time an order can be sent per channel -- useful when a restaurant is currently closed. The response echoes the requested ids so a caller can tell which ones Grubhub returned nothing for.

## Query parameters

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

## Headers

- `x-api-key` string, required

## Response `200`

OK

- GrubhubAvailabilityResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` GrubhubAvailabilityResponse
    - `count` integer
    - `fetched_at` string
    - `requested` string[]: Requested is the id list as asked for, so a caller can tell which ids Grubhub returned nothing for.
    - `restaurants` GrubhubRestaurantAvailability[]
      - `available_for_delivery` boolean: AvailableFor* is whether the channel is offered at all, as distinct from whether it is open right now.
      - `available_for_pickup` boolean
      - `blacked_out` boolean
      - `cuisines` string[]
      - `delivers_to_location` boolean: DeliversToLocation is whether this restaurant delivers to the coordinate supplied in the request.
      - `delivery_estimate_minutes` integer
      - `delivery_fee` GrubhubMoney
        - `amount` integer
        - `currency` string
        - `value` number
      - `distance_miles` number
      - `inundated` boolean: Inundated marks a restaurant Grubhub flags as overloaded.
      - `logo_url` string
      - `next_delivery_time` string: NextDeliveryTime is when Grubhub says the next delivery order can be sent, useful when open_delivery is false.
      - `next_pickup_time` string
      - `open` boolean: Open is the restaurant's overall state; the two channel flags below can differ from it and from each other.
      - `open_delivery` boolean
      - `open_pickup` boolean
      - `order_minimum` GrubhubMoney
        - `amount` integer
        - `currency` string
        - `value` number
      - `pickup_estimate_minutes` integer
      - `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/028417aa35bb?raw)
