NoBroker Property Listings Scraper avatar

NoBroker Property Listings Scraper

Pricing

Pay per event

Go to Apify Store
NoBroker Property Listings Scraper

NoBroker Property Listings Scraper

Extract public NoBroker rent, sale, and PG listings with prices, property attributes, location, owner-direct context, images, amenities, and source URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Extract public NoBroker rent, sale, and PG property listings into structured records for owner-direct inventory and price monitoring in India.

The Actor searches six major cities or accepts exact NoBroker search-result URLs. It returns stable listing identity, pricing, property attributes, location, public lister context, amenities, images, timestamps, and source URLs. It never opens the contact-owner flow and does not collect private phone numbers.

What does the NoBroker scraper do?

NoBroker Property Listings Scraper converts public search results from nobroker.in into analysis-ready JSON, CSV, Excel, XML, or RSS through the standard Apify Dataset.

It supports three distinct workflows:

  • monthly residential rentals;
  • residential properties for sale;
  • paying-guest (PG) accommodation.

Each run reads NoBroker's public server-rendered listing data, normalizes the fields, removes duplicate property IDs, and stops at your requested result limit.

Who is it for?

  • Property analysts tracking asking rents, sale prices, and available inventory.
  • Proptech teams building internal matching, valuation, or market-research pipelines.
  • Relocation teams comparing rental and PG supply across major Indian cities.
  • Investors monitoring owner-direct sale inventory and locality-level asking prices.
  • Data engineers feeding scheduled property snapshots into a warehouse or spreadsheet.

This Actor is for public listing research. It is not a contact-unlocking or owner-phone product.

Why use this Actor?

  • Search rent, sale, and PG inventory with one stable input contract.
  • Choose Bangalore, Mumbai, Delhi, Hyderabad, Pune, or Chennai without constructing a URL.
  • Paste an exact public NoBroker search URL to preserve source-side locality and property filters.
  • Receive one typed record per unique listing.
  • Preserve stable IDs and timestamps for recurring snapshot comparisons.
  • Avoid browser overhead because public structured search data is available in the page response.
  • Keep contact-owner data outside the workflow.

What data can you extract?

FieldMeaning
listingIdStable NoBroker listing identifier
listingTyperent, sale, or pg
titlePublic property listing title
urlCanonical NoBroker detail URL
city, locality, addressPublic location context
priceSale asking price in INR, when applicable
rentMonthly rent or minimum PG rent in INR
depositSecurity deposit or minimum PG deposit in INR
maintenancePublic maintenance amount when present
propertyType, bhkProperty and room configuration
areaSqFt, bathroomsSize and bathroom count when present
furnishing, parkingFurnishing and parking descriptions
floor, totalFloors, propertyAgeBuilding attributes when available
availableFromAvailability timestamp when published
listedByNamePublicly displayed lister name, when present
ownerDirectOwner-direct context inferred from the public record
latitude, longitudePublic listing coordinates
amenitiesPublic amenity codes or labels
imageUrlsPublic listing image URLs
lastUpdatedAtSource update timestamp when available
sourceUrlExact result page that produced the record
scrapedAtActor extraction timestamp

Fields that NoBroker does not publish for a listing are returned as null or an empty array rather than guessed.

Getting started

  1. Open the Actor input page.
  2. Choose a City.
  3. Choose Rent, Sale, or PG accommodation.
  4. Set Maximum listings to the number of unique records you need.
  5. Click Start.
  6. Open the default Dataset when the run finishes.
  7. Export as JSON, CSV, Excel, XML, or RSS.

The prefilled input requests a small Bangalore rental snapshot and is suitable for a first run.

Input parameters

city

Supported values are Bangalore, Mumbai, Delhi, Hyderabad, Pune, and Chennai.

The default is Bangalore. City mode is convenient for broad inventory snapshots.

listingType

Choose rent, sale, or pg.

The default is rent.

startUrls

Optional array of exact public NoBroker search-result URLs.

Use this mode when you have already selected localities or filters on NoBroker. URLs must be on nobroker.in and have a /property/rent/, /property/sale/, or /property/pg/ path.

When startUrls is supplied, omit city and listingType.

maxItems

Maximum unique records saved across all searches.

Default: 50. Minimum: 1. Maximum: 1000.

maxPages

Maximum result pages fetched for each search URL.

Default: 20. Minimum: 1. Maximum: 40.

The Actor can stop earlier when the requested item limit is reached or pages stop yielding new IDs.

Input examples

Broad Bangalore rental search:

{
"city": "Bangalore",
"listingType": "rent",
"maxItems": 25,
"maxPages": 3
}

Mumbai sale inventory:

{
"city": "Mumbai",
"listingType": "sale",
"maxItems": 50,
"maxPages": 5
}

Exact NoBroker search URL:

{
"startUrls": [
{ "url": "https://www.nobroker.in/property/rent/bangalore/Bangalore/?searchParam=..." }
],
"maxItems": 100,
"maxPages": 10
}

Output example

A current PG result is normalized like this:

{
"listingId": "ff8081816bdfdcea016be14408af5e33",
"listingType": "pg",
"title": "PG for Girls in Koti",
"url": "https://www.nobroker.in/property/pg/pg-hostel-for-girls-in-koti-hyderabad-for-rs-4800/ff8081816bdfdcea016be14408af5e33/detail",
"city": "hyderabad",
"locality": "Koti",
"rent": 4800,
"deposit": 4800,
"propertyType": "PG",
"bhk": "1 BHK",
"listedByName": "Public lister name",
"ownerDirect": true,
"amenities": [],
"imageUrls": ["https://assets.nobroker.in/images/..._medium.jpg"],
"lastUpdatedAt": "2026-07-13T05:20:34.000Z",
"scrapedAt": "2026-08-16T06:34:25.320Z"
}

The default Dataset view emphasizes identity, type, price, locality, core attributes, owner-direct context, source update time, and canonical URL.

How much does it cost to extract NoBroker property listings?

Pricing uses one start event per run plus one item event for each saved unique listing. Failed, duplicate, or rejected records do not create item charges.

The one-time start event is $0.00005. Active per-listing tiers are:

TierPrice per saved listing
FREE$0.00092
BRONZE$0.0008
SILVER$0.000624
GOLD$0.00048
PLATINUM$0.00032
DIAMOND$0.000224

For budgeting, calculate:

$0.00005 start + (saved listings × your active item tier)

At BRONZE, 25 saved listings cost $0.02005 and 100 saved listings cost $0.08005. At FREE, a 25-listing smoke run costs $0.02305. Runtime infrastructure can also vary slightly with response time, but this lightweight HTTP Actor uses 256 MB memory and does not enable a paid proxy fallback.

Schedule recurring inventory monitoring

Create an Apify Schedule for daily or weekly snapshots.

Use listingId as the stable comparison key. Store each run's Dataset ID or export records to your database, then compare:

  • newly observed listing IDs;
  • IDs no longer present in the bounded search;
  • changed rent, sale price, or deposit;
  • changed availability and source update timestamps;
  • supply by city, locality, property type, or BHK.

A missing ID from one bounded snapshot does not prove a property was removed. Search ordering and your maxItems limit can also affect membership.

Export to spreadsheets and data pipelines

After a run, open the Dataset and choose CSV or Excel for one-off analysis.

For automation, connect the Dataset to:

  • Google Sheets through an Apify integration;
  • Make or Zapier for downstream notifications;
  • a webhook that starts ETL after the run succeeds;
  • your warehouse through the Dataset API;
  • Python or JavaScript snapshot-diff jobs.

The Actor returns primary records in the default Dataset, so standard Apify integrations work without a custom dataset name.

API usage

Replace YOUR_TOKEN with an Apify API token.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~nobroker-property-listings-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"city":"Bangalore","listingType":"rent","maxItems":25}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/nobroker-property-listings-scraper').call({
city: 'Mumbai',
listingType: 'sale',
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("automation-lab/nobroker-property-listings-scraper").call(
run_input={"city": "Hyderabad", "listingType": "pg", "maxItems": 25}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Use with Apify MCP

Add the Actor to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/nobroker-property-listings-scraper"

Claude Desktop, Cursor, and VS Code

Claude Desktop, Cursor, and VS Code can use the same actor-scoped HTTP server configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/nobroker-property-listings-scraper"
}
}
}

Example prompts:

  • "Run the NoBroker scraper for 25 Bangalore rentals and summarize median rent by BHK."
  • "Extract 50 Mumbai sale listings and save the Dataset URL."
  • "Create a Hyderabad PG snapshot and compare IDs with my previous Dataset."

Reliability and pagination

The Actor retries transient request failures twice and validates that NoBroker returned the expected structured listing state.

Pagination is sequential and intentionally conservative. Overlapping source pages are deduplicated by stable listing ID. The run stops after two consecutive pages add no unique records.

If NoBroker changes its public page structure, the Actor fails clearly instead of emitting guessed or empty records as success.

Limitations

  • City mode covers six major Indian cities; use exact public search URLs for narrower source filters.
  • Search ordering, promoted listings, and availability can change between runs.
  • maxItems limits a snapshot and does not promise complete city inventory.
  • Some fields are absent for some listing types and remain null.
  • Amenity values can be source codes when NoBroker does not include a display label.
  • No contact-owner phone, unlocked contact, login-only, or private account data is collected.
  • The Actor does not automatically switch to residential proxies or a browser.

Responsible use and legality

Only collect and process data you are authorized to use.

Review NoBroker's terms, robots guidance, and applicable Indian and international privacy, database, and consumer-protection law. Keep request volume proportionate, use bounded schedules, and avoid republishing personal context in ways that could harm individuals.

Public lister names can still be personal data. Minimize retention, restrict access, and remove the field downstream when your analysis does not need it.

This Actor is an independent data tool and is not affiliated with or endorsed by NoBroker.

Troubleshooting

Why did the run reject my URL?

Only public nobroker.in search-result URLs with rent, sale, or PG paths are accepted. Detail URLs, login pages, and third-party domains fail closed.

Why are there fewer records than maxItems?

The bounded search may contain fewer unique records, pages may overlap, or maxPages may stop pagination first. Check run logs and the exact source URL.

Why is a field null?

NoBroker publishes different fields for rent, sale, and PG records. The Actor does not invent missing values.

What should I do after an upstream HTTP error?

Retry later once. If repeated runs fail on the same public URL, inspect whether it still opens anonymously and include the run URL when reporting the issue.

FAQ

Is NoBroker free to browse with this Actor?

NoBroker's public search pages are the data source. Running this Actor uses Apify's active pay-per-event pricing and platform resources; check Console for your exact tier.

Does it reveal owner phone numbers?

No. It does not open contact-owner workflows or unlock contact details.

Can I scrape my own filtered NoBroker URL?

Yes. Supply the exact public search-result URL in startUrls and omit city and listingType.

Can I run it every day?

Yes. Use an Apify Schedule and compare records by listingId, while keeping limits and legal obligations in mind.

No. It reports source-side public listing context. Verify important decisions independently.

Use related Actors only when the source and geography match your job; they are not automatic fallbacks for this Actor.