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

> Search eXp Realty property listings by location with pagination, and access detailed information like images, agent contacts, and property history for any listing. Discover new locations and browse available homes all in one integrated experience.

**Category:** Real Estate | **Website:** [exprealty.com/](https://exprealty.com/) | **Docs:** [parse.bot/marketplace/fedb4e36-82a3-4a3a-8153-3c64422f17b1/exprealty-com-api](https://parse.bot/marketplace/fedb4e36-82a3-4a3a-8153-3c64422f17b1/exprealty-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/exprealty/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Discover location

Discover slugs for locations (cities, neighborhoods, listings) matching a query. Returns predictions that can be used as input to search_listings or get_property_details. Each prediction includes a type, group, label, and url_path for navigation.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query for location discovery (e.g. 'Austin, TX', 'Miami, FL') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/exprealty/discover-location \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### Get property details

Get full details for a specific property including listing info, price history, agent contacts, description, and appraisal data. Provide either listing_url (the absolute path from search_listings results), or both city_slug and property_slug. Returns rich property data including images, square footage, agent info, and neighbourhood statistics.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city_slug` | string | No | The city/area slug (e.g. 'austin-tx-real-estate'). Required if listing_url is not provided. |
| `listing_url` | string | No | Absolute path of the property listing from search_listings results' listing_url_absolute_path field (e.g. '/austin-tx-real-estate/apache-shores-sec-02/2308-rain-water-dr') |
| `property_slug` | string | No | The neighbourhood and property path segments joined by slash (e.g. 'apache-shores-sec-02/2308-rain-water-dr'). Required if listing_url is not provided. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/exprealty/get-property-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"city_slug":"<string>","listing_url":"<string>","property_slug":"<string>"}'
```

### Search listings

Search for property listings by location query or slug. Supports pagination. Either query or slug must be provided. When query is used, it first resolves to a slug via discover_location internally. Returns listing summaries with address, price, bedrooms, bathrooms, and navigation paths for detail lookups.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | No | Location query (e.g. 'Austin, TX'). Used to auto-discover a slug if slug is not provided. |
| `slug` | string | No | Area slug for the location (e.g. 'austin-tx-real-estate'). Can be obtained from discover_location results' url_path field. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/exprealty/search-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>","slug":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.