Malaysia Business Directory List Scraper (Phone & Address) avatar

Malaysia Business Directory List Scraper (Phone & Address)

Pricing

$0.004 / business listing

Go to Apify Store
Malaysia Business Directory List Scraper (Phone & Address)

Malaysia Business Directory List Scraper (Phone & Address)

Malaysian businesses from the businesslist.my directory with phone, street address, city, state and postcode. Filter by category, state and city.

Pricing

$0.004 / business listing

Rating

0.0

(0)

Developer

ScrapeBench

ScrapeBench

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

5 hours ago

Last modified

Categories

Share

Pain points

  • businesslist.my shows 20 listings per page, so one category such as car parts and accessories (3,907 listings on 2026-10-25) is about 196 pages of clicking and copying.
  • Each listing's address is one line of text the business typed itself, so street, city, state and postcode cannot be sorted or filtered without splitting it first.
  • The state is written many ways ('Penang', 'P. Pinang', 'Kuala Lumpur', 'WP'), so filtering a list by state by hand misses rows.

What we solve

  • Returns every listing in the categories you pick in one run, with phone, street, city, state and postcode as separate columns.
  • Maps the many ways a state is written to the 13 states and Wilayah Persekutuan, so a 'Selangor' or 'Pulau Pinang' filter catches them all; each filter takes a list.
  • A business filed under several categories is returned and billed once. Every row carries the date the directory showed it.

Summary

Build a Malaysian business prospect list in one run. Pick categories from the businesslist.my directory (365 of them, from advertising to car parts), narrow by state and city, and get each listing's name, phone, street, city, state, postcode and, where the business pinned it, map coordinates. The stored copy read on 2026-10-26 holds 282,896 distinct businesses across all 365 categories: 98.6% have a phone, 86.8% a street, 95.2% a recognised state, 43.7% a postcode and 18.6% map coordinates. The city column holds a town on 59.2%; on another 17.6% the business typed its state in the town slot, and that is kept as written. The directory publishes no email on its listing pages. Data comes from a stored copy of the directory, so a run returns in seconds; each row says when it was read. Pay only per listing returned.

Who it's for

  • B2B sales teams and agencies prospecting Malaysian businesses by trade and state
  • Suppliers and distributors building dealer lists in Selangor, Johor or Penang
  • Marketing and data teams enriching a CRM with Malaysian phone and address data
  • Researchers counting businesses by category and state

How to use

This actor does two jobs. Run it, then collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API).

Get a list (export): no names, just filters; returns the whole matching list.

{
"categories": [
"car-parts-and-accessories"
],
"maxResults": 200
}

Check specific firms (lookup): put company names or licence numbers in queries; Inputs below says how each is matched.

{
"queries": [
"Leed Sports"
],
"maxResults": 5
}

See Inputs below for every available field.

What you get

One row per record:

FieldDescription
nameBusiness name as listed
phonePhone number as the business wrote it
phone_e164The same number in international format (+60...), when it can be read unambiguously
streetStreet address
cityCity or town as the business wrote it (sometimes its state; the region column is the reliable state)
regionState (one of the 13 states or Wilayah Persekutuan)
postal_codeMalaysian postcode, when written in the address
latLatitude, when the business pinned its location
lngLongitude
categoryThe businesslist.my category the listing was found in
listing_idbusinesslist.my company ID, stable per business
extrasThe full address line, and the state as typed when it differs from the recognised one
source'snapshot' (stored copy) or 'live'
source_urlThe listing's page on businesslist.my

Sample:

{
"name": "Leed Sports & Trading",
"phone": "+60392222243",
"phone_e164": "+60392222243",
"street": "3A Block B, Jubilee Court, Jalan Jubilee, Off Jalan Loke Yew, 55200",
"city": "Kuala Lumpur",
"region": "Wilayah Persekutuan",
"postal_code": "55200",
"lat": 3.1303936038009894,
"lng": 101.70847535133362,
"country": "MY",
"category": "Advertising",
"listing_id": "364410",
"extras": {
"address": "3A Block B, Jubilee Court, Jalan Jubilee, Off Jalan Loke Yew, 55200, Kuala Lumpur , Wilayah Persekutuan, Malaysia"
},
"source": "snapshot",
"source_url": "https://www.businesslist.my/company/364410/leed-sportstrading"
}

Inputs

FieldRequiredTypeDefaultDescription
modenostring"auto"export: no names, just filters; returns the whole matching list. lookup: put business names in 'queries'. auto picks the mode for you.
querynostring—A business name (or listing number) to look up in the stored copy of the directory. Kept alongside 'queries' for saved tasks.
queriesnoarray[]A business name (or listing number) to look up in the stored copy of the directory. Several values in one run; combined with 'query'.
statenostring—Only listings in this state. Kept alongside 'states' for saved tasks.
statesnoarray[]Only listings in this state. Several values in one run; combined with 'state'.
citynostring—Only listings in this city. Kept alongside 'cities' for saved tasks.
citiesnoarray[]Only listings in this city. Several values in one run; combined with 'city'.
categoriesnoarray[]Only these categories, in the source's own names. Available: 3d-technology, ac-repair-services, advertising, advice-centres, aerospace, after-school-programs, agtech-agricultural-technology, air-transport, air-travel, aluminium-openings, anti-aging-care, apartment-rental, apartments, apps, architectural-services, artificial-intelligence, arts-and-crafts, asset-management, associations, attractions, auctions, audit-and-accounting, augmented-reality, auto-dealers-newused, auto-insurance, … (365 in all; an unknown name returns the full list, free).
maxResultsnointeger500Per query in lookup mode; per run in export mode.
proxyConfigurationnoobject{"useApifyProxy": false}Used only for live lookups; exports read the stored snapshot.

Pricing (Pay Per Event)

You pay per result (dataset-item) — no charge for empty runs. Example: 500 business listings at $0.004/result ≈ $2.00.

Notices (unknown category, a request too large for one run, stale data) are free. Apify platform usage is billed separately per your plan.

Use cases

  • Outbound lead generation: every car parts and accessories business in Malaysia with phone and street address, ready for a CRM import.
  • Territory planning: list one trade across several states and cities and assign it to reps.
  • Supplier prospecting: pull advertising agencies or workshops in one state by category.
  • Market sizing: count listings per category and state before you buy a full list.

Why this actor

  • Phone on 98.6% and a recognised state on 95.2% of 282,896 businesses (2026-10-26).
  • Address split into street, city, state and postcode, ready to sort and filter.
  • State spellings mapped to the 13 states and Wilayah Persekutuan.
  • Each business once, even when it is filed under several categories.
  • Pay per listing; notices are free.

Limitations & updates

Covers businesses listed on businesslist.my under its 365 indexed categories. Data is served from a stored copy, so it can be weeks old; the run log states its date. No email is published on listing pages. Postcode and coordinates appear only where the business wrote or pinned them. One run loads up to 300,000 listings.

FAQ

Where does the data come from?

The public businesslist.my business directory. We keep a stored copy of its category pages and serve your run from it, so results come back in seconds. The run log states the date of the copy.

How do I choose categories?

Use businesslist.my's own category names as they appear in its web addresses, e.g. 'car-parts-and-accessories' or 'advertising'. Enter any name the actor does not know and it returns the full list of 365 categories as a free row.

Can I filter by state or city?

Yes. 'state' is one of the 13 states or Wilayah Persekutuan (Kuala Lumpur, Putrajaya and Labuan); 'city' is the town in the address. Both take a list of values. For a whole state use 'state': about one listing in six has its state typed where the town should be, so a town filter alone misses those.

Does it include emails?

No. businesslist.my does not show an email on its listing pages. Phone is on 98.6% of listings.

Why is phone_e164 sometimes empty?

It is filled only when the number can be read unambiguously as a Malaysian number (67.3% of businesses on 2026-10-26). The phone column always keeps the number exactly as the business wrote it.

How current is it?

The stored copy is refreshed when it is older than a month and the actor is in use. The run log states the date of the copy, and a run served from a copy older than 45 days returns one free notice saying so.

How am I charged?

One event per business listing returned. A business found in two of your categories is charged once. Notices are free.

Guides & use cases

Written up on scrapebench.dev — the bench that runs and verifies this actor against the live source every night:

More actors, coverage and nightly verification results: scrapebench.dev

Works with AI assistants (MCP)

Callable as an MCP tool, so Claude, Cursor, VS Code Copilot and other MCP clients can run it directly. Grab the config from the MCP tab on this page — Apify hosts the server and keeps that snippet current, and OAuth signs you in on first connect, so no API token goes in your config file.

Then just ask:

"List car parts and accessories businesses in Malaysia with their phone numbers and addresses."

That is category 'car-parts-and-accessories': 3,907 listings on the 2026-10-26 data. Set maxResults to keep a first call small. Runs started this way bill exactly like any other run.

Data & lawful use

This actor collects publicly available information that businesslist.my publishes for public lookup — licence records, business listings and the contact details professionals list there. Some of it identifies individuals (sole proprietors, licence holders, agents), so treat any names, phone numbers and emails in your results as personal data.

When you run this actor, you decide what is collected and what it is used for, so you are the controller of that data and we act only as your processor (Apify Standard Actor Contract). You need a lawful basis for your use, must honour opt-out and deletion requests, and must follow the marketing rules that apply to you (CAN-SPAM, TCPA, GDPR, CCPA and similar). Don't use the output for unsolicited bulk messaging, for screening covered by the FCRA, or for anything the source's own terms forbid.

Your results are stored in your own Apify account. We don't keep a copy of your results and don't sell or share them.

Disclaimer

This is an independent tool. It is not affiliated with, endorsed by or sponsored by businesslist.my. Names and marks are used only to describe the data source. Records are provided as published by the source and may be out of date or incomplete. For anything consequential (hiring, a permit, a legal decision), confirm the record with the issuing agency. You are responsible for making sure your use complies with applicable law and the source's terms.

Need help?

Open an issue on this actor's Issues tab and we'll respond there. Bug reports, missing fields and feature requests are all welcome. Guides and examples: scrapebench.dev.

If you are a person named in this data and want your record removed from our copy, email apify-help@scrapebench.dev; the source agency remains the official record.

Your run may be used to improve our services. If something looks off, or you want this actor to fit your use better, please share your run data with us: Apify Console → Settings → Security → Share run data with developers. It lets us see exactly what went wrong and keep improving the actor.