NoBroker Scraper [$2/1K💰] | Owner-Direct Rent, Sale & PG Data
Pricing
from $1.90 / 1,000 property listings
NoBroker Scraper [$2/1K💰] | Owner-Direct Rent, Sale & PG Data
Extract owner-direct rent, sale and PG listings from NoBroker.in into clean dataset rows - rent, deposit, BHK, carpet area, furnishing, amenities, locality, coordinates. No browser, no login.
Pricing
from $1.90 / 1,000 property listings
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
18 days ago
Last modified
Categories
Features
Share
NoBroker Scraper
Extract owner-direct rent, sale and PG listings from NoBroker.in, India's broker-free property platform, into clean structured dataset rows — rent, deposit, maintenance, BHK, carpet area, furnishing, amenities, locality and coordinates across 27 Indian cities.
Built for relocation teams, rental-search apps, proptech data pipelines and investors tracking owner-direct supply in Bangalore, Mumbai, Delhi, Hyderabad, Pune, Chennai and beyond.
Read this before you run it at volume. NoBroker publishes no public API, and its
robots.txtdisallows/api/v3/— the exact path this Actor reads. See Legal & Compliance. Nothing here is legal advice; the compliance decision is yours.
What you get
Build rental price benchmarks by locality
priceInr, rentInr, depositInr, maintenanceInr, bhk, carpetAreaSqft and locality on every row, so you can compute a real rent-per-sqft distribution per neighbourhood instead of a portal-wide average.
Track owner-direct supply
NoBroker's whole positioning is zero-brokerage listings. listedBy, ownerName, active, premium and lastUpdated let you separate genuinely owner-direct inventory from the rest of the market.
Compare rent, resale and PG from one Actor
listingType covers residential rent, residential sale, PG/hostel, and — separately — commercial rent and commercial sale. Commercial is distinct inventory on NoBroker, not a filter on residential listings.
Feed a relocation or tenant-matching product
latitude, longitude, bhk, bhkTypes, furnishing, availableFrom, tenantPreferred, amenities[] and images[] are enough to power a matching flow without calling NoBroker again at request time.
Reproduce and audit any row
Every row carries searchUrl (the search page it came from) and searchApiUrl (the exact filter call that returned it, including pageNo), so you can tell apart results from different searches and re-run them.
How It Works

Looking for a NoBroker scraper or a practical Indian rental and property data alternative? Search by city or locality, or paste exact NoBroker search URLs, and choose residential rent, sale, PG, commercial rent or commercial sale. Each row includes listing ID, type, title, property and building type, BHK, bathrooms, carpet area, rent or sale price, deposit, maintenance, furnishing, floor, age, parking, availability, owner name and type, society, locality, city, coordinates, amenities, images and source URL.
Use the dataset for rental benchmarks, owner-direct supply tracking, relocation products, tenant matching and property-investment research. A 3 km radius is the default, with prices and BHK filters available. Export as JSON, CSV or Excel, or pull results through the Apify API. Pay from $2.00 per 1,000 listings.
Why the ?searchParam=... part matters
The filter endpoint narrows by the coordinates inside searchParam, not by locality name. A URL carrying only a locality — for example https://www.nobroker.in/property/rent/bangalore/Koramangala_search-list — has no coordinates, so the search falls back to the city centre and returns city-wide results while still labelled Koramangala.
The Actor therefore:
- parses
searchParam(pluslat/lon) out of each URL and centres the search there; - logs the effective centre of every search, e.g.
Search URL -> mode=rent city=bangalore place="Ind Win Ecstasy Apartments" coords=12.89401,77.63010 radius=2km …; - warns in the log when a URL names a locality but carries no coordinates, so a silent city-wide result never looks like a locality search;
- skips malformed URLs and any URL that is not a
nobroker.inaddress, warning about each; - accepts URLs with or without the
https://prefix.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
searchUrls | string[] | [] | Exact NoBroker search URLs, one per search. Must contain ?searchParam=.... Each URL wins over the fields below; anything it omits falls back to them. |
listingType | select | rent | rent, buy, pg, commercial-rent, commercial-buy. |
city | select | bangalore | Any of 27 built-in city coordinates. |
localities | string[] | [] | Narrow by locality, e.g. ["Koramangala","HSR Layout"]. |
bhkTypes | number[] | [] | BHK configurations, e.g. [2,3]. |
propertyType | select | "" | AP apartment, IH independent house, VF villa, BF builder floor. |
furnishing | select | "" | FULL, SEMI, NONE. |
minPrice / maxPrice | integer | — | INR. Monthly rent for rent/PG, total price for buy. |
radiusKm | integer | 3 | Search radius around the search centre. |
latitude / longitude | number | — | Custom search centre, overrides the city table. |
maxItems | integer | 100 | Hard cap on dataset rows for the whole run. |
maxPages | integer | 10 | API pages per search (~26 listings per page). |
skipItems | integer | 0 | Skip N leading listings, for chunked re-runs. |
maxRequestsPerCrawl | integer | 200 | Hard cap on HTTP requests. |
proxy | object | { useApifyProxy: false } | Standard Apify proxy picker. Enable if you are rate-limited, or for residential India IPs. |
Free accounts are capped at 25 listings per run; paying accounts go up to maxItems. The Actor stops issuing requests once the cap is hit, so a free run never burns compute.
Output
52 fields, one row per listing:
listingId, listingType, title, propertyType, buildingType, bhk, bhkLabel, bathrooms, balconies, carpetAreaSqft, priceInr, rentInr, salePriceInr, depositInr, maintenanceInr, maintenanceFormatted, negotiable, furnishing, facing, floor, totalFloors, lift, propertyAge, parking, powerBackup, waterSupply, availableFrom, leaseType, tenantPreferred, pgGender, foodIncluded, noOfActiveRooms, ownerName, ownerId, listedBy, society, locality, city, address, latitude, longitude, amenities[], images[], description, url, active, premium, lastUpdated, listingTypeApi, searchUrl, searchApiUrl, scrapedAt
Field notes that change how you read the data:
priceInris the primary money field — rent/month for rent & PG, total asking price for buy.rentInr/salePriceInrdisambiguate.- PG listings report
minRent→rentInrandminDeposit→depositInr, pluspgGender,foodIncluded,noOfActiveRooms. images[]are absolutehttps://assets.nobroker.in/images/<listingId>/<file>URLs, resolved from the relative filenames in the API'sphotos[].imagesMap.amenities[]are decoded from the API'samenitiesMapbooleans (LIFT→Lift,CPA→Covered Parking, …).listingTypeis the normalised type you asked for;listingTypeApiis the raw value from the API. They differ for commercial, where NoBroker keeps separate inventory.ownerNameis the publicly displayed lister name on the listing card. This Actor never opens the contact-owner flow and never collects phone numbers or private contact data.
Two dataset views ship with the Actor: Overview and Search provenance.
Example input
Search by locality and configuration:
{"listingType": "rent","city": "bangalore","localities": ["Koramangala"],"bhkTypes": [2, 3],"maxItems": 50,"maxPages": 3}
Reproduce an exact search from the address bar:
{"searchUrls": ["https://www.nobroker.in/property/sale/bangalore/Whitefield_search-list?searchParam=W3sibGF0IjoxMi45NjkxOTE1LCJsb24iOjc3LjcyMDIxNDwicGxhY2VJZCI6IkNoSUpfdkx5bUF3VnJqc1JVUWlwM0wzVTlOWSIsICJwbGFjZU5hbWUiOiI3aGl0ZWZpZWxkIn0="],"maxItems": 100}
Example output
{"listingId": "NB-4820117","listingType": "rent","title": "2 BHK Flat for rent in Ind Win Ecstasy Apartments","propertyType": "AP","buildingType": "AP","bhk": 2,"bhkLabel": "2 BHK","bathrooms": 2,"balconies": 1,"carpetAreaSqft": 1120,"priceInr": 32000,"rentInr": 32000,"salePriceInr": null,"depositInr": 64000,"maintenanceInr": 3500,"maintenanceFormatted": "3,500","negotiable": true,"furnishing": "FULL","facing": "East","floor": 4,"totalFloors": 9,"lift": true,"propertyAge": "2 years","parking": "CPA","powerBackup": "Yes","waterSupply": "Corporation","availableFrom": "2026-10-20","leaseType": "family","tenantPreferred": "Family","pgGender": null,"foodIncluded": null,"noOfActiveRooms": null,"ownerName": "Ramesh K","ownerId": "ow-77213","listedBy": "owner","society": "Ind Win Ecstasy Apartments","locality": "Koramangala","city": "bangalore","address": "80 Feet Road, Koramangala, Bangalore","latitude": 12.93421,"longitude": 77.62604,"amenities": ["Lift", "Covered Parking", "Power Backup", "Corporation water supply"],"images": ["https://assets.nobroker.in/images/NB-4820117/1.jpg","https://assets.nobroker.in/images/NB-4820117/2.jpg"],"description": "2 BHK fully furnished flat in Ind Win Ecstasy, ready to move.","url": "https://www.nobroker.in/property/rent/bangalore/2-bhk-flat-ind-win-ecstasy-apartments-NB-4820117","active": true,"premium": false,"lastUpdated": "2026-10-03T18:12:44.000Z","listingTypeApi": "rent","searchUrl": "https://www.nobroker.in/property/rent/bangalore/Koramangala_search-list","searchApiUrl": "https://www.nobroker.in/api/v3/multi/property/RENT/filter?pageNo=1&city=bangalore&locality=Koramangala","scrapedAt": "2026-10-04T07:22:10.184Z"}
Integrations & automation
Call it over the Apify API (POST /v2/acts/qZvY3ScSbbogTO7Bc/runs) or from Python, JavaScript, the CLI or MCP. Datasets export as JSON, CSV, Excel, XML or RSS.
For rental price monitoring, a daily schedule over the same city + localities gives you a clean day-over-day diff on priceInr, active and lastUpdated. Rent and PG change far more often than sale listings, so a daily cadence is worth it for rent and pg; weekly is usually enough for buy.
Typical pipeline: run on a schedule → push the dataset to a warehouse or Postgres on listingId → alert when a tracked locality's median rent moves more than ~5% or when a tracked building gains or loses listings. searchApiUrl makes any row exactly reproducible when you need to check a surprise.
Related Actors
| Actor | Why |
|---|---|
agentx/nobroker-property-scraper | Also NoBroker, 40 normalized fields, city + transaction driven. Closest direct alternative. |
automation-lab/nobroker-property-listings-scraper | NoBroker rent/sale/PG for owner-direct inventory and price monitoring. |
themineworks/nobroker-scraper | 25 fields, reads the same geo-search API, MCP-ready. |
jungle_synthesizer/nobroker-scraper | NoBroker by city/locality URL, standby + MCP mode. |
ahmed_jasarevic/housinganywhere-scraper | Same problem, different source: long-term rental listings in the UK and Europe. |
FAQ
Why use this instead of the official NoBroker API?
There isn't one. NoBroker ships no public developer program, API reference or machine-readable spec. What exists on apis.io is a profile of a provider with 0 documented APIs, and NoBroker's own /api/v1..v5 endpoints are disallowed in robots.txt. Third-party resellers do wrap this data (realdataapi.com, a $9/mo RapidAPI listing) — you're paying them to run the same request you're already running here.
Why not just parse the HTML?
Because there is nothing to parse. The public search pages are a Next.js App Router shell whose HTML contains only layout scaffolding and CSS. The existing GitHub scrapers for NoBroker all do BeautifulSoup over those pages and break on the next redesign.
Is NoBroker blocked or CAPTCHA-walled?
No. The JSON filter endpoint answers plain curl requests from a datacenter IP with HTTP 200 and full JSON. No headless browser, no captcha solver, no residential proxy. The proxy input exists only as a fallback if you get rate-limited.
What's the difference between listingType and listingTypeApi?
listingType is your normalised request. listingTypeApi is what the API returned. They diverge on commercial: NoBroker keeps commercial rent and commercial sale as separate inventory from residential, so a commercial-rent request returns rows the API labels differently from what you'd guess.
Does it collect owner phone numbers?
No. It reads the public listing card only, and never opens the contact-owner flow. ownerName is the publicly displayed lister name. If you need phone numbers, that is a different — and more sensitive — product.
How accurate is locality filtering?
The locality filter is passed to the API, but NoBroker applies it loosely: results still include neighbouring localities within radiusKm. This is why latitude/longitude exist — set them to the exact coordinates when precision matters.
SEO Keywords
nobroker scraper, nobroker.in, rental property listing data, india rental data, owner direct rental listings, rent listings bangalore, mumbai rental listings, pg hostel data, broker free property india, property price monitoring, rental price benchmark, proptech data pipeline, relocation property data, nobroker api alternative, zero brokerage rental listings, buy property listings india, commercial property listings, carpet area sqft, rent deposit india, tenant matching data
For AI Agents & LLM Apps
Returns owner-direct rent, sale, PG and commercial property listings from NoBroker.in as flat dataset rows, one per listing.
Minimal input — smallest input that produces a valid run:
{ "city": "bangalore", "maxItems": 50 }
Targeted search by locality and configuration:
{ "listingType": "rent", "city": "bangalore", "localities": ["Koramangala"], "bhkTypes": [2, 3], "maxItems": 50 }
Reproduce a search exactly from a pasted address-bar URL (wins over every other field):
{ "searchUrls": ["https://www.nobroker.in/property/rent/bangalore/Whitefield_search-list?searchParam=W3sibGF0IjoxMi45NjkxOTE1LCJsb24iOjc3LjcyMDIxNDB9"], "maxItems": 100 }
Output fields (52): listingId, listingType, title, propertyType, buildingType, bhk, bhkLabel, bathrooms, balconies, carpetAreaSqft, priceInr, rentInr, salePriceInr, depositInr, maintenanceInr, maintenanceFormatted, negotiable, furnishing, facing, floor, totalFloors, lift, propertyAge, parking, powerBackup, waterSupply, availableFrom, leaseType, tenantPreferred, pgGender, foodIncluded, noOfActiveRooms, ownerName, ownerId, listedBy, society, locality, city, address, latitude, longitude, amenities, images, description, url, active, premium, lastUpdated, listingTypeApi, searchUrl, searchApiUrl, scrapedAt
Behaviours an agent should know
searchUrlsoverrides every other search field. Each URL is authoritative for what it specifies; fields it omits fall back tolistingType,city,localities, etc.- A search URL without
?searchParam=...has no coordinates. The run still succeeds but returns city-wide results under a locality label, and logs a warning. Do not treat that as a locality result. priceInris rent/month forrentandpg, total price forbuy. ReadrentInr/salePriceInrwhen you need to disambiguate.maxItemsdefaults to 100 andmaxPagesto 10 (~26 listings/page), so a default run costs at most ~260 listings' worth of requests — but free accounts stop at 25 listings, enforced before further requests are issued.latitude+longitudeoverride the built-in city table. Use them whencityis not one of the 27 built-ins, or when you need a precise centre.- Billing is pay-per-event: $0.002 per listing, charged once per dataset row.
maxItemsis therefore your cost ceiling.
Legal & Compliance
This Actor is an independent third-party tool. It is not affiliated with, endorsed by, or sponsored by NoBroker.in or NoHousing Technologies.
What it actually accesses: a single undocumented JSON endpoint that the NoBroker web and mobile frontends call themselves — GET https://www.nobroker.in/api/v3/multi/property/{RENT|BUY|PG}/filter — using only publicly visible listing data. It does not log in, does not bypass any authentication, does not solve CAPTCHAs, and does not access owner contact details or private data.
A disclosure you need: NoBroker publishes no public developer API or documentation. Its robots.txt, served at https://www.nobroker.in/robots.txt, disallows /api/v3/ for all user-agents — which is the path this Actor reads. The endpoint is reachable without authentication and is not technically protected, but reachable is not the same as permitted. Read NoBroker's Terms of Service and decide for yourself whether your intended use is acceptable, and consider a licensed data provider if you need a commercial arrangement.
You are solely responsible for compliance with NoBroker's Terms of Service, robots.txt, and applicable law. This Actor collects no personal contact data, so GDPR/CCPA obligations around contact information do not apply to its output — but other obligations under those regimes may still apply depending on how you use derived market data. Keep request volumes modest; maxRequestsPerCrawl (default 200) and maxItems (default 100) bound a run without effort.