# Spotangels — 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.

> Find real-time parking availability, pricing, and deals across supported cities by searching locations or addresses, with options to filter by parking type (hourly, monthly, free, or garages). Get detailed information about specific parking spots including rates and locations to make informed parking decisions on the go.

**Category:** Maps & Geospatial | **Website:** [spotangels.com/](https://spotangels.com/) | **Docs:** [parse.bot/marketplace/923ed55e-f213-44f2-9bf2-007e377854de/spotangels-com-api](https://parse.bot/marketplace/923ed55e-f213-44f2-9bf2-007e377854de/spotangels-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-spotangels-com-api-923ed55e/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### geocode_address

Resolve an address or location name to geographic coordinates. Returns up to 5 candidate results ranked by relevance.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Address or location name to geocode (e.g., 'San Francisco' or 'Times Square, New York') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-spotangels-com-api-923ed55e/geocode_address \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### get_free_parking_near_location

Find free-of-charge parking spots near a location. Filters search results for spots with type 'free'. Returns an empty array if no free spots exist in the area.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `latitude` | number | Yes | Latitude |
| `longitude` | number | Yes | Longitude |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-spotangels-com-api-923ed55e/get_free_parking_near_location \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latitude":"<number>","longitude":"<number>"}'
```

### get_garage_deals

Retrieve parking spots with active deals near a location. Filters search results for spots that have deal or deals information attached.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `latitude` | number | Yes | Latitude |
| `longitude` | number | Yes | Longitude |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-spotangels-com-api-923ed55e/get_garage_deals \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latitude":"<number>","longitude":"<number>"}'
```

### get_hourly_parking_near_location

Get hourly parking spots near a location. Equivalent to search_parking_by_location with monthly=false. Returns bookable garages with hourly pricing.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `latitude` | number | Yes | Latitude |
| `longitude` | number | Yes | Longitude |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-spotangels-com-api-923ed55e/get_hourly_parking_near_location \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latitude":"<number>","longitude":"<number>"}'
```

### get_monthly_parking_near_location

Get monthly parking options near a location. Returns garages offering monthly rates with down payment and availability information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `latitude` | number | Yes | Latitude |
| `longitude` | number | Yes | Longitude |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-spotangels-com-api-923ed55e/get_monthly_parking_near_location \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latitude":"<number>","longitude":"<number>"}'
```

### get_parking_spot_details

Retrieve detailed information for a specific parking spot including calendar, pictures, crowdsource info, and deal pricing. Both from_time and to_time must be provided together; providing from_time alone may cause an upstream error.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `from_time` | string | No | Start time in ISO 8601 format. Must be provided together with to_time; providing from_time alone causes an upstream error. |
| `spot_id` | string | Yes | The parking spot ID (numeric string, e.g. '1056656'). Obtainable from search_parking_by_location or search_parking_by_address results[*].id. |
| `to_time` | string | No | End time in ISO 8601 format. Can be provided alone or together with from_time. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-spotangels-com-api-923ed55e/get_parking_spot_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"from_time":"<string>","spot_id":"<string>","to_time":"<string>"}'
```

### get_supported_cities

Get list of supported cities where SpotAngels has parking data available.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-spotangels-com-api-923ed55e/get_supported_cities \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_parking_by_address

Search for parking spots near a text address. Geocodes the address to coordinates then searches for nearby parking options with a 2-hour default window.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Address or location name to search near (e.g., 'Times Square, New York') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-spotangels-com-api-923ed55e/search_parking_by_address \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### search_parking_by_location

Search for parking spots near a given lat/lng coordinate. Returns bookable garages and parking options with pricing, walking time, and deal information. Defaults to a 2-hour window starting now if times are not specified.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `from_time` | string | No | Start time in ISO 8601 format (e.g., 2026-05-15T10:00:00.000Z). Defaults to now. |
| `latitude` | number | Yes | Latitude of the location |
| `longitude` | number | Yes | Longitude of the location |
| `monthly` | boolean | No | If true, search for monthly parking options instead of hourly |
| `to_time` | string | No | End time in ISO 8601 format (e.g., 2026-05-15T12:00:00.000Z). Defaults to 2 hours from now. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-spotangels-com-api-923ed55e/search_parking_by_location \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"from_time":"<string>","latitude":"<number>","longitude":"<number>","monthly":"<boolean>","to_time":"<string>"}'
```
