99acres Property Scraper - India Homes for Sale & Rent
Pricing
from $1.50 / 1,000 results
99acres Property Scraper - India Homes for Sale & Rent
Scrapes property listings from 99acres (99acres.com): price, area, bedrooms, bathrooms, locality, coordinates, furnishing, seller, photos and posting dates. Search by city, search URL or listing URL, for sale or rent, with automatic splitting of large searches.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
ActorFlow
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share

Scrape property listings from 99acres (99acres.com), India's largest real estate portal, and export them as JSON, CSV or Excel, or call the scraper as an API. Get price, area, bedrooms, bathrooms, locality, coordinates, furnishing, seller, photos and posting dates for flats, houses, villas and plots for sale or rent. Paste a search URL or type a city, press Start and get clean, structured rows.
Target website: 99acres.com
✨ Features of this 99acres property scraper
- Property listing extraction — price in rupees and as shown on the site, price per sq.ft., area, bedrooms, bathrooms, floor, locality, society, coordinates, seller type, RERA and verified flags, tags, photos and videos.
- Search by city or URL — pick a city, deal type (resale or rent) and bedrooms, or paste any 99acres search results page or single listing page.
- Pagination support — walks through the result pages of a search up to your item limit.
- Large search splitting — the site shows at most 1,750 results per search, so bigger searches are split automatically by property type, then bedrooms, then budget to get past that cap.
- Cache for new listings — reuse a cache project name to get only new listings and price changes.
- Proxy support — runs through Indian residential proxies, which the site needs.
- No browser required — pages are loaded directly, which keeps runs fast.
🚀 How to scrape 99acres property listings in 5 steps
- Sign up for a free Apify account — includes $5 monthly credit.
- Open the actor page and click Try for free.
- Fill in the Input fields (a search URL or a city is required).
- Click Start and wait for the run to complete.
- Download results from the Output tab in JSON, CSV, or Excel format.
You can also run this actor via the Apify API or integrate it directly into your workflows using Zapier, Make, or n8n.
💰 Pricing for the 99acres scraper
This actor uses pay-per-result billing based on the compute units a run consumes.
- New Apify accounts include $5 of free monthly credit.
- Every result page is large and the site only answers Indian residential proxies, so proxy traffic is the main cost. Leaving Scrape listing pages off keeps runs cheapest.
- With a cache project name, listings you already have are skipped and not charged.
🔧 99acres scraper input configuration
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
Search or listing URLs (startUrls) | array | — | https://www.99acres.com/resale-property-in-mumbai-ffid | 99acres search results pages or single listing pages. Filters in the URL are kept. |
Max items per search (maxItems) | integer | — | 5 | Maximum listings saved for each search URL or city. |
Scrape listing pages (scrapeDetails) | boolean | — | false | Open each listing page for overlooking, power backup, water source, parking, open sides and seller history. |
Cache project name (cacheProjectName) | string | — | — | Reuse the same name on each run to get only new listings and price changes. |
City (city) | string | — | — | Search a whole city, for example Mumbai or Pune. Used with Deal type. |
Deal type (dealType) | string | — | resale | resale for properties for sale, or rent. Applies to City. |
Bedrooms (bedrooms) | integer | — | — | Exactly this many bedrooms, 1 to 5. Applies to City. |
Proxy configuration (proxyConfiguration) | object | — | Apify residential, India | Indian residential proxies are needed. |
Supported URL types:
- Search results (address ends in
-ffid):https://www.99acres.com/resale-property-in-mumbai-ffid,https://www.99acres.com/property-for-rent-in-pune-ffid,https://www.99acres.com/3-bhk-flats-for-rent-in-mumbai-ffid,https://www.99acres.com/residential-land-in-mumbai-ffid - Filters can also be added as parameters, for example
?bedroom_num=2 - Single listing (address ends in
-spid-...):https://www.99acres.com/residential-land-plot-for-sale-in-ranjanpada-mumbai-4719-sqyd-r1-spid-C93087430
📦 99acres scraper output data
The output is a dataset of listings in JSON, CSV or Excel with the fields id, propId, url, title, listingType, propertyType, price, maxPrice, priceText, pricePerSqft, bedrooms, bathrooms, superArea, superAreaUnit, areaText, areaSqft, areaType, carpetAreaSqft, furnishing, facing, availability, floor, totalFloors, description, society, locality, city, latitude, longitude, postedBy, contactName, companyName, verified, reraRegistered, tags, highlights, images, videos, postedAt, updatedAt, expiresAt, changeType, previousPrice, searchUrl and scrapedAt. With Scrape listing pages on, each record also gets overlooking, powerBackup, waterSource, reservedParking, openSides, sellerMemberSince and sellerAbout. There is 1 output view.
- Overview — a compact table with ID, title, sale or rent, price, bedrooms, bathrooms, area, locality, city, change type and link.
Output at a glance:
| Listing | Type | Price | Beds | Baths | Area | Locality | Posted by |
|---|---|---|---|---|---|---|---|
| 2 BHK Flat in Sector 25 Khandeshhwar, Navi Mumbai | Apartment | 1.38 Cr | 2 | 2 | 1090 sqft | Navi Mumbai | Dealer |
| Residential land / Plot in Vindhane, Navi Mumbai | Land | 1.62 Cr | — | — | 39203 sqft | Navi Mumbai | Dealer |
| 2 BHK Flat in Andheri West, Mumbai | Apartment | 3.95 Cr | 2 | 2 | 880 sqft | Andheri West | Owner |
| 2 BHK Flat in Vile Parle East, Mumbai | Apartment | 3.7 Cr | 2 | 2 | 782 sqft | Vile Parle East | Owner |
| 3 BHK Flat in Wadala East, Mumbai | Apartment | 4.2 Cr | 3 | 3 | 1098 sqft | Wadala East | Dealer |
Sample output (raw JSON):
[{"id": "94734988","propId": "D94734988","url": "https://www.99acres.com/2-bhk-bedroom-apartment-flat-for-sale-in-geomatrix-silver-crest-sector-25-khandeshhwar-navi-mumbai-1090-sqft-spid-D94734988","title": "2 BHK Flat in Sector 25 Khandeshhwar, Navi Mumbai","listingType": "sale","propertyType": "Residential Apartment","price": 13800000,"maxPrice": 13800000,"priceText": "1.38 Cr","pricePerSqft": 12660,"bedrooms": 2,"bathrooms": 2,"superArea": null,"superAreaUnit": null,"areaText": "1090 sqft","areaSqft": 1090,"areaType": "Superbuilt-Up","carpetAreaSqft": 590,"furnishing": "Semifurnished","facing": "North-East","availability": "Ready To Move","floor": 8,"totalFloors": 14,"description": "This is a north-East-Facing property. The flat occupies a super built up area of 1090 sq.Ft. That consists of 2 bedrooms, 2 bathrooms and 2 balconies. The property is located on the 8th floor of a 14 floors tall building. As the property is currently under construction , you can expect to get the possession immediately. The flat comes well built with vitrified flooring options. Proximity to landmarks like close to school, close to railway station, close to market and close to hospital makes this an ideal property for families. Many of the modern amenities being offered, like gymnasium, club house, park, lift(s), security guard and maintenance staff, will provide a pleasant living experience for you.","society": "Geomatrix Silver Crest","locality": "Sector 25 Khandeshhwar","city": "Navi Mumbai","latitude": 19.0100515,"longitude": 73.0993876,"postedBy": "Dealer","contactName": "mr santosh","companyName": "Santosh Property","verified": true,"reraRegistered": false,"tags": ["FEATURED","READY TO MOVE"],"highlights": ["8th out of 14 Floors","Overlooking Main Road"],"images": ["https://imagecdn.99acres.com/media1/42587/17/851757685M-1790833520884.jpg","https://imagecdn.99acres.com/media1/42587/17/851757675M-1790833507540.jpg"],"videos": ["https://www.youtube.com/watch?v=KmzRywbcQkA"],"postedAt": "2026-10-01T05:39:24.000Z","updatedAt": "2026-10-01T06:13:55.000Z","expiresAt": "2026-11-30T00:00:00.000Z","changeType": null,"previousPrice": null,"searchUrl": "https://www.99acres.com/resale-property-in-mumbai-ffid","scrapedAt": "2026-10-20T15:00:38.274Z"},{"id": "91536558","propId": "P91536558","url": "https://www.99acres.com/residential-land-plot-for-sale-in-vindhane-navi-mumbai-4356-sqyd-r1-spid-P91536558","title": "Residential land / Plot in Vindhane, Navi Mumbai","listingType": "sale","propertyType": "Residential Land","price": 16200000,"maxPrice": 16200000,"priceText": "1.62 Cr","pricePerSqft": 413,"bedrooms": null,"bathrooms": 0,"superArea": 36,"superAreaUnit": "guntha","areaText": "39203 sqft","areaSqft": 39203,"areaType": "Super","carpetAreaSqft": null,"furnishing": null,"facing": "North","availability": "Ready To Move","floor": null,"totalFloors": 18,"description": "The land, situated 7-8 km from navi mumbai international airport, is part of mmrda's ambitious phase 1 and 2 development plans, spanning 124 villages. With strong infrastructure support, the area is well-Connected by the local railway network (Seawoods to uran) and is set to benefit from key upcoming projects like the multi-Modal corridor, atal setu mthl sea link, and a sanctioned metro. This strategic location is poised for transformation into a high-Tech city and tech hub, fostering economic growth and enhancing regional connectivity.","society": "crescera group","locality": "Vindhane","city": "Navi Mumbai","latitude": 18.897588,"longitude": 73.044931,"postedBy": "Dealer","contactName": "Rahul","companyName": "Crescera","verified": false,"reraRegistered": false,"tags": ["FEATURED","NORTH FACING"],"highlights": ["Gated Society","3+ side open"],"images": ["https://imagecdn.99acres.com/media1/38457/12/769152486M-1780228961660.jpg","https://imagecdn.99acres.com/media1/38457/12/769152460M-1780228961641.jpg"],"videos": ["https://www.youtube.com/watch?v=3nLMFZJVSyU"],"postedAt": "2026-05-31T12:02:41.000Z","updatedAt": "2026-10-04T09:19:21.000Z","expiresAt": "2026-12-03T00:00:00.000Z","changeType": null,"previousPrice": null,"searchUrl": "https://www.99acres.com/resale-property-in-mumbai-ffid","scrapedAt": "2026-10-20T15:00:38.274Z"}]
🔁 Scrape only new 99acres listings with the cache
Set the same Cache project name on every scheduled run. Listings already saved under that name are skipped, not charged and not counted towards Max items, so each run returns only what is new. Each record gets changeType: "new", or changeType: "price_change" with the previousPrice when a listing you already have changed its price. Different cache names keep separate caches. Tip: create an Apify Schedule that runs the actor daily with the same cache name to build a feed of fresh listings.
🐍 How to scrape 99acres with Python, JavaScript or the API
Run the actor programmatically with the official Apify clients. Replace <YOUR_API_TOKEN> with the token from your Apify Console.
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("confidential_gnat/99acres-property-scraper").call(run_input={"startUrls": [{"url": "https://www.99acres.com/resale-property-in-mumbai-ffid"}],"maxItems": 20,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('confidential_gnat/99acres-property-scraper').call({startUrls: [{ url: 'https://www.99acres.com/resale-property-in-mumbai-ffid' }],maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
cURL — start a run and wait for the dataset:
curl -X POST "https://api.apify.com/v2/acts/confidential_gnat~99acres-property-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://www.99acres.com/resale-property-in-mumbai-ffid"}], "maxItems": 20}'
💡 What you can use 99acres property data for
- Price monitoring and price-per-sq.ft. benchmarks by city, locality and property type
- Lead generation for brokers, builders and home-loan providers from fresh listings
- Real estate market research and rental yield analysis across Indian cities
- Alerts for new listings and price drops that match a buyer's budget
- Training datasets for valuation models and property recommendation tools
Real estate investors, brokers, proptech companies, banks and market researchers use this data to track supply and prices across Indian cities.
⚠️ Limitations of the 99acres scraper
- Result cap per search — the site shows at most 1,750 results (70 pages of 25) for one search; the actor works around this by splitting large searches when Max items is above that.
- New projects are left out — builder project cards on search pages are not listings and are skipped; only individual listings are saved. Resale and rent pages return almost only listings.
- No phone numbers — the site hides seller phone numbers from logged-out visitors, so only the seller name and company are returned.
- Result counts vary — the site's reported total for a search can change between requests, so the number of pages found may differ slightly from run to run.
❓ 99acres scraper FAQ
Can I scrape 99acres legally?
The actor only collects data that is already publicly visible on 99acres.com — it never logs in or opens private content. Scraping publicly available data is generally considered lawful (see hiQ Labs v. LinkedIn), but you remain responsible for complying with the site's Terms of Service and applicable laws such as GDPR or India's data protection rules, especially for the seller names in the results.
What data does the 99acres scraper return?
Each listing has price, area, bedrooms, bathrooms, floor, locality, city, coordinates, seller type and name, RERA and verified flags, tags, photos, videos and posting dates. Turning on Scrape listing pages adds overlooking, power backup, water source, parking, open sides and seller history.
How many listings can I scrape from one 99acres search?
Max items per search applies to each start URL or city separately. The site itself shows at most 1,750 results per search, so when you ask for more the actor splits the search by property type, bedrooms and budget and removes duplicates.
Do I need a proxy to scrape 99acres.com?
Yes. The site blocks most IP addresses, so the input defaults to Indian residential proxies. Other proxy types and locations are usually blocked.
How do I scrape 99acres with Python?
Use the Python example above: call the actor with ApifyClient and iterate over the dataset items of the run.
Can I run this 99acres scraper on a schedule?
Yes. Create an Apify Schedule for the actor. Set the same Cache project name on every run to skip listings you already have and receive only new listings and price changes.
What output formats are supported?
JSON, CSV, Excel, XML and RSS, either from the Output tab or through the Apify API.
Why are some 99acres listings missing bedrooms or floor?
Plots and commercial properties have no bedrooms, and some sellers do not fill in floor or facing. Those fields are returned as null.
Is this the cheapest 99 acres property scraper?
Possibly yes as caching will skip previously scraped data across multiple runs when enabled.
🔗 Relevant actors for 99acres property data
| Scraper | Description |
|---|---|
| 🏡 Otodom.pl Property Scraper - Poland Real Estate Listings | Scrapes property listings from Otodom.pl: price, area, rooms, floor and address. |
| 🏘️ QuintoAndar Property Scraper - Brazil Rentals & Homes for Sale | Scrapes rental and sale listings from QuintoAndar, Brazil's property platform. |
| 🏠 Chaves na Mão Property Scraper - Brazil Real Estate Listings | Scrapes property listings for sale and rent from Chaves na Mão (chavesnamao.com.br). |
| 🏠 OnTheMarket Property Scraper - UK Sale, Rent & New Homes | Scrapes UK property listings from OnTheMarket: price, address, bedrooms and agent. |
| 🗽 StreetEasy Updated Scraper | Scrapes New York City apartment listings from StreetEasy with address and price. |
🔗 Other actors you may find useful
| Scraper | Description |
|---|---|
| 🛒 Carousell Products Scraper | Scrapes Carousell.sg product listings: prices, seller ratings and deal methods. |
| 🍷 Vivino Wine Scraper | Scrapes wine data from Vivino: name, winery, vintage, region and ratings. |
| 💼 Dice Jobs Scraper - Search Tech Jobs by Keyword or URL | Scrapes tech job listings from Dice: title, company, location and salary. |
| 🥾 AllTrails Scraper — Hiking, Biking & Running Trails | Scrapes hiking, biking and running trails from AllTrails by park, city or keyword. |
| 📈 Kalshi Markets Scraper - Prediction Market Prices & Odds | Scrapes Kalshi prediction markets: prices, probabilities, volume and close times. |
💬 Support & contact
If you encounter any issues or have questions, please open an issue or reach out via the Apify Community Forum.
You can also find more of our actors on the Actor Flow page.