Soopage Indonesia Business Directory Scraper
Pricing
from $3.00 / 1,000 results
Soopage Indonesia Business Directory Scraper
Scrape id.soopage.com - Indonesia's business directory of 419,000+ companies. Browse by province/city, walk the nationwide index, or fetch companies directly by URL. Get contact details, address, category, email, website, and more.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Scrape id.soopage.com — a directory of 419,000+ companies across Indonesia. Browse by province or city, walk the nationwide index, or fetch specific companies directly by URL. Get name, category, phone, fax, email, website, full address, contact person, and more. HTTP-only, no login, no cookies required.
What this actor does
- Three modes: browse by province/city, browse the nationwide index, or fetch companies by URL
- 34 provinces/cities/areas covered, from Jakarta (160k+ companies) down to Gorontalo
- Category keyword filter to narrow results to a business type
- Full contact enrichment — every company is enriched from its own detail page: phone, fax, de-obfuscated email, website, address, postal code, contact person, and more
- Derived Google Maps link for every company with an address
- Empty fields are omitted
Output per company
companyNamecompanyId— short id parsed from the source URLcategory— business category/type, when listedphone,faxemail— decoded from Cloudflare's obfuscated mail-protection markup when presentwebsite— normalized to a fullhttps://URLstreetAddress,city,country,postalCodecontactPerson,contactPositionaboutUs— free-text company description, when provideddescriptiongoogleMapsUrl— derived from the address (only present when an address exists)relatedCompanies— nearby companies from Soopage's own "Other Companies" sidebar, each{name, url}, when listedsearchArea— the province/city queried (byCity mode only)sourceUrl— canonical company page URLrecordType: "company",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | byCity | byCity / browseAll / byUrl |
city | string (select) | Jakarta | Province/city to browse (mode=byCity) |
categoryKeyword | string | – | Keep only companies whose category contains this text (mode=byCity, browseAll) |
companyUrls | array | – | Company page URLs or filenames to fetch directly (mode=byUrl) |
maxItems | int | 10 | Hard cap on emitted records (1–2000) |
proxyConfiguration | object | off | Optional Apify proxy — not required for normal use |
Example: browse Jakarta companies
{"mode": "byCity","city": "Jakarta","maxItems": 20}
Example: browse Bali, filtered to a category
{"mode": "byCity","city": "Bali","categoryKeyword": "hotel","maxItems": 20}
Example: walk the nationwide index
{"mode": "browseAll","maxItems": 200}
Example: fetch specific companies by URL
{"mode": "byUrl","companyUrls": ["https://id.soopage.com/company/FUSION-NET_2V8.html","AGRO-CHOMSA-PT_5K1"]}
Use cases
- B2B lead generation — build contact lists of Indonesian companies by province or category
- Market research — survey business density and category mix by province/city
- Sales prospecting — pull phone, email, and website for outbound outreach
- Data enrichment — cross-reference company names against your own CRM
- Directory migration — bulk-export listings for a specific region
Limitations
- No keyword/text search. Soopage's
/search.phppage renders only a client-side Google Custom Search widget with no server-rendered results, so a free-text keyword search mode is not possible against this source. UsebyCity+categoryKeyword, orbrowseAll+categoryKeyword, instead. - No upstream category-browse index. Soopage does not publish a category listing page.
categoryKeywordis a post-fetch filter applied to whatever category text each individual company page happens to show — it cannot enumerate "all companies in category X" upstream. byCityreturns up to ~20 companies per run. Soopage's own edge/WAF blocks every province/city listing page beyond page 1 (/city/{area}-page2.htmland higher all return a hard 403 challenge — confirmed persistent, not a rate limit, and not specific to this actor's traffic). Page 1 (up to 20 companies) is the reliable, fetchable slice of a city listing. For larger pulls, runmode=browseAll(which is not affected by this block and can walk far deeper into the nationwide index), optionally combined withcategoryKeyword, or supply specificcompanyUrlsviamode=byUrl.browseAllhas no authoritative total-page count. Unlike province/city pages (which show "Page X Of Y"), the nationwide index does not expose a total.browseAllstops once two consecutive pages return no listings, or oncemaxItemsis reached — whichever comes first.
FAQ
What is id.soopage.com? A business directory site listing companies across Indonesia by province/city, with per-company contact and address details.
Is this affiliated with Soopage? No — this is an independent, third-party actor that reads Soopage's public web pages.
Why do some companies have no email, fax, or website? Those fields are optional on the source page and are simply omitted if the company listing doesn't include them.
How is the email address recovered? Soopage uses Cloudflare's email-obfuscation feature on some listings; the actor decodes it automatically. Where a plain email is shown instead, that is used directly.
Why is category sometimes based on "Type"? Soopage shows either a "Category" or a "Type" field on a company's page (rarely both). The actor prefers "Category" and falls back to "Type" when "Category" isn't present.
Can I get every company in a province? Not via byCity alone — Soopage blocks city-listing pages beyond page 1, so byCity reliably returns up to ~20 companies per province/city per run (see Limitations). To pull larger volumes, use mode=browseAll, which walks Soopage's nationwide index without that restriction, optionally combined with categoryKeyword to narrow the results.
How fresh is the data? As fresh as the source pages — the actor reads live HTML on every run and does not cache.
Is the website field always live? It's the company's self-reported website exactly as published on their Soopage listing, some of which date back many years — a handful of listed domains may have since lapsed or changed hands. sourceUrl (the Soopage listing itself) and googleMapsUrl are actor-generated and always resolve.