# Public API

> The EscortFox Public API v1: read-only JSON endpoints for countries, cities, districts, services and listing summaries, with an OpenAPI 3 description. No API key.

Source: https://escortfox.com/developers/api. Index of all EscortFox developer docs: https://escortfox.com/developers/llms.txt

Base URL `https://api.escortfox.com`. JSON over HTTPS, no authentication, CORS open to any origin (GET, no credentials). The full contract is the OpenAPI 3 description at [https://api.escortfox.com/public/v1/openapi.yaml](https://api.escortfox.com/public/v1/openapi.yaml).

## Endpoints

- `GET /public/v1/countries`: Countries with active listings.
- `GET /public/v1/cities?country=DE`: Cities of a country with active listings (country may also be a region such as US-IL).
- `GET /public/v1/cities/{country}/{city}/districts`: Districts of a city.
- `GET /public/v1/services`: The service vocabulary used by the service filter.
- `GET /public/v1/listings`: Search one city: type (escort, venue, agency), country, city, and optionally district, service, verified, lang, page (0–4).
- `GET /public/v1/listings/{id}`: One listing summary.
- `GET /public/v1/openapi.yaml`: The OpenAPI 3 description of all of the above.

## Example

Escorts in London, first page:

```sh
curl "https://api.escortfox.com/public/v1/listings?type=escort&country=GB&city=london"
```

## Parameters

Countries use the ISO 3166-1 alpha-2 code (`GB`, `DE`); cities, districts and services use the `slug` returned by the list endpoints. `lang` picks the language of the teaser and of the returned URL.

Every listing comes back as a summary with its `url` on escortfox.com; contact details, full descriptions and galleries are only on the website. Use of the API is subject to the [limits and terms of use](https://escortfox.com/developers/limits.md).
