# warematch API

Public HTTPS endpoint: https://warematch.api.whox.ai/v1/

Documentation: https://warematch.api.whox.ai/docs

OpenAPI3.1 schema: https://warematch.api.whox.ai/openapi.json

JSON schemas: https://warematch.api.whox.ai/schema.json

No WHOX account, API key or Dot ID is required for these public read operations.

| Operation | Arguments | Result fields |
| --- | --- | --- |
| `search` | `page` (number, optional), `page_size` (number, optional), `location` (string, optional), `country` (string, optional), `state` (string, optional), `city` (string, optional), `lat` (number, optional), `lng` (number, optional), `radius` (number, optional), `is_map` (boolean, optional), `is_initial` (boolean, optional), `nearby_states` (string, optional), `south` (number, optional), `north` (number, optional), `west` (number, optional), `east` (number, optional), `square_footage_min` (number, optional), `square_footage_max` (number, optional), `pallets_min` (number, optional), `amenities` (string, optional), `services` (string, optional), `freight_services` (string, optional), `fulfillment` (string, optional), `retail_integrations` (string, optional), `temperature_controlled` (string, optional), `storage_condition` (string, optional), `technologies` (string, optional), `specialized_category_id` (string, optional), `specialized_product_id` (string, optional), `whitelabel_ids` (string, optional), `is_rail_sided` (boolean, optional), `strict_service` (boolean, optional), `strict_freight` (boolean, optional), `strict_fulfillment` (boolean, optional), `strict_retail` (boolean, optional), `strict_temp` (boolean, optional), `strict_cert` (boolean, optional), `strict_tech` (boolean, optional), `strict_specialized` (boolean, optional), `strict_amenity` (boolean, optional), `get_premium` (boolean, optional), `price_per_standard_pallet_stackable_per_month_max` (number, optional) |  |
| `amenities` |  |  |
| `services` |  |  |
| `freight-services` |  |  |
| `fulfillment-types` |  |  |
| `retail-integrations` |  |  |
| `temperature-controls` |  |  |
| `certifications` |  |  |
| `technologies` |  |  |
| `industries` |  |  |
| `partners` | `page` (number, optional), `search` (string, optional) |  |

Call with GET query parameters or POST application/json. POST invokes the same read operation; it does not change the upstream site.

```sh
curl --get https://warematch.api.whox.ai/v1/search
```

Responses contain `ok`, `service`, `operation`, `data`, and `meta` (source, duration, cache freshness and definition version). Errors contain `ok:false` and `error.code/message`. See openapi.json for full input, response, validation and error schemas.

Limits:60 requests/minute/client,4 concurrent upstream requests,15-second upstream deadline,2MiB upstream response limit,30-second successful-read cache. Source rate limits are preserved and return429; unsupported or changed sources return a structured error. Credentials, account sessions and authenticated writes are not shared.

## Service guide

All 11 marketplace filter groups are supported: Space Requirements, Amenities, Value-Add Services, Freight Services, Fulfillment Type, Retail Integrations, Temperature Control, Certifications, Technologies, Industry Specialization, Partners.

Quick filters are search parameter recipes:
{
  "rail_sided": {
    "is_rail_sided": true
  },
  "shopify": {
    "technologies": "8b1a9424-e326-4a60-903f-9f424f5af7d6"
  },
  "amazon_fba": {
    "fulfillment": "267e3805-5b4a-4de7-aacc-b4e567612765"
  },
  "tiktok_shop": {
    "fulfillment": "e40b9449-dfe3-4138-9364-8a81e40d958f"
  }
}

Call GET /v1/search or POST /v1/search with a JSON object. Example radius search: {"lat":40.6023,"lng":-75.4714,"radius":50,"is_map":false,"temperature_controlled":"0ae0cba5-61df-46a3-8292-95e3641e7ca6"}. Radius uses the source geographic-distance search, not road mileage or drive time. Never describe a location-text result as within a radius without using these geographic arguments.

Use the live lookup endpoints before selecting IDs. Combine groups freely. Each strict_* flag defaults to true (ALL values within that group); false means ANY. Keep filter arguments when incrementing page. Source next/previous links are upstream URLs, not WHOX URLs. The current source lists 565 public warehouse records; that number changes over time.

Example: curl --get 'https://warematch.api.whox.ai/v1/search' --data-urlencode 'location=Allentown'
Example: curl 'https://warematch.api.whox.ai/v1/temperature-controls'
Full filter snapshot: /filters.json. The endpoint lookups return live source data (30-second cache). Partner results use profile.id as the filter value; top-level company IDs will not match.

Numeric-capacity warning: Warematch can return a record with zero/null/below-minimum available capacity even when pallets_min or square_footage_min is requested. Such rows are retained as source results and identified in meta.sourceWarnings, with record IDs and reported values. The source count is not a certified capacity-match count. Never treat a warned record as meeting the requested capacity without checking. Radius searches require lat/lng/radius together; is_map defaults to false for them. Whole-number pagination and capacity parameters are enforced.

Only public marketplace reads are exposed. Warematch login-only details, quoting, bookings and account actions are outside this API. Listings, capabilities, capacity and pricing are source-reported; missing fields remain null. Source changes and rate limits can affect availability. Captured 2026-11-07T19:14:08.946Z.
