Whatsapp Indonesia Leads Scrape by Places avatar

Whatsapp Indonesia Leads Scrape by Places

Pricing

from $6.00 / 1,000 whatsapp-ready leads

Go to Apify Store
Whatsapp Indonesia Leads Scrape by Places

Whatsapp Indonesia Leads Scrape by Places

Get WhatsApp-ready local leads from 22 Indonesian cities. Pick a city and place type, then download +62 mobiles and wa.me links from public OpenStreetMap. Export CSV or Excel, schedule runs, or call the API. You only pay for rows you can message. Not a Google Maps scraper.

Pricing

from $6.00 / 1,000 whatsapp-ready leads

Rating

0.0

(0)

Developer

Mason Alv

Mason Alv

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does WaReady ID do?

Get WhatsApp-ready local leads from Indonesian cities for outreach, market lists, or research. Pick a city and a place type, then download businesses you can actually message.

You get:

  • A place name plus the city and category you asked for
  • An Indonesian mobile in +62 format when one is public
  • A clickable wa.me link you can open in WhatsApp
{
"name": "Warung Sederhana",
"city": "Jakarta",
"category": "restaurant",
"phone_e164": "+6281234567890",
"wa_me": "https://wa.me/6281234567890",
"lead_ready": true
}

Try the default input (Jakarta restaurants) on Apify. Then export CSV or Excel, or pull the list from the Apify API.

The data comes from public OpenStreetMap places via the Overpass API. This is not a Google Maps scraper and it never logs into WhatsApp.

Why use WaReady ID?

Most map dumps give you pins. This Actor gives you numbers you can open in WhatsApp.

  • Lead-gen and outreach teams — build city lists for restaurants, clinics, hotels, salons, and shops, then click wa.me into a campaign.
  • Local SEO and listing shops — collect consistent packs for 22 Indonesian cities, from Jakarta and Surabaya to Semarang, Makassar, and Batam.
  • Researchers and operators — keep callable places (name, phone, address), not just coordinates.

On Apify you also get scheduling, API access, integrations (Make, n8n, Zapier), run monitoring, and pay-per-event billing so you only pay for WhatsApp-ready rows.

What data can WaReady ID extract?

FieldWhat it means
namePlace name
city / categoryThe pack you selected
phone_e164Indonesian mobile (+628…), or empty if it is a landline
wa_mehttps://wa.me/628… when the number is a mobile
lead_readytrue only when both the mobile and the WhatsApp link exist
addressStreet address when OpenStreetMap has one
lat / lonMap coordinates
osm_urlLink to the public OpenStreetMap page

Landlines (021, 031, and similar) stay in the file so you can see coverage. They are marked lead_ready: false and you are not billed for them.

How to scrape WhatsApp-ready Indonesia leads

  1. Open the Actor in Apify Console.
  2. On the Input tab, pick a city and category (defaults: Jakarta restaurants).
  3. Set Max places (1–500, default 50) if you want a smaller sample.
  4. Click Start. When the run finishes, open the Output tab.
  5. Download JSON, HTML, CSV, or Excel, or pull items from the dataset API.

No coding is required for a first run. Developers can start the same Actor from the API tab.

How much will it cost to scrape Indonesian local leads?

You pay only for WhatsApp-ready rows. The billed event is lead_ready — one charge per place that has a +62 mobile and a wa.me link.

Failed runs and landline-only rows are free.

Example: if the live price is $0.006 per ready lead, then 1,000 WhatsApp-ready leads cost $6. Check the Pricing tab for the exact rate.

A 15–50 place sample is a cheap way to confirm a city before you scale. Runs are HTTP-only (no browser). Memory is capped at 256–1024 MB so compute stays predictable.

Input

See the Input tab for the full form. You only need a city and a category.

FieldOptions
CityJakarta, Surabaya, Bandung, Semarang, Yogyakarta, Surakarta, Malang, Medan, Palembang, Pekanbaru, Padang, Bandar Lampung, Jambi, Makassar, Manado, Denpasar, Mataram, Samarinda, Balikpapan, Banjarmasin, Pontianak, Batam
CategoryRestaurant, cafe, hotel, clinic, salon, gym, spa, shop
Max places1–500 (default 50). The list can include landlines; you only pay for ready rows.
{
"city": "Jakarta",
"category": "restaurant",
"maxItems": 15
}

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

{
"name": "Warung Sederhana",
"city": "Jakarta",
"category": "restaurant",
"phone_e164": "+6281234567890",
"wa_me": "https://wa.me/6281234567890",
"lead_ready": true,
"address": "10 Jl. Melawai Jakarta",
"lat": -6.244,
"lon": 106.801,
"osm_url": "https://www.openstreetmap.org/node/42"
}

A landline row looks the same except phone_e164 and wa_me are empty and lead_ready is false.

Tips and advanced options

  • Start with 15–50 places while you confirm coverage in a city.
  • Shop is a broad filter and can take longer in Jakarta.
  • Indonesian mobiles like 08xx, 8xx, +62 8xx, and 00 62 8xx are normalized to +628….
  • Set a max cost per run in Console if you want a hard spend cap. The Actor stops when that limit is reached.

MAMS HQ reporting

Each run can push telemetry to MAMS HQ so Finance and Tech rooms stay current. Reporting is implemented in src/mams.ts and runs automatically when the env vars below are set. If they are unset, the Actor still works and ingest is skipped.

VariableRequiredPurpose
MAMS_URLYesHQ base URL (e.g. https://your-mams.vercel.app)
MAMS_KEYYesIngest key sent as x-mams-key header
MAMS_SLUGNoBusiness slug in HQ (default waready-id)
MAMS_PUSH_STATUSNoSet to 1 to POST lifecycle updates to /api/ingest/status
MAMS_STATUSNoHQ status when MAMS_PUSH_STATUS=1 (building, launched, etc.)
MAMS_PUBLIC_URLNoStore or product URL for HQ
MAMS_REPO_URLNoGit repo URL for HQ
MAMS_LAUNCH_DATENoYYYY-MM-DD launch date for HQ

What each run reports

  • Heartbeat — start and end of every run (/api/ingest/heartbeat)
  • Metricsruns_count, items_out, leads_ready, run_failures, error_count, compute_cost_usd, revenue_usd with per-run dims (/api/ingest/metrics)
  • Financials — daily UTC revenue and compute cost, merged in the Actor KV store (/api/ingest/financials)
  • Status — only when MAMS_PUSH_STATUS=1 (/api/ingest/status)

Copy .env.example to .env for local apify run. On Apify Console, add the same keys under Settings → Environment variables (never commit live secrets).

FAQ, disclaimers, and support

Does this scrape WhatsApp or Google Maps?

No. It reads public OpenStreetMap place tags. It does not scrape Google Maps and does not log into WhatsApp.

Our Actors do not extract private user data such as email addresses or gender. They only extract what has been shared publicly on OpenStreetMap. Results can still contain personal data (business phones). Personal data is protected by the GDPR in the European Union and by other regulations around the world. Do not scrape personal data unless you have a legitimate reason. If you are unsure, consult your lawyers.

Why are some rows not WhatsApp-ready?

OpenStreetMap often stores landlines. Those rows stay in the dataset so you can see coverage, but they are not charged.

Can I use this from Make, n8n, or my own API?

Yes. Use the API tab, or connect the Actor through Apify integrations. The dataset is the same list you see in Output.

Where do I report issues?

Use the Actor Issues tab. We aim to reply quickly.