# Pinballmap — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access data from pinballmap.com.

**Category:** Maps & Geospatial | **Website:** [pinballmap.com/](https://pinballmap.com/) | **Docs:** [parse.bot/marketplace/833bcb8a-9014-4655-80f3-26c6baf6bed7/pinballmap-com-api](https://parse.bot/marketplace/833bcb8a-9014-4655-80f3-26c6baf6bed7/pinballmap-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-pinballmap-com-api-833bcb8a/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_location

Get full details of a pinball location by its numeric ID. Returns address, coordinates, contact info, hours/description, last-updated metadata, and the machine lineup with per-machine condition comments and timestamps.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location_id` | string | Yes | Numeric location ID (from search_locations results). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pinballmap-com-api-833bcb8a/get_location \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location_id":"<string>"}'
```

### get_location_machines

Get the catalog details (name, year, manufacturer, IPDB/OPDB identifiers) for every machine at a location. Complements get_location which returns placement metadata (conditions, timestamps) but not the full machine catalog entry.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location_id` | string | Yes | Numeric location ID (from search_locations results). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pinballmap-com-api-833bcb8a/get_location_machines \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location_id":"<string>"}'
```

### search_locations

Search for pinball locations within a radius of a city/address or geographic coordinates. Returns locations sorted by distance, each with address, coordinates, machine count, machine names, and last-updated date. When no locations match, returns an empty list. The by_machine_name filter requires the canonical machine title (e.g. 'The Addams Family', 'The Munsters (Pro)') — partial matches are not supported.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `address` | string | No | City, address, or place name to search near (e.g. 'Portland, OR', 'Seattle, WA'). Either address or both lat and lon must be provided. |
| `lat` | string | No | Latitude of search center (e.g. '45.5231'). Must be provided together with lon if address is omitted. |
| `lon` | string | No | Longitude of search center (e.g. '-122.6765'). Must be provided together with lat if address is omitted. |
| `machine_id` | string | No | Filter results to locations that have this machine by numeric ID (from get_location_machines results). |
| `machine_name` | string | No | Filter results to locations that have this machine title. Must be the canonical machine name (e.g. 'The Addams Family', 'The Munsters (Pro)'). |
| `max_distance` | string | No | Maximum search radius in miles. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-pinballmap-com-api-833bcb8a/search_locations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address":"<string>","lat":"<string>","lon":"<string>","machine_id":"<string>","machine_name":"<string>","max_distance":"<string>"}'
```
