JustDial Leads Extractor API avatar

JustDial Leads Extractor API

Pricing

from $1.80 / 1,000 business lead extracteds

Go to Apify Store
JustDial Leads Extractor API

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

Tugelbay Konabayev

Maintained by Community

Actor stats

0

Bookmarked

42

Total users

18

Monthly active users

2 hours ago

Last modified

Share

JustDial Leads Extractor API — India Business Directory Scraper

Extract JustDial business leads by category and city — enter Restaurants + Mumbai and 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

  1. 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.
  2. Local market research — estimate how many competitors exist in a city/category and compare ratings, review volume, and local coverage.
  3. Vendor sourcing — collect plumbers, electricians, event venues, clinics, logistics providers, repair shops, and other local suppliers.
  4. CRM enrichment — export names, phones, addresses, ratings, and listing URLs into a sales or operations workflow.
  5. Recurring monitoring — schedule the same category/city query weekly or monthly and compare exported datasets over time.

Why Use This Instead of Alternatives?

NeedThis actorOther Apify JustDial scrapersManual researchGeneric scraper APIs
Input modelCategory + city formOften URL/search specificManual search termsBuild your own parsing
Pricing modelPay per extracted businessMixed PPE or per-item pricingLabor timeAPI calls plus custom code
Apify workflowScheduler, API, datasets, webhooks, MCPUsually availableNoRequires integration work
Detail modeOptional, off by defaultVariesManual clicksCustom implementation
Best fitIndia lead lists and market snapshotsSimilar JustDial extraction jobsOne-off checksCustom 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

ParameterTypeDefaultRequiredDescription
categoryStringRestaurantsYesBusiness category or keyword to search on JustDial, such as Restaurants, Dentists, Hotels, Plumbers, or CA Firms.
cityStringMumbaiYesIndian city name, such as Mumbai, Delhi, Bangalore, Chennai, Kolkata, Hyderabad, Pune, or Ahmedabad.
maxItemsInteger10NoHard limit on total businesses to extract. Start small, then increase after checking data quality for your category/city.
includeDetailsBooleanfalseNoVisit each business detail page to enrich website, email, hours, coordinates, photos count, price hints, and categories when visible. Slower than default mode.
proxyConfigurationObjectApify proxy, India residentialNoProxy settings. Default uses Apify Residential proxy with country IN for better JustDial access.

Output Format

Each business becomes one dataset item.

FieldTypeDescription
nameStringBusiness name from JustDial.
categoryStringCategory text parsed from the listing or requested category fallback.
allCategoriesStringDetail-page category breadcrumbs when available.
addressStringAddress text when visible.
cityStringInput city.
pincodeStringSix-digit pincode when detected.
phoneStringPhone number when visible in listing text.
emailStringPublic email when visible in detail-page HTML. Empty if not found.
websiteStringExternal website URL when listed.
ratingNumber or nullAverage rating when visible.
ratingCountIntegerRating count when visible.
verifiedStringYes / No / empty based on visible listing markers.
workingHoursStringHours snippet when visible.
latitudeNumber or nullLatitude when embedded in the page.
longitudeNumber or nullLongitude when embedded in the page.
photoCountIntegerPhoto count when visible.
priceRangeStringPrice hint when visible.
urlStringJustDial 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 tierPrice per businessApprox. 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 sizeEstimated 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 ApifyClient
client = 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

  1. Start with maxItems: 10 for one category and city.
  2. Check the dataset for phone/address/rating coverage.
  3. Turn on includeDetails only if you need websites, emails, hours, coordinates, or extra fields.
  4. Increase maxItems after the sample looks useful.
  5. 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.

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 Restaurants instead 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 includeDetails off 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: true for 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.

See all actors: apify.com/tugelbay