JustDial Business Leads Scraper avatar

JustDial Business Leads Scraper

Pricing

Pay per event

Go to Apify Store
JustDial Business Leads Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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

FieldDescriptionExample
nameBusiness name"Afzal's Mao Restaurant"
phonePrimary phone number"09972349574"
categoryBusiness category"Restaurants"
addressStreet address or locality"Carnac Road Masjid Bunder, Mumbai"
localityNeighbourhood/area"Masjid Bunder, Mumbai"
cityCity"Mumbai"
pincodePostal code (when available)"400003"
ratingAverage rating (0–5)4.1
reviewCountTotal ratings count507
websiteBusiness website (when listed)"https://example.com"
verifiedJustDial verified badgetrue
servicesService tags/keywords["North Indian", "Chinese"]
imageUrlPrimary listing image URL"https://content.jdmagicbox.com/..."
listingUrlFull JustDial listing URL"https://www.justdial.com/Mumbai/..."
searchCityCity used in search"Mumbai"
searchCategoryCategory used in search"Restaurants"
scrapedAtExtraction 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 tierPrice 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

  1. Open the actor on Apify and click Try for free
  2. Add your searches — enter city and category pairs (e.g., {"city": "Mumbai", "category": "Restaurants"})
  3. Set the result limitmaxResultsPerSearch controls how many leads to collect per search (default: 100)
  4. Run — the actor fetches results and outputs a clean dataset
  5. Export — download as CSV, JSON, or connect to Google Sheets / your CRM

⚙️ Input parameters

ParameterTypeDefaultDescription
searchesArray[{"city":"Mumbai","category":"Restaurants"}]List of city + category search pairs
urlsArrayDirect JustDial search page URLs (alternative to searches)
maxResultsPerSearchInteger100Maximum leads to collect per search query
includePhoneNumbersBooleantrueWhether to extract phone numbers
maxConcurrencyInteger2Parallel page requests (keep ≤3 for stability)
maxRetriesInteger3Retry attempts per failed page
proxyConfigurationObjectRESIDENTIAL (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: 20 to 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.0 for 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 ApifyClient
client = 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().items
print(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.