MessNoMore Data Tools › How to Check JAKIM and BPJPH Halal Certificates in Bulk
How do you check a JAKIM or BPJPH halal certificate, and verify many suppliers at once?
To check a halal certificate in Malaysia, search the company, brand or product in the JAKIM halal directory (MYeHALAL) on halal.gov.my. In Indonesia, use the BPJPH certificate search. Both registries are public but take one name at a time, so for a supplier list an unofficial API such as the Halal Certificate Checker can run the same public searches in bulk and return status, expiry date and certificate number in one format.
Where do you check a halal certificate officially?
Malaysia (JAKIM). Open the JAKIM halal directory, pick a category (food and beverage products, or food premises such as restaurants) and type a name. The site is in Malay. Results are split into a company tab (Syarikat) and a product tab (Produk); each row lists expiry dates and links to a detail page. The public directory does not show certificate numbers.
Indonesia (BPJPH). The BPJPH search accepts a product name, a business name or a halal certificate number (ID followed by digits). Each result shows the certificate number, issue date, business, product and brand, but no expiry date: under Indonesian law as it stands (Law 6/2023), a certificate stays valid from its issue date while the ingredients and production process do not change.
What are the limits of checking by hand?
- Two sites, two data models. JAKIM gives expiry dates but no certificate numbers; BPJPH gives certificate numbers and issue dates but no expiry.
- Many certificates per company. JAKIM certifies products and premises separately, so one company can hold many certificates. Gardenia Bakeries (KL) has 29 expiry dates in the sample below.
- Names do not always match exactly. Legal forms (Sdn Bhd, PT, Tbk) and spellings vary. BPJPH also lists many food stalls whose menu items carry big brand names such as Indomie Goreng, and shows the newest certificates first, so search by the manufacturer's company name (for example "PT Indofood CBP") or by certificate number.
- No bulk mode. Hundreds of suppliers mean hundreds of manual searches in two languages, and tracking expiry dates means repeating them all.
How do you verify halal certificates in bulk with an API?
The Halal Certificate Checker is an unofficial Apify Actor. You send company names, brands, products or Indonesian certificate numbers plus the countries to check (MY, ID or both). It reads the live registries and returns one row per query and country. Names are matched fuzzily with legal forms ignored. matchConfidence runs from 0 to 1, and below your matchThreshold (default 0.8) the row becomes not_found with the closest alternatives. On paid Apify plans an AI check also reviews ambiguous matches and rejects restaurants, stalls and resellers that only use a brand name; matchMethod and aiReason show how each match was decided.
| Field | What it holds |
|---|---|
status | valid, expired or not_found (error means the registry lookup failed) |
matchedCompany, matchedProduct, matchedBrand | The certified business, product and brand |
certificateNo | BPJPH certificate number (empty for JAKIM) |
validUntil, daysToExpiry, expiryDates | Expiry data (JAKIM only) |
validFrom | Issue date (BPJPH only) |
sourceUrl, checkedAt | Official registry page to verify the row, and when it was read |
Two rows from a real run on 14 October 2026 (fields trimmed, and the Gardenia expiryDates list shortened from 29 dates):
[
{
"query": "Gardenia Bakeries",
"country": "MY",
"status": "valid",
"matchedCompany": "GARDENIA BAKERIES (KL) SDN BHD",
"certificateNo": null,
"issuingBody": "JAKIM",
"validUntil": "2026-12-31",
"daysToExpiry": 78,
"expiryDates": ["2026-12-31", "2027-01-15", "2027-01-31", "..."],
"matchConfidence": 0.97,
"matchedOn": "company",
"matchMethod": "string",
"sourceUrl": "https://www.halal.gov.my/directory/slm_viewdetail.php?comp_code=COMP-20050727-143627&type=C&ty=CO",
"checkedAt": "2026-10-14T11:05:02.466Z"
},
{
"query": "Mayora Indah",
"country": "ID",
"status": "valid",
"matchedCompany": "PT. MAYORA INDAH TBK",
"matchedProduct": "Astick Singles Vanilla Shake",
"certificateNo": "ID00410000045791119",
"issuingBody": "BPJPH",
"validFrom": "2026-08-05",
"validUntil": null,
"matchConfidence": 1,
"matchedOn": "company",
"matchMethod": "string",
"sourceUrl": "https://bpjph.halal.go.id/cari/sertifikat?no_regis=ID00410000045791119",
"checkedAt": "2026-10-14T11:05:10.045Z"
}
]
Call it from your own system through the Apify API. For long lists, start the run asynchronously and read the dataset when it finishes: the registries are queried one request at a time, so 100 queries in both countries take about 10 to 15 minutes. Ready-made inputs: JAKIM check and BPJPH check.
curl -X POST "https://api.apify.com/v2/acts/messnomore~halal-certificate-checker/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries": ["Gardenia Bakeries", "Mayora Indah"], "countries": ["MY", "ID"]}'
How do you monitor halal certificate expiry?
Set onlyExpiringWithinDays (for example 90) and schedule the run weekly. Every query is checked, but only certificates that expire within that window, have already expired or are no longer listed are returned. This covers Malaysia only, because BPJPH publishes no expiry date. The Malaysian directory appears to drop certificates once they expire, so a vanished certificate comes back as not_found for you to follow up. See the example run Find supplier halal certificates expiring in 90 days.
How much does halal certificate verification cost?
- $0.005 per result (one query in one country), including
not_foundresults. - $0.002 per check in expiry monitoring mode, whether or not the certificate needs attention.
- A start fee of $0.00005 per run and no charge for compute time. Failed lookups (
errorrows) are never charged.
Checking 100 suppliers in Malaysia and Indonesia is 200 results, about $1.00. A weekly monitoring run over 100 Malaysian suppliers costs about $0.20. Apify Bronze, Silver and Gold subscribers get lower prices. maxChecks caps the cost of a run.
What does the halal checker not cover?
- Only Malaysia (JAKIM) and Indonesia (BPJPH). Singapore's MUIS is not covered: its terms of use do not allow commercial reuse of its directory without permission.
- Not official. It is not affiliated with or endorsed by JAKIM or BPJPH. It reports what their public pages show; for audits or legal purposes, confirm on the official page in
sourceUrl. AI checks can be wrong, which is why each row shows its confidence and reason. not_founddoes not mean haram. It means no entry matched above your threshold. The product may be certified under another company name, by another country's halal body, or not certified in that country.- First page only. The Actor reads the first page of each registry search. If a broad name has more results, the
not_foundrow says so innote; use the full company name, or the certificate number for Indonesia.
FAQ
Is there an API to check JAKIM and BPJPH halal certificates in bulk?
Yes. The unofficial Halal Certificate Checker Apify Actor reads the public JAKIM (Malaysia) and BPJPH (Indonesia) registries and returns status, expiry date, certificate number and a match confidence for each name as JSON, CSV or Excel. It is not affiliated with JAKIM or BPJPH.
Does a BPJPH halal certificate expire?
BPJPH publishes no expiry date. Under Indonesian law as it stands (Law 6/2023), a certificate stays valid from its issue date as long as the ingredients and production process do not change, so you get the issue date in validFrom.
Does "not found" mean a product is not halal?
No. It only means no registry entry matched your query above the match threshold. The product may be certified under another company name, by another country's halal body, or not certified in that country.
Why does one Malaysian company show several expiry dates?
JAKIM certifies products and premises separately, so a company often holds many certificates. The checker returns the soonest upcoming expiry in validUntil and lists every date in expiryDates.
Can I check Singapore MUIS halal certificates?
No. The checker covers only Malaysia's JAKIM directory and Indonesia's BPJPH certificate search. Singapore's MUIS is excluded because its terms of use do not allow commercial reuse of its directory without permission.
Is it legal to check halal certificates this way?
The Actor reads only public registry search pages, one request at a time, and returns the business details those registries publish. Some Indonesian small businesses are registered under the owner's personal name, so results can contain personal data: make sure you have a legitimate reason, and consult a lawyer if unsure.