Justdial Scraper — India Business Directory Leads
Pricing
from $2.00 / 1,000 results
Justdial Scraper — India Business Directory Leads
Scrape Justdial.com, India's #1 local business directory. Get businesses by category and city: name, phone, address, area, pincode, GPS, rating, review count, verified status and category. Great for lead generation. No login or API key. Export JSON, CSV, Excel.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
13
Total users
0
Monthly active users
a day ago
Last modified
Categories
Features
Share
Justdial Scraper 🇮🇳 — India Business Directory Leads (Phone, WhatsApp, Address, GPS & Ratings)
Extract local businesses from Justdial.com — India's largest local business directory — at scale, with no login, no cookies, and no coding. This Justdial scraper lets you search any business category across any Indian city (or paste Justdial search URLs directly) and exports clean, structured B2B lead records: business name, direct contact phone number, WhatsApp number, full street address, locality/area, city, pincode, exact GPS coordinates (lat / lng), star rating, total review count, Justdial verified status, paid-listing status, website, and category.
Bulk export your Justdial business leads to JSON, CSV, Excel (XLSX), or via the Apify API.
🎯 Built for B2B sales & outbound prospecting teams, telemarketing and call centers, Indian market researchers, digital marketing agencies, CRM data-enrichment pipelines, real-estate & retail expansion analysts, and developers who need a dependable Justdial data extractor.
⚡ At a glance
| Feature | Details |
|---|---|
| 🎯 Target directory | Justdial.com — all Indian cities, towns, and business categories |
| 🔍 Input modes | Search Terms + City (searchTerms + city) or direct Justdial Search URLs (startUrls) |
| 📞 Lead & contact fields | name, phone (direct number), whatsapp, website, address, area, city, pincode, lat, lng |
| ⭐ Reputation & trust | rating (out of 5), totalReviews, verified badge, isPaid (promoted flag), openNow, category, thumbnail |
| 🔁 Pagination & 1,000+ scale | Automatic page walking (maxPagesPerSearch: 0) + automatic multi-city & multi-category expansion when maxItems: 1000+ is requested |
| 🧹 Deduplication | 100% deduplicated across pages, categories, and cities by Justdial's unique docid |
| 🌐 Proxy configuration | Prefilled Indian Residential Proxy (RESIDENTIAL, country IN) — works out of the box |
| ⬇️ Export formats | JSON, CSV, Excel, HTML, XML, RSS, plus direct integration with Make, Zapier, n8n, Google Sheets & API |
🔎 Why scrape Justdial for Indian B2B leads?
Justdial is the backbone of local commerce discovery in India, indexing tens of millions of SMBs, clinics, restaurants, manufacturers, wholesalers, contractors, salons, CA firms, and service providers across every Tier-1, Tier-2, and Tier-3 city. Every listing carries the exact data points a sales, marketing, or market-intelligence team needs: a reachable phone number, a complete street address with pincode, precise latitude/longitude, category tags, and customer ratings & review counts.
Collecting Justdial data manually is slow and frustrating: search pages show only 10 results at a time, duplicate promoted listings reappear across pages, and ordinary requests from outside India receive empty pages. Copy-pasting hundreds of businesses into Excel takes hours and cannot be automated.
This Justdial data extractor turns Justdial into a clean, on-demand lead database:
- 🎯 B2B lead generation & outbound sales — build targeted call and WhatsApp lists by category and city in minutes.
- 📞 Telemarketing & inside sales pipelines — feed verified business phone numbers (
phone) and ratings directly into your dialer or CRM. - 🗺️ Geospatial & retail territory mapping — plot every competitor, supplier, or franchise prospect using exact
lat,lng,area, andpincodefields. - 🏢 CRM hygiene & B2B data enrichment — append verified addresses, pincodes, ratings, and review volumes to existing Indian company lists.
- ⭐ Reputation & local SEO benchmarking — identify high-volume businesses with low ratings or unverified profiles that need digital marketing or reputation management services.
- 📊 Market sizing & competitive intelligence — measure business density and review distribution across Mumbai, Delhi, Bangalore, Hyderabad, Chennai, Pune, Ahmedabad, Kolkata, and beyond.
✨ What this Justdial scraper does
- ✅ Search any category in any Indian city — enter one or multiple keywords in
searchTerms(e.g.,["Restaurants", "Cafes", "Cloud Kitchens"]) and a targetcity(e.g.,"Mumbai"), or paste ready-made URLs intostartUrls. - ✅ 100% direct phone number extraction — captures the business contact number (
phone) directly from Justdial's structured listing payload, pluswhatsappandwebsitewhenever listed. - ✅ Complete location & geospatial data — extracts
address,area(neighborhood/locality),city,pincode, and numericlat/lngcoordinates on virtually every record. - ✅ Automatic deep pagination (
maxPagesPerSearch: 0) — walks result pages automatically until the search is exhausted or yourmaxItemstarget is met, stopping early if consecutive pages yield no new unique businesses. - ✅ Unlocked 1,000+ business scaling — because a single Justdial
(city, category)search typically contains ~50–60 unique businesses after deduplication, requesting a largemaxItems(e.g.,500or1,000+) automatically expands across major Indian cities and related categories so your run reaches 1,000+ unique leads seamlessly. - ✅ Global deduplication by
docid— Justdial frequently repeats sponsored businesses across pages; our scraper filters every record through a run-widedocidset so you never pay for or export duplicate rows.
🎯 Use cases & B2B workflows
| Industry / Team | How They Use Justdial Data |
|---|---|
| 📞 B2B Sales & Outbound Agencies | Scrape Interior Designers, Architects, and Modular Kitchen Dealers in Bangalore, filter to verified: true and totalReviews > 20, and export to CSV for immediate cold-calling. |
| 💻 SaaS & POS Vendors | Extract Restaurants, Salons, Gyms, and Retail Shops across Tier-1 and Tier-2 Indian cities to build territory-assigned prospect lists for field sales reps. |
| 📈 Digital Marketing & Local SEO Agencies | Find established local businesses (totalReviews > 100) that lack a website (website: null) or aren't running promoted placements (isPaid: false)—the highest-converting prospects for web design and ad services. |
| 🏥 Healthcare & Pharma Distributors | Map Pharmacies, Diagnostic Centres, Dental Clinics, and Hospitals by pincode and GPS coordinates (lat, lng) to optimize medical representative routing. |
| 🏗️ FMCG, Wholesale & Supply Chain Teams | Build pan-India distributor and dealer directories (Hardware Shops, Electrical Dealers, Packaging Manufacturers) across 20+ metropolitan areas in a single run. |
📥 Input configuration
Enter one or more Search Terms / Categories and a City, or paste Start URLs. All fields are optional and prefilled with sensible defaults so you can test the Actor with a single click.
| Field | Type | Default / Prefill | Description |
|---|---|---|---|
searchTerms | array<string> | Prefill ["Restaurants"] | Categories or keywords to search for (e.g., "Dentists", "Gyms", "Real Estate Agents", "Plumbers"). |
city | string | "Mumbai" | Indian city to search in (e.g., "Mumbai", "Delhi", "Bangalore", "Hyderabad", "Chennai", "Pune"). |
startUrls | array<string> | [] | Optional. Full Justdial search URLs (e.g., https://www.justdial.com/Mumbai/Restaurants). Overrides searchTerms and city when provided. |
maxItems | integer | Default 0 (Prefill 50) | Maximum unique businesses to collect across the run. 0 = unlimited. Prefilled to 50 so test runs finish in ~25 seconds. |
maxPagesPerSearch | integer | 0 | Maximum result pages to read per search term/URL (0 = auto/unlimited governed by maxItems). Each page holds ~10 listings. |
proxyConfiguration | object | Indian Residential (IN) | Required by Justdial. Prefilled with Apify Residential Proxy pinned to India (IN). Keep the default setting enabled. |
Example input — fast category search in one city
{"searchTerms": ["Restaurants"],"city": "Mumbai","maxItems": 50,"maxPagesPerSearch": 0,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "IN"}}
Example input — 1,000+ multi-category B2B lead generation run
{"searchTerms": ["Interior Designers","Architects","Modular Kitchen Dealers","Civil Contractors","Home Automation Dealers"],"city": "Bangalore","maxItems": 1000,"maxPagesPerSearch": 0,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "IN"}}
📤 Output schema & field reference
Each business is saved as a normalized JSON record. Below is an actual record captured from a live Mumbai run:
{"docid": "022PXX22.XX22.140804130028.J6U9","name": "Mao Family Restaurant","phone": "09845262099","whatsapp": null,"address": "Near Theatre Kalbadevi","area": "Lohar Chawl Kalbadevi","city": "Mumbai","pincode": "400002","lat": 18.944402,"lng": 72.829283,"rating": 4.2,"totalReviews": 10055,"verified": true,"isPaid": true,"category": "Restaurants, North Indian Restaurants","openNow": true,"website": null,"thumbnail": "https://images.jdmagicbox.com/comp/mumbai/u9/022pxx22.xx22.140804130028.j6u9/catalogue/mao-family-restaurant-kalbadevi-mumbai-restaurants-1.jpg","url": "https://www.justdial.com/Mumbai/Mao-Family-Restaurant-Near-Theatre-Kalbadevi-Lohar-Chawl-Kalbadevi/022PXX22-XX22-140804130028-J6U9_BZDET","searchTerm": "Restaurants","scrapedAt": "2026-11-09T18:20:00.000Z"}
🏢 Identity & Contact Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
docid | string | 🟢 High (100%) | Unique Justdial business identifier used for run-wide deduplication. |
name | string | 🟢 High (100%) | Official business or establishment name. |
phone | string | 🟢 High (~98–100%) | Direct contact phone / virtual number displayed on the listing. |
whatsapp | string | null | 🟡 Conditional | WhatsApp contact number when exposed by the business. |
website | string | null | 🟡 Conditional | External business website URL when listed on Justdial. |
url | string | 🟢 High (100%) | Direct link to the business listing on Justdial.com. |
📍 Location & Geospatial Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
address | string | 🟢 High (100%) | Street address and landmark details. |
area | string | 🟢 High (100%) | Neighborhood or locality within the city (e.g., Andheri West, Kalbadevi). |
city | string | 🟢 High (100%) | City name (e.g., Mumbai, Delhi, Bangalore). |
pincode | string | 🟢 High (~99%) | 6-digit Indian postal PIN code. |
lat | number | 🟢 High (~99%) | GPS latitude coordinate (WGS84). |
lng | number | 🟢 High (~99%) | GPS longitude coordinate (WGS84). |
⭐ Reputation, Category & Metadata Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
rating | number | null | 🟢 High (~95%) | Average customer star rating (0.0 to 5.0). |
totalReviews | integer | null | 🟢 High (~95%) | Total number of customer ratings and reviews on Justdial. |
verified | boolean | 🟢 High (100%) | true when the business carries Justdial's Verified trust stamp. |
isPaid | boolean | 🟢 High (100%) | true when the business is a paid/sponsored Justdial advertiser. |
category | string | 🟢 High (100%) | Comma-separated business categories assigned by Justdial. |
openNow | boolean | 🟢 High (100%) | true if the business is marked open at the time of extraction. |
thumbnail | string | null | 🟢 High (~90%) | Primary photo/catalogue image URL for the business. |
searchTerm | string | 🟢 High (100%) | The search keyword or category that discovered this listing. |
scrapedAt | string | 🟢 High (100%) | ISO 8601 UTC timestamp of when the record was scraped. |
🔁 Pagination & scaling to 1,000+ businesses
Justdial returns roughly 10 listings per page, and a single (city, category) search typically exposes up to 10 pages (~100 raw rows, which deduplicate to ~50–55 unique businesses after removing repeated promoted cards).
To make both small previews and large 1,000+ lead builds effortless:
- Auto page walking (
maxPagesPerSearch: 0): By default,maxPagesPerSearchis0(auto), meaning the scraper walks every available page for each search term and moves on automatically as soon as Justdial stops returning new unique businesses. - Automatic multi-city & multi-category expansion for 1,000+ runs: When you set
maxItemsabove 50 (e.g.maxItems: 1000) without lockingstartUrls, the scraper first exhausts your specified(city, searchTerms)combinations, then automatically expands your search terms across India's top 20 metropolitan cities (Mumbai,Delhi,Bangalore,Hyderabad,Ahmedabad,Chennai,Kolkata,Pune,Jaipur,Surat,Lucknow, etc.) and top commercial categories until your exactmaxItemstarget is reached.
⚙️ How to use & automate
- Open the Justdial Scraper in Apify Console.
- Enter your target categories in
searchTerms(e.g.["Dentists", "Orthodontists"]) and set your targetcity(e.g."Delhi"). - Set your limit: Keep
maxItems: 50for a quick 25-second preview, or raise it to500or1,000+for bulk lead generation. - Leave Proxy on Indian Residential (
IN) and click Start. - Export your leads: Download as Excel, CSV, or JSON, or connect directly to Google Sheets, HubSpot, Salesforce, Make, Zapier, or n8n via the Apify API.
API example (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/justdial-scraper").call(run_input={"searchTerms": ["Real Estate Agents", "Builders", "Property Consultants"],"city": "Mumbai","maxItems": 200,"maxPagesPerSearch": 0,})for lead in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{lead['name']} | {lead['phone']} | {lead['area']} ({lead['pincode']}) | ⭐ {lead['rating']}")
API example (Node.js)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('haketa/justdial-scraper').call({searchTerms: ['Gyms', 'Fitness Centres', 'Yoga Classes'],city: 'Bangalore',maxItems: 150,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Collected ${items.length} unique Bangalore fitness leads.`);
💡 Best practices & tips
- 🇮🇳 Never disable the Indian Residential proxy: Justdial blocks datacenter IPs and non-Indian traffic with a 14-byte empty response. The prefilled
RESIDENTIAL+INproxy uses compact JSON endpoints (~0.5 MB per 50 leads), keeping residential proxy transfer costs ultra-low. - 🎯 Use specific sub-categories for targeted single-city lists: Because Justdial caps any single search query at ~55 unique businesses, entering 10 specific sub-categories (e.g.,
"Dental Clinics","Orthodontists","Pediatric Dentists","Dental Implant Centres") in one city yields hundreds of businesses from that exact city. - 📞 Filter by
isPaidandverified: Businesses withisPaid: trueare actively spending money on local advertising—making them prime B2B prospects for marketing, SaaS, and financial services.
⚠️ Honest limitations
- Single-search cap on Justdial: Justdial's backend serves at most ~100 raw rows (~50–55 unique businesses) for any single
(city, keyword)query. To collect 500–1,000+ businesses within a single city, pass multiple related keywords insearchTerms; otherwise, the scraper automatically expands across additional Indian cities to fulfill yourmaxItemstarget. - Indian Residential proxy required: Runs using datacenter proxies or non-IN countries will not receive listing data from Justdial.
❓ Frequently asked questions (FAQ)
Do I need a Justdial login, cookies, or API key? No. The Actor extracts public directory listings without any account or authentication.
Are phone numbers real and unmasked?
Yes. Every listing returns the contact phone number provided by Justdial's data payload, achieving ~98–100% phone coverage across runs.
How fast is the scraper and how much proxy data does it use? Instead of loading heavy images and full browser pages, this scraper queries Justdial's compact structured data endpoint over HTTP. A 50-business run finishes in ~20–35 seconds and consumes less than 1 MB of residential proxy traffic.
How do I scrape 1,000+ businesses in a single run?
Set maxItems: 1000 (and leave maxPagesPerSearch: 0). You can either supply 15–20 category keywords in searchTerms, or let the scraper automatically expand your search across top Indian cities and categories until 1,000 unique businesses are saved.
How does deduplication work?
Every Justdial business has a permanent docid (e.g., 022PXX22.XX22.140804130028.J6U9). The Actor maintains a run-wide set of seen docid values so promoted listings that repeat on every page or across overlapping categories are saved only once.
Can I scrape specific Justdial URLs from my browser?
Yes. Copy any search URL from Justdial (such as https://www.justdial.com/Pune/Software-Companies) and paste it into startUrls.
🔌 CRM integrations & lead-pipeline automation
Turn your Justdial business data into an automated Indian B2B sales machine by connecting the Apify Dataset to your outbound stack:
- 📊 Google Sheets & Excel Online: Sync fresh Indian business leads directly into shared territory spreadsheets for regional SDRs and telemarketing teams.
- 🏢 HubSpot, Salesforce, Zoho CRM & Pipedrive: Use Make, Zapier, or n8n to trigger on run completion, deduplicate against your existing CRM by
docidorphone, and create enriched Company records withaddress,pincode,rating, andtotalReviews. - 💬 WhatsApp Business & Cloud Dialers (Exotel, Knowlarity, Ozonetel): Route
phoneandwhatsappfields straight into Indian cloud telephony dialers for automated IVR or outbound sales queues. - 🗺️ QGIS, Tableau & Power BI: Import
lat,lng,pincode, andareato build heatmaps of competitor density, verified vs. unverified merchants, and customer review volume across Indian metropolitan areas.
📊 Lead scoring & segmentation recipe (Python / Pandas)
After exporting your Justdial dataset, you can segment high-intent prospects (for example, established businesses with strong review volume that still lack a website) in seconds:
import pandas as pd# Load exported Justdial leads from JSON or CSVdf = pd.read_json("justdial_leads.json")# 1. High-value digital agency prospects:# Verified or active businesses (50+ reviews) that have NO website listedno_website_leads = df[(df["phone"].notna())& (df["totalReviews"].fillna(0) >= 50)& (df["website"].isna())].sort_values("totalReviews", ascending=False)print(f"Found {len(no_website_leads)} high-review businesses without a website:")print(no_website_leads[["name", "phone", "area", "city", "rating", "totalReviews"]].head(15))# 2. Active advertisers (isPaid == True) by locality / pincodepaid_by_area = (df[df["isPaid"] == True].groupby(["city", "area", "pincode"]).size().reset_index(name="paid_businesses").sort_values("paid_businesses", ascending=False))print(paid_by_area.head(10))
Equivalent SQL query for CRM ingestion
SELECTdocid,name,phone,whatsapp,category,area,city,pincode,rating,totalReviews,verified,isPaidFROM justdial_businessesWHERE phone IS NOT NULLAND verified = TRUEORDER BY totalReviews DESC, rating DESC;
🔗 Related B2B & local directory scrapers
- Google Maps Scraper — Business Leads, Phones & Websites
- 2GIS Scraper — Local Business Data (Russia, CIS, Central Asia)
- Kakao Map Scraper — Korea Local Businesses & Reviews
- Hitta.se Scraper — Swedish Business Leads, Emails & Org Numbers
- Bing Maps Business Leads Scraper — Email, Phone & Socials
📋 Changelog
- v1.2 (2026-11) — Unlocked 1,000+ multi-city & multi-category pagination: changed
maxPagesPerSearchdefault to0(auto/unlimited governed bymaxItems), added automatic consecutive-duplicate page detection, added automatic multi-city/category expansion formaxItems > 50, and tuned prefill to50items for fast<30stest runs. - v1.1 (2026-10) — Improved session rotation and columnar field normalization (
whatsapp,isPaid,openNow,pincode,lat/lng). - v1.0 (2026-09) — Initial release with Indian residential HTTP extraction and
dociddeduplication.
▶️ Ready to build your Indian B2B lead list? Enter your categories and city, click Start, and export verified Justdial business leads to Excel, CSV, or JSON!