---
title: "Search facilities by name, address, zip code, city/state, website domain, or coordinates"
method: GET
path: "/facilities"
---

# Search facilities by name, address, zip code, city/state, website domain, or coordinates

`GET /facilities`

Unified facility search. Provide at least one of: non-empty **`name`**, non-empty **`address`**, **`zip_code`**, non-empty **`website_domain`**, or both **`city`** and **`state`** (then use **`radius`** around the geocoded point). You may also pass **`location`** as `latitude,longitude` for radius search instead of city/state.
Optionally include lane data per facility with **`include_lanes=true`**. Lanes can be filtered by **`min_distance`** (miles from facility) and **`direction`** (compass direction). Filters are applied before the **`top_n`** limit.

## Pagination

When results exceed 100 facilities, the response is paginated using opaque cursor-based pagination. The `Link` response header contains a next-page URL with a `cursor` parameter. Follow that URL to retrieve subsequent pages. The `X-Total-Count` header shows the total matching facilities across all pages. Pagination is not supported with `smart_search=true`.
See component schema **FacilitiesQueryCriteria** for the full parameter model and validation shape.
Historical path `/find_facilities` exposes the same search behavior and is documented here as **`/facilities`** for a single contract.

## Query parameters

- `name` string
- `address` string
- `city` string
- `state` string
- `website_domain` string
- `location` string
- `radius` number
- `lot_size_category` string
- `limit` integer
- `facility_type` string
- `intermodal_drayage` string
- `include_lanes` boolean
- `top_n` integer
- `min_distance` number
- `direction` 'N' | 'S' | 'E' | 'W' | 'NE' | 'NW' | 'SE' | 'SW'
- `zip_code` string
- `cursor` string

## Headers

- `accept` string, required
- `Access-Token` string, required
- `x-api-key` string, required

## Response `200`

List of facilities

- Facility[] — Array of facility objects (see FacilitiesQueryCriteria for query rules).
  - `contact_phone` string, nullable
  - `contact_url` string, nullable
  - `facility_name` string, required
  - `formatted_address` string, required
  - `id` string, required
  - `lat` number, required
  - `lon` number, required
  - `operating_hours` string, nullable
  - `place_category` string, required
  - `equipment_pairings` string[], nullable — Equipment types paired with this facility based on observed carrier activity. Values are Title Case display strings (e.g. "Dry Van", "Box Truck", "Reefer"). Empty array when no pairing data is available.
  - `inbound_lanes` FacilityLane[] — Top inbound lanes ranked by weight (only present when `include_lanes=true`).
    - `city` string, required — Largest city in the H3 hexagon.
    - `state` string, required — US state of the lane destination.
    - `weight` number, required — Ranking signal from the network GeoJSON (higher = stronger lane).
    - `visit_share` string, required — Bucketed visit share percentage (e.g. "15-20%").
    - `hexagon_id` string, required — H3 hexagon index for the lane destination.
    - `distance_miles` number, nullable — Distance in miles from the facility to the lane destination (present when min_distance or direction is provided).
    - `direction` string, nullable — Compass direction of the lane from the facility (e.g. "NE", "SW"). Present when min_distance or direction filter is provided.
  - `outbound_lanes` FacilityLane[] — Top outbound lanes ranked by weight (only present when `include_lanes=true`).
    - `city` string, required — Largest city in the H3 hexagon.
    - `state` string, required — US state of the lane destination.
    - `weight` number, required — Ranking signal from the network GeoJSON (higher = stronger lane).
    - `visit_share` string, required — Bucketed visit share percentage (e.g. "15-20%").
    - `hexagon_id` string, required — H3 hexagon index for the lane destination.
    - `distance_miles` number, nullable — Distance in miles from the facility to the lane destination (present when min_distance or direction is provided).
    - `direction` string, nullable — Compass direction of the lane from the facility (e.g. "NE", "SW"). Present when min_distance or direction filter is provided.

## Other responses

- `400` — Validation error (missing search criteria, invalid parameters, or invalid cursor)

---

[API](https://skmtc.net/genlogs/apis/auth-api-create-token.md) · [All operations](https://skmtc.net/genlogs/apis/auth-api-create-token/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/genlogs/auth-api-create-token/versions/bf34c2431a21/schema)
