# 99acres — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.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.

> 99acres provides 3 callable API endpoints through the Parse marketplace.

**Category:** Real Estate | **Website:** [99acres.com/](https://99acres.com/) | **Docs:** [parse.bot/marketplace/00ed32de-ec22-4522-830e-8bbfd80e9e46/99acres-com-api](https://parse.bot/marketplace/00ed32de-ec22-4522-830e-8bbfd80e9e46/99acres-com-api)

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

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/99acres/`
**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

### Get project detail

Get details of a real estate project including configurations, pricing, RERA details, and USPs. Searches the project's city listings to find the project by ID extracted from the URL. The URL must contain a project ID in the format -npxid-r<id>. Requires multiple page fetches internally so is slower than search endpoints.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Project URL containing the project ID in the format ...-npxid-r<id> (e.g., https://www.99acres.com/ivory-county-sector-115-noida-npxid-r400436). Obtain URLs from search_projects results. |

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

### Search projects

Search for new launch or under-construction real estate projects in a given Indian city. Returns a paginated list of projects with basic details including builder name, price range, RERA number, and a details URL for drill-down via get_project_detail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | No | City to search in, hyphenated for multi-word names (e.g., noida, mumbai, bangalore, gurgaon) |
| `page` | integer | No | Page number for pagination |

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

### Search properties

Search for real estate properties for sale or rent in a specific Indian city. Returns a paginated list of properties with details including price, area, bedrooms, locality, and seller info. Filters by transaction type, property type, bedrooms, and price range. Results are ordered by the site's default relevance ranking.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bedrooms` | string | No | Number of bedrooms filter, comma-separated values (e.g., 2,3) |
| `location` | string | No | City or locality to search in, hyphenated for multi-word names (e.g., noida, mumbai, bangalore, gurgaon, navi-mumbai, greater-noida) |
| `max_price` | integer | No | Maximum price filter in INR |
| `min_price` | integer | No | Minimum price filter in INR |
| `page` | integer | No | Page number for pagination |
| `property_type` | string | No | Type of property |
| `transaction_type` | string | No | Type of transaction |

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

## Next steps

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