---
title: "Search Subway stores near a coordinate or address"
method: GET
path: "/subway/nearby"
tags: ["Subway"]
---

# Search Subway stores near a coordinate or address

`GET /subway/nearby`

## Request

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

Returns Subway stores nearest first to a coordinate or a free-text address/city/ZIP, with live open/closed status, payment methods, catering link, and feature flags. This is the proximity search GET /subway/sitemap cannot do directly -- the sitemap enumerates the whole world for bulk scraping, this answers "what is near this point" with distance and live attributes the sitemap/store locator does not carry. Each store's store_id is the same value GET /subway/menu takes, and can be passed back here as store_id to re-read one store's live attributes directly.

## Query parameters

- `latitude` number
- `longitude` number
- `query` string
- `store_id` string
- `limit` integer
- `offset` string
- `features` string

## Headers

- `x-api-key` string, required

## Response `200`

OK

- SubwayNearbyResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` SubwayNearbyResponse
    - `count` integer
    - `fetched_at` string
    - `next_offset` string: NextOffset pages through TotalResults -- pass it back as offset on the next call. Upstream does not signal "last page" explicitly; compare count/total_results, or stop once a page returns fewer stores than requested.
    - `source_url` string
    - `stores` SubwayNearbyStore[]
      - `address` SubwayStoreAddress
        - `city` string
        - `country` string
        - `postal_code` string
        - `region` string
        - `street` string
      - `can_take_online_orders` boolean
      - `catering_url` string
      - `distance_miles` number: DistanceMiles is measured from the requested coordinate/query.
      - `features` string[]: Features lists which of the seven documented filter values this store actually has -- the same tokens the features query param accepts as input.
      - `hours` SubwayStoreHours[]
        - `closed` boolean
        - `closes` string
        - `day_of_week` string
        - `opens` string
        - `segments` SubwayTimeSegment[]
          - `closes` string
          - `opens` string
      - `is_open_now` boolean
      - `latitude` number
      - `longitude` number
      - `payment_methods` string[]
      - `phone_number` string
      - `store_id` string
      - `timezone` string
    - `total_results` integer
  - `msg` unknown

## Other responses

- `400`: Bad Request
- `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)
