99acres City & BHK Property Listing Scraper
Search 99acres by city, BHK size, property type, locality, and price range to get structured buy and rent listings across 25 major Indian cities, with price, area, location, and poster details.
Open in Apify Store$0.99 / 1K on Free
Short answer
99acres City & BHK Property Listing Scraper is an Apify Store Actor for 99acres data that returns 15 published output fields, including title, price, priceValue, area. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 14 input settings; 2 are required (mode, city). It covers 7 of the 7 core 99acres fields this site tracks. Last updated Oct 23, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
15 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
titlepricepriceValueareaareaSqftbedroomspropertyTypecitylocalitysellerTypepostedAtlatitudelongituderecordTypepropertyUrl
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | Yes | searchForSale | Search properties for sale or for rent. |
| city | string | Yes | Delhi | Indian city to search in. |
| propertyType | string | No | Residential Apartment | Residential property type to search for. |
| bedrooms | string | No | – | Number of bedrooms. Choose '5+' for five or more. |
| locality | string | No | – | Optional locality or sector name within the city, e.g. 'Sector 43'. The actor looks up the 99acres locality ID. |
| localities | array | No | – | Optional list of locality names; each is resolved to a 99acres locality ID. |
| priceMin | integer | No | – | Minimum price in Indian Rupees. Applied while scanning pages because 99acres ignores price query parameters. |
| priceMax | integer | No | – | Maximum price in Indian Rupees. Applied while scanning pages because 99acres ignores price query parameters. |
| furnishing | string | No | – | Filter by furnishing status. |
| sortBy | string | No | relevance | Result order. 'Newest' is 99acres' recently-updated order (updatedAt), not the original posting date (postedAt). |
Show the other 4 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| includeProjects | boolean | No | true | Include new-launch project cards alongside individual listings. Project rows have recordType 'project'. |
| includeDetails | boolean | No | false | Fetch each property's detail page for RERA numbers, amenity labels, carpet area, floor, furnishing details, and coordinates. Off by default because it adds one residential request per property. |
| searchUrls | array | No | – | Optional 99acres search URLs: /property-in-<city>-ffid?... or /<n>-bhk-flats-in-<city>-ffid?... When provided, city and filter fields are ignored. |
| maxItems | integer | No | 50 | Maximum number of property and project records to return. |
Example input
Built from the input form's published example values and defaults.
{
"mode": "searchForRent",
"city": "Noida",
"propertyType": "Residential Apartment",
"bedrooms": "2",
"sortBy": "relevance",
"includeProjects": false,
"includeDetails": false,
"maxItems": 3
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "searchForRent",
"city": "Noida",
"propertyType": "Residential Apartment",
"bedrooms": "2",
"sortBy": "relevance",
"includeProjects": False,
"includeDetails": False,
"maxItems": 3
}
run = client.actor("dataspryva/99acres-city-and-bhk-property-listing-scraper").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "searchForRent",
"city": "Noida",
"propertyType": "Residential Apartment",
"bedrooms": "2",
"sortBy": "relevance",
"includeProjects": false,
"includeDetails": false,
"maxItems": 3
};
const run = await client.actor("dataspryva/99acres-city-and-bhk-property-listing-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/dataspryva~99acres-city-and-bhk-property-listing-scraper/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"searchForRent","city":"Noida","propertyType":"Residential Apartment","bedrooms":"2","sortBy":"relevance","includeProjects":false,"includeDetails":false,"maxItems":3}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=dataspryva/99acres-city-and-bhk-property-listing-scraper",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among 99acres routes
It ranks 1 of 1 catalogue Actors for 99acres on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 99acres City & BHK Property Listing Scraper 15 output fields, pay per event 7 of 7 core fields
$0.99 / 1K - + 6 other Store tools, combined Reference only 7 of 7 core fields
from $2.50 / 1K - API No public listing API No open API fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: No public listing API
No open API. 99acres does not publish a general public property API.
Not applicable.
Other Store tools for 99acres
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| 99acres Property Scraper | 21 | $2.50 |
| 99acres Property Search Scraper | 120 | $3.00 |
| 99acres India Scraper | 11 | $3.00 |
| MagicBricks & 99acres Property Data Scraper | 28 | $3.00 |
| 99acres Scraper | 14 | $3.49 |
What people use it for
- Find sale and rental listings
- Analyze property prices
Similar Actors
Indian Property Listings Finder by City & BHK
Search sale and rental property listings across 31 Indian cities by BHK, property type, locality and price band, with area, poster identity and…
Brazil Rental & Sale Listings by City (QuintoAndar)
Search Brazilian rental and sale property listings by city and transaction type: price breakdown, bedrooms, bathrooms, area, furnishing, and…
Fotocasa Spain Sale & Rental Listings Scraper
Search Fotocasa listings for sale or rent across Spain by city, property type, price range, and bedrooms. Each result includes price, size,…
VivaReal Colombia Real Estate Listings by City & Price
Search VivaReal Colombia for properties for sale or rent by city, neighborhood, property type, price range, bedrooms, and area, and get back…
Zillow Distressed Property Finder by City or ZIP
Find foreclosure, pre-foreclosure, bank-owned, and auction properties on Zillow by city, neighborhood, or ZIP, with price, Zestimate, tax value,…
Zillow Property Manager Directory by City
Search Zillow's property manager directory by city/state, or read specific profile URLs directly. Returns business name, contact details, ratings,…
Questions people ask
How much does 99acres City & BHK Property Listing Scraper cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does 99acres City & BHK Property Listing Scraper return?
Its published output schema lists 15 fields: title, price, priceValue, area, areaSqft, bedrooms, propertyType, city, locality, sellerType, postedAt, latitude, and 3 more. A listed field is not guaranteed to be filled in every row.
What input does 99acres City & BHK Property Listing Scraper need?
Required: mode, city. Optional settings include propertyType, bedrooms, locality, localities, priceMin, priceMax.
How do I run 99acres City & BHK Property Listing Scraper from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("dataspryva/99acres-city-and-bhk-property-listing-scraper").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("dataspryva/99acres-city-and-bhk-property-listing-scraper").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/dataspryva~99acres-city-and-bhk-property-listing-scraper/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- 99acres City & BHK Property Listing Scraper on Apify Store
- Published build with input and output schema (JSON)
- No public listing API documentation
Cite this page
Scraper Finder. "99acres City & BHK Property Listing Scraper." https://scraperfinder.com/catalogue/99acres-city-and-bhk-property-listing-scraper/ (data checked 2026-11-12).
Run 99acres City & BHK Property Listing Scraper
$0.99 per 1,000 results. Paste the example input above, set your 99acres query, then export the dataset. Still choosing? Compare every 99acres route.