JustDial Leads Extractor API
Pricing
from $1.80 / 1,000 business lead extracteds
JustDial Leads Extractor API
Extract public business leads from JustDial.com by category and Indian city. Get names, phone numbers, addresses, ratings, listing URLs, and optional detail-page enrichment for websites, emails, hours, coordinates, photos count, and price hints.
Pricing
from $1.80 / 1,000 business lead extracteds
Rating
0.0
(0)
Developer
Tugelbay Konabayev
Actor stats
0
Bookmarked
42
Total users
18
Monthly active users
2 hours ago
Last modified
Categories
Share
JustDial Leads Extractor API — India Business Directory Scraper
Extract JustDial business leads by category and city — enter
Restaurants+Mumbaiand get structured rows with business name, phone, address, rating, listing URL, and optional detail-page enrichment. Built for India B2B lead workflows — export to CSV, Excel, Google Sheets, webhooks, CRM import, Apify API, or MCP/AI workflows. Pay per result — current Store pricing is listed from $1.80 to $2.50 per 1,000 extracted businesses, depending on your Apify plan tier.
JustDial Leads Extractor collects public business listing data from JustDial.com for sales prospecting, market research, competitor mapping, vendor sourcing, and local directory analysis in India.
Use it when you need a focused, Apify-native JustDial scraper with simple inputs, structured dataset output, scheduling, and API access.
What This Actor Does
The actor searches JustDial by business category and Indian city, then returns one dataset item per business listing.
Default mode is intentionally fast and cheap: it extracts search-result data only. Turn on includeDetails when you need extra fields from each business page.
Data You Can Extract
Default search-result fields:
- business name
- category
- address
- city
- pincode when visible
- phone number when visible
- rating and rating count when visible
- verified flag when visible
- JustDial listing URL
Optional detail enrichment can add:
- website URL when listed
- email when publicly visible on the page
- working-hours text when visible
- coordinates when embedded in the page
- photo count or price-range hints when visible
- additional category breadcrumbs when visible
Important: JustDial pages vary by category, city, listing type, and current frontend version. Some fields can be empty even when the run succeeds.
Best Use Cases
- India B2B lead generation — build category-by-city prospect lists such as restaurants in Mumbai, dentists in Delhi, salons in Pune, or CA firms in Bangalore.
- Local market research — estimate how many competitors exist in a city/category and compare ratings, review volume, and local coverage.
- Vendor sourcing — collect plumbers, electricians, event venues, clinics, logistics providers, repair shops, and other local suppliers.
- CRM enrichment — export names, phones, addresses, ratings, and listing URLs into a sales or operations workflow.
- Recurring monitoring — schedule the same category/city query weekly or monthly and compare exported datasets over time.
Why Use This Instead of Alternatives?
| Need | This actor | Other Apify JustDial scrapers | Manual research | Generic scraper APIs |
|---|---|---|---|---|
| Input model | Category + city form | Often URL/search specific | Manual search terms | Build your own parsing |
| Pricing model | Pay per extracted business | Mixed PPE or per-item pricing | Labor time | API calls plus custom code |
| Apify workflow | Scheduler, API, datasets, webhooks, MCP | Usually available | No | Requires integration work |
| Detail mode | Optional, off by default | Varies | Manual clicks | Custom implementation |
| Best fit | India lead lists and market snapshots | Similar JustDial extraction jobs | One-off checks | Custom data products |
This actor's advantage is a simple, safe default path: get a quick sample with maxItems: 10, then scale only the categories and cities that produce useful data.
Input Examples
Restaurants in Mumbai
{"category": "Restaurants","city": "Mumbai","maxItems": 50}
Dentists in Delhi with detail enrichment
{"category": "Dentists","city": "Delhi","maxItems": 25,"includeDetails": true}
Plumbers in Chennai
{"category": "Plumbers","city": "Chennai","maxItems": 100}
Input Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
category | String | Restaurants | Yes | Business category or keyword to search on JustDial, such as Restaurants, Dentists, Hotels, Plumbers, or CA Firms. |
city | String | Mumbai | Yes | Indian city name, such as Mumbai, Delhi, Bangalore, Chennai, Kolkata, Hyderabad, Pune, or Ahmedabad. |
maxItems | Integer | 10 | No | Hard limit on total businesses to extract. Start small, then increase after checking data quality for your category/city. |
includeDetails | Boolean | false | No | Visit each business detail page to enrich website, email, hours, coordinates, photos count, price hints, and categories when visible. Slower than default mode. |
proxyConfiguration | Object | Apify proxy, India residential | No | Proxy settings. Default uses Apify Residential proxy with country IN for better JustDial access. |
Output Format
Each business becomes one dataset item.
| Field | Type | Description |
|---|---|---|
name | String | Business name from JustDial. |
category | String | Category text parsed from the listing or requested category fallback. |
allCategories | String | Detail-page category breadcrumbs when available. |
address | String | Address text when visible. |
city | String | Input city. |
pincode | String | Six-digit pincode when detected. |
phone | String | Phone number when visible in listing text. |
email | String | Public email when visible in detail-page HTML. Empty if not found. |
website | String | External website URL when listed. |
rating | Number or null | Average rating when visible. |
ratingCount | Integer | Rating count when visible. |
verified | String | Yes / No / empty based on visible listing markers. |
workingHours | String | Hours snippet when visible. |
latitude | Number or null | Latitude when embedded in the page. |
longitude | Number or null | Longitude when embedded in the page. |
photoCount | Integer | Photo count when visible. |
priceRange | String | Price hint when visible. |
url | String | JustDial listing URL. |
Example Output
{"name": "Example Restaurant","category": "Restaurants","address": "Andheri East, Mumbai 400069","city": "Mumbai","pincode": "400069","phone": "09876543210","email": "","website": "","rating": 4.2,"ratingCount": 148,"verified": "Yes","workingHours": "Open until 10:30 PM","latitude": null,"longitude": null,"url": "https://www.justdial.com/Mumbai/example/BZDET"}
Cost Estimation
This actor uses Pay-Per-Event (PPE) pricing. Each dataset item is one billable extracted business.
Current Store pricing is tiered by Apify plan:
| Plan tier | Price per business | Approx. per 1,000 businesses |
|---|---|---|
| Free | $0.0025 | $2.50 |
| Bronze | $0.0022 | $2.20 |
| Silver | $0.0020 | $2.00 |
| Gold+ | $0.0018 | $1.80 |
Example costs:
| Run size | Estimated cost |
|---|---|
| 10 businesses | ~$0.018-$0.025 |
| 100 businesses | ~$0.18-$0.25 |
| 1,000 businesses | ~$1.80-$2.50 |
| 5,000 businesses | ~$9-$12.50 |
Apify platform compute and proxy usage can also affect total account spend, especially with detail enrichment and large runs.
Integrations
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("tugelbay/justdial-leads-extractor").call(run_input={"category": "Restaurants","city": "Mumbai","maxItems": 50,"includeDetails": False,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["name"], item.get("phone"), item.get("rating"))
JavaScript
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("tugelbay/justdial-leads-extractor").call({category: "Dentists",city: "Delhi",maxItems: 25,includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const business of items) {console.log(business.name, business.phone, business.website);}
Automated Exports
Use Apify's built-in dataset exports and integrations:
- CSV or Excel for spreadsheet workflows
- Google Sheets for live lead lists
- Webhooks for CRM or Slack notifications
- Apify API for custom apps
- Apify MCP Server for agent workflows
Practical Workflow
- Start with
maxItems: 10for one category and city. - Check the dataset for phone/address/rating coverage.
- Turn on
includeDetailsonly if you need websites, emails, hours, coordinates, or extra fields. - Increase
maxItemsafter the sample looks useful. - Schedule recurring runs for the categories that matter.
FAQ
Does it extract emails?
Sometimes. Emails are extracted only when they are publicly visible in the listing or detail-page HTML. Many JustDial listings do not expose email, so phone and listing URL should be treated as the primary contact fields.
Does it extract reviews?
No. The current production actor returns rating and rating count when visible. It does not currently extract individual review text.
Does it support search URLs or multiple searches in one run?
No. The current input model is one category and one city per run. For multiple categories or cities, create multiple runs or schedules.
Why are some fields empty?
JustDial listing layouts vary and not every business exposes phone, website, email, hours, coordinates, photos, or price hints. Empty fields mean the data was not visible or could not be parsed reliably for that listing.
How many results should I request?
Start with 10 to verify a category/city. For production, use 50-500 per run depending on your budget and latency tolerance. Very large runs can take longer and may hit site or proxy limits.
Is this legal to use?
This actor extracts publicly available business listing data. You are responsible for using the output lawfully, respecting JustDial's terms, privacy rules, telemarketing rules, and any local regulations that apply to outreach or resale.
Troubleshooting
No results found
- Check city spelling.
- Try a broader category, such as
Restaurantsinstead of a narrow long-tail phrase. - Test the category/city manually on JustDial.
- Lower filters by using the simple category and city inputs only.
Run is slow
- Keep
includeDetailsoff unless needed. - Reduce
maxItems. - Split large category/city lists into separate runs.
- Avoid starting many large runs at the same time.
Phone or email is missing
- The listing may not expose it publicly.
- Try
includeDetails: truefor extra fields. - Use the JustDial listing URL to manually verify high-value leads.
Proxy or access errors
- Keep the default Apify Residential proxy with country
IN. - Retry later if JustDial temporarily limits access.
- Reduce run size if you repeatedly hit access issues.
Limitations
- One category and one city per run.
- No individual review-text extraction.
- Detail enrichment is slower and field coverage varies by page.
- Emails, websites, coordinates, photos, and price hints are best-effort fields.
- Phone numbers can be absent or outdated; verify before outreach.
- Large runs can take longer and can be affected by JustDial rate limiting.
- Output reflects current JustDial pages at extraction time; it is not historical data.
Related Actors
- Google Maps Lead Extractor — Extract business leads from Google Maps
- 2GIS Scraper — Extract business data from 2GIS
- Website Tech Stack Detector — Identify technologies on any website
- RAG Web Browser — Search Google and extract pages as Markdown for AI workflows
See all actors: apify.com/tugelbay