# Ddproperty — 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 and browse property listings across Thailand for both sale and rent, view detailed property information, explore locations, and calculate mortgage payments to help with your real estate decisions.

**Category:** Real Estate | **Website:** [ddproperty.com/](https://ddproperty.com/) | **Docs:** [parse.bot/marketplace/52d53f3d-3b0b-44e9-a95e-befb6a6caf2a/ddproperty-com-api](https://parse.bot/marketplace/52d53f3d-3b0b-44e9-a95e-befb6a6caf2a/ddproperty-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/ddproperty/`
**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

### Calculate mortgage

Calculate estimated monthly mortgage payments based on property price and loan parameters. Performs standard amortization calculation. No network call is made; all computation is local. Useful for generating payment estimates alongside property search results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `downpayment_pct` | number | No | Down payment percentage (0-100) |
| `interest_rate` | number | No | Annual interest rate percentage |
| `price` | number | Yes | Property price in THB |
| `tenure_years` | integer | No | Loan tenure in years |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/ddproperty/calculate-mortgage \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"downpayment_pct":"<number>","interest_rate":"<number>","price":"<number>","tenure_years":"<integer>"}'
```

### Get location suggestions

Get MRT/BTS transit station suggestions matching a search query. Searches across all transit lines in Thailand (MRT Blue Line, BTS Sukhumvit/Silom lines, Airport Rail Link, etc.) and returns stations whose name contains the query string. Each result includes station ID, line info, and GPS coordinates.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query for station name (e.g. 'Sukhumvit', 'Ari', 'Silom') |

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

### Get property detail

Get full details of a specific property listing by its URL slug. Returns comprehensive property information including price, description, amenities, facilities, agent details, floor and land area, and address. The slug is extracted from listing URLs returned by search endpoints (the path segment after /property/).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Property URL slug identifying a specific listing, extracted from the url field of search results (e.g. 'chivani-pattaya-for-rent-500302429') |

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

### Search properties for rent

Search properties for rent in Thailand. Supports free-text location search, price range, and bedroom count. Returns paginated rental listings ordered by recency. Each listing includes monthly rent, location, bedroom/bathroom count, and agent contact. Pagination via page number.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bedrooms` | string | No | Number of bedrooms filter |
| `freetext` | string | No | Search keyword such as location name or property name |
| `max_price` | string | No | Maximum monthly rent filter in THB |
| `min_price` | string | No | Minimum monthly rent filter in THB |
| `page` | integer | No | Page number for pagination |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/ddproperty/search-properties-for-rent \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"bedrooms":"<string>","freetext":"<string>","max_price":"<string>","min_price":"<string>","page":"<integer>"}'
```

### Search properties for sale

Search properties for sale in Thailand. Supports free-text location search, property type filtering, price range, and bedroom count. Returns paginated listings ordered by recency. Each listing includes price, location, bedroom/bathroom count, and agent contact. Pagination via page number; total_pages in the response indicates the last available page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bedrooms` | string | No | Number of bedrooms filter |
| `freetext` | string | No | Search keyword such as location name or property name |
| `max_price` | string | No | Maximum price filter in THB |
| `min_price` | string | No | Minimum price filter in THB |
| `page` | integer | No | Page number for pagination |
| `property_type` | string | No | Property type group code |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/ddproperty/search-properties-for-sale \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"bedrooms":"<string>","freetext":"<string>","max_price":"<string>","min_price":"<string>","page":"<integer>","property_type":"<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.