Scrapebench API
Find Malaysian businesses by category, state, city or name, with phone, street address, city, state and postcode for each listing. Every business in the businesslist.my directory (283,000 listings across 365 categories), one row per business, refreshed when the directory snapshot is.
Offering
- Provider
- api.scrapebench.dev
- Method
- POST
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Other
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://api.scrapebench.dev/v1/malaysia-business-directory- MIME type
- Not provided
- First seen
- 2026-10-26T21:37:17.077Z
- Last seen
- Tags
- business-directory, malaysia, leads, phone-numbers, B2B
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.08 USDC
Atomic price: 80000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "80000",
"payTo": "0x1bd1e9431c00ba6ff992a3dda541282079d02abf"
}
]Observed health
- Status
- Reachable
- Latest latency
- 1050 ms
- Average latency
- 2549 ms
- HTTP status
- 405
- Last checked
- Reachability
- 75% over 4 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"category": {
"anyOf": [
{
"maxLength": 80,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "businesslist.my category as it appears in its web addresses, e.g. 'car-parts-and-accessories', 'advertising', 'restaurants'. An unknown name returns the full list of 365 as a free notice.",
"title": "Category"
},
"city": {
"anyOf": [
{
"maxLength": 60,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "City or town, exact match ignoring case, e.g. 'Petaling Jaya'.",
"title": "City"
},
"name": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Case-insensitive substring of the business name.",
"title": "Name"
},
"purpose": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional: what you need this data for, in one sentence (e.g. 'vetting a roofer before hiring'). It never changes the price or the rows; it tells us what to improve.",
"title": "Purpose"
},
"state": {
"anyOf": [
{
"maxLength": 60,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "One of the 13 states or 'Wilayah Persekutuan' (Kuala Lumpur, Putrajaya, Labuan). Exact match ignoring case, e.g. 'Selangor', 'Pulau Pinang'.",
"title": "State"
}
},
"title": "Input",
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}Output schema
{
"properties": {
"example": {
"properties": {
"next_page": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Page to request next, or null when this is the last.",
"title": "Next Page"
},
"page": {
"description": "Zero-based page number of this response.",
"title": "Page",
"type": "integer"
},
"page_size": {
"description": "Most rows a page can hold; one page is one price.",
"title": "Page Size",
"type": "integer"
},
"rows": {
"description": "Data rows, or free Notice rows explaining a gap.",
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date (YYYY-MM-DD) the directory showed this listing.",
"title": "As Of"
},
"categories": {
"description": "Every businesslist.my category the business is filed under; it is one row, charged once.",
"items": {
"type": "string"
},
"title": "Categories",
"type": "array"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "City or town.",
"title": "City"
},
"lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude, when the business pinned its location.",
"title": "Lat"
},
"listing_id": {
"description": "businesslist.my company ID, stable per business.",
"title": "Listing Id",
"type": "string"
},
"lng": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude, when the business pinned its location.",
"title": "Lng"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Business name as listed.",
"title": "Name"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Phone number as the business wrote it.",
"title": "Phone"
},
"phone_e164": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The same number in international format (+60...), only when it reads unambiguously as a Malaysian number.",
"title": "Phone E164"
},
"postal_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Malaysian postcode, when written in the address.",
"title": "Postal Code"
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "State: one of the 13 states or 'Wilayah Persekutuan'.",
"title": "Region"
},
"scraped_at": {
"description": "UTC timestamp of scrape.",
"format": "date-time",
"title": "Scraped At",
"type": "string"
},
"source_url": {
"description": "The URL or endpoint this record was scraped from.",
"title": "Source Url",
"type": "string"
},
"street": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Street address.",
"title": "Street"
}
},
"required": [
"source_url",
"listing_id"
],
"title": "Output",
"type": "object"
},
{
"additionalProperties": false,
"description": "A free row explaining why a page has no (or partial) data. Never charged.",
"properties": {
"notice": {
"description": "Human-readable reason, and what to send instead if the input was the problem.",
"title": "Notice",
"type": "string"
},
"notice_type": {
"default": "input_error",
"description": "Machine-readable reason: input_error, no_results, blocked, truncated, source_changed, not_ready or stale.",
"title": "Notice Type",
"type": "string"
},
"scraped_at": {
"description": "UTC timestamp of scrape.",
"format": "date-time",
"title": "Scraped At",
"type": "string"
},
"source_url": {
"default": "",
"description": "Empty: a notice is about the request, not about a page.",
"title": "Source Url",
"type": "string"
}
},
"required": [
"notice"
],
"title": "Notice",
"type": "object"
}
]
},
"title": "Rows",
"type": "array"
},
"service": {
"description": "The service that answered.",
"title": "Service",
"type": "string"
}
},
"required": [
"service",
"page",
"page_size",
"next_page",
"rows"
],
"title": "MalaysiaBusinessDirectoryPage",
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}