JustDial Business Leads Scraper
Pricing
Pay per event
JustDial Business Leads Scraper
Extract business leads from JustDial — India's largest local directory with 30M+ listings. Get name, phone, address, rating, and reviews for B2B prospecting.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract verified business leads from JustDial — India's largest local business directory with 30M+ listings. Collect business names, phone numbers, addresses, ratings, reviews, and more for B2B prospecting, market research, and competitive analysis.
🌟 What does it do?
This actor crawls JustDial search result pages for any city + category combination in India and extracts structured business lead data. Supply a list of search queries — for example "Restaurants in Mumbai" or "IT Companies in Bangalore" — and receive a clean, export-ready dataset within minutes.
No manual searching. No copy-pasting. Just actionable B2B lead lists.
👤 Who is it for?
- B2B sales teams targeting Indian SMEs — build contact lists for any vertical and city in minutes
- Lead generation agencies serving Indian clients — produce verified, categorised lead sheets at scale
- Market researchers mapping the competitive landscape — understand who is operating in any city and niche
- Recruiters sourcing from SMB employers — find IT, finance, and healthcare firms in target cities
- CRM managers enriching existing databases — add phone, address, and rating data to company records
- Entrepreneurs doing pre-launch validation — see who is already in a market and how well-rated they are
💡 Why use it?
JustDial has the most comprehensive coverage of Indian local businesses — significantly more than Google Maps for SME listings in Tier 2 and Tier 3 cities. Phone numbers on JustDial are verified by the platform, making them far more reliable than other lead sources.
- ✅ 30M+ listings across India
- ✅ Verified phone numbers included
- ✅ Ratings and review counts for lead qualification
- ✅ Supports any city + category combination
- ✅ Handles pagination automatically — scrape 10 or 1000 results per search
📊 Data extracted per business
| Field | Description | Example |
|---|---|---|
name | Business name | "Afzal's Mao Restaurant" |
phone | Primary phone number | "09972349574" |
category | Business category | "Restaurants" |
address | Street address or locality | "Carnac Road Masjid Bunder, Mumbai" |
locality | Neighbourhood/area | "Masjid Bunder, Mumbai" |
city | City | "Mumbai" |
pincode | Postal code (when available) | "400003" |
rating | Average rating (0–5) | 4.1 |
reviewCount | Total ratings count | 507 |
website | Business website (when listed) | "https://example.com" |
verified | JustDial verified badge | true |
services | Service tags/keywords | ["North Indian", "Chinese"] |
imageUrl | Primary listing image URL | "https://content.jdmagicbox.com/..." |
listingUrl | Full JustDial listing URL | "https://www.justdial.com/Mumbai/..." |
searchCity | City used in search | "Mumbai" |
searchCategory | Category used in search | "Restaurants" |
scrapedAt | Extraction timestamp (ISO) | "2026-05-12T08:23:51.120Z" |
💰 How much does it cost to scrape JustDial leads?
This actor uses pay-per-event pricing — you only pay for results actually extracted.
| Usage tier | Price per lead |
|---|---|
| Free (first 1,000/month) | $0.0035 |
| Bronze (1K–50K/month) | $0.0030 |
| Silver (50K–200K/month) | $0.0023 |
| Gold (200K–500K/month) | $0.0018 |
| Platinum (500K–2M/month) | $0.0012 |
| Diamond (2M+/month) | $0.00084 |
Example costs:
- 100 leads (one small search): ~$0.38 including run start fee
- 1,000 leads (10 city+category searches): ~$3.28
- 10,000 leads (bulk lead list): ~$27.50
Compared to purchased lead lists at $0.50–$2.00/contact, this actor delivers verified Indian business leads at 10–40× lower cost.
🚀 How to use it
- Open the actor on Apify and click Try for free
- Add your searches — enter city and category pairs (e.g.,
{"city": "Mumbai", "category": "Restaurants"}) - Set the result limit —
maxResultsPerSearchcontrols how many leads to collect per search (default: 100) - Run — the actor fetches results and outputs a clean dataset
- Export — download as CSV, JSON, or connect to Google Sheets / your CRM
⚙️ Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searches | Array | [{"city":"Mumbai","category":"Restaurants"}] | List of city + category search pairs |
urls | Array | — | Direct JustDial search page URLs (alternative to searches) |
maxResultsPerSearch | Integer | 100 | Maximum leads to collect per search query |
includePhoneNumbers | Boolean | true | Whether to extract phone numbers |
maxConcurrency | Integer | 2 | Parallel page requests (keep ≤3 for stability) |
maxRetries | Integer | 3 | Retry attempts per failed page |
proxyConfiguration | Object | RESIDENTIAL (India) | Proxy settings — defaults to Indian residential proxy required by JustDial |
Common city names
Mumbai, Delhi, Bangalore, Chennai, Hyderabad, Pune, Kolkata, Ahmedabad, Jaipur, Surat, Lucknow, Kanpur, Nagpur, Indore, Thane, Bhopal, Visakhapatnam, Pimpri-Chinchwad, Patna, Vadodara, Ghaziabad, Ludhiana, Agra, Nashik, Faridabad, Meerut, Rajkot, Kalyan-Dombivali, Vasai-Virar, Varanasi
Common category examples
Restaurants, Dentists, IT-Companies, Hotels, Hospitals, Gyms, Lawyers, Chartered-Accountants, Real-Estate-Agents, Schools, Colleges, Plumbers, Electricians, Architects, Caterers, Event-Management-Companies, Digital-Marketing-Agencies
📤 Output format
Each item in the dataset represents one business listing:
{"name": "Afzal's Mao Restaurant","phone": "09972349574","category": "Restaurants","address": "Carnac Road Masjid Bunder, Mumbai","locality": "Carnac Road Masjid Bunder, Mumbai","city": "Mumbai","pincode": "","rating": 4.1,"reviewCount": 507,"website": "","verified": false,"services": [],"imageUrl": "https://content.jdmagicbox.com/v2/comp/mumbai/...","listingUrl": "https://www.justdial.com/Mumbai/Afzals-Mao-Restaurant-.../022PXX22-...","searchCity": "Mumbai","searchCategory": "Restaurants","scrapedAt": "2026-05-12T08:23:51.120Z"}
💡 Tips for best results
- Use exact JustDial category names — copy the slug from a JustDial URL (e.g.
/Mumbai/IT-Companies) for precise matching - Start with small limits — use
maxResultsPerSearch: 20to test your search, then scale up - Target Tier 2 cities — JustDial's coverage of Nashik, Surat, Indore is much better than Google Maps for local businesses
- Filter by rating — post-process results to keep only businesses with
rating >= 4.0for higher-quality outreach - Multi-city campaigns — add 5–10 city+category pairs in a single run for bulk lead collection
🔗 Integrations
CRM upload via Zapier / Make: Export the dataset as CSV from Apify and import directly into Salesforce, HubSpot, Pipedrive, or Zoho CRM for immediate outreach.
Google Sheets sync: Use the Apify Google Sheets integration to sync the dataset directly to a sheet your sales team uses.
Automated email outreach: Pipe leads into Instantly.ai, Apollo.io, or Lemlist via CSV to run targeted email sequences by category and city.
Webhook-triggered enrichment: Trigger enrichment workflows on each new batch using Apify webhooks → n8n → LinkedIn enrichment → CRM push.
🔌 API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/justdial-leads-scraper').call({searches: [{ city: 'Mumbai', category: 'Restaurants' },{ city: 'Delhi', category: 'Dentists' },],maxResultsPerSearch: 100,includePhoneNumbers: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Extracted ${items.length} leads`);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/justdial-leads-scraper").call(run_input={"searches": [{"city": "Bangalore", "category": "IT-Companies"},{"city": "Chennai", "category": "Hospitals"},],"maxResultsPerSearch": 200,"includePhoneNumbers": True,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(f"Extracted {len(items)} leads")
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~justdial-leads-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"searches": [{"city": "Pune", "category": "Gyms"}],"maxResultsPerSearch": 50}'
🤖 MCP (Claude AI) integration
Connect this actor to Claude AI via the Model Context Protocol (MCP) for conversational lead scraping.
Claude Code / terminal
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/justdial-leads-scraper"
Claude Desktop / Cursor / VS Code
Add to your MCP config (claude_desktop_config.json or settings.json):
{"mcpServers": {"apify": {"type": "http","url": "https://mcp.apify.com?tools=automation-lab/justdial-leads-scraper","headers": {"Authorization": "Bearer YOUR_APIFY_API_TOKEN"}}}}
Example prompts
- "Scrape the top 50 restaurants in Hyderabad from JustDial"
- "Get me a list of IT companies in Bangalore with rating above 4.0"
- "Extract dentists in Delhi and Chennai for our dental supply outreach campaign"
- "Find 200 gyms across Mumbai, Pune, and Nashik with their phone numbers"
⚖️ Legality
This actor scrapes publicly available data from JustDial. Business names, addresses, phone numbers, and ratings displayed on JustDial's public search result pages are intended for public discovery of local services. Web scraping of public data is generally lawful under Indian and international law when done for legitimate commercial purposes.
We recommend:
- Respecting rate limits (the actor uses conservative concurrency settings by default)
- Using the data for legitimate B2B outreach, research, or internal use
- Not reselling raw scraped data without adding value
- Complying with applicable data protection regulations (PDPB/IT Act in India, GDPR if handling EU data)
❓ FAQ
Q: How many results can I get per search? A: JustDial typically shows 10 results per page. The actor paginates automatically. Practical limits vary by city and category — major metros often have 50–200+ results for popular categories, while niche categories may have 10–30.
Q: Why is a residential proxy required?
A: JustDial uses Akamai bot protection that blocks datacenter IP addresses. Indian residential proxy IPs are required. The actor defaults to Apify's RESIDENTIAL proxy group with countryCode=IN. This is included in the PPE pricing.
Q: Phone numbers appear as partial — why? A: JustDial occasionally masks phone numbers in search results for privacy reasons. In most cases, the full number is visible in the HTML source. If you see partial numbers, try the listing URL directly.
Q: Can I scrape a specific locality or area?
A: Currently the actor targets city + category. For more specific area targeting, pass the full JustDial search URL (e.g. https://www.justdial.com/Mumbai/Restaurants-in-Bandra) in the urls parameter.
Q: The actor returned 0 results — what happened? A: Most likely the residential proxy IP was rate-limited by JustDial. Try running again (the actor rotates IPs on each run). If issues persist, contact support.
Q: Can I scrape reviews or detailed listing pages? A: This actor focuses on search result pages (high-volume lead lists). For review scraping or detailed listing pages, see Google Maps Reviews Scraper.
🔗 Related scrapers
- Google Maps Lead Finder — global business leads with coordinates
- Naukri Job Scraper — Indian job listings for talent sourcing
- Yellow Pages Scraper — US/Canada business leads
- PagesJaunes France Business Scraper — French business directory