← All insights Certification

MyGAP certification: what it covers and how buyers can verify it

MyGAP is Malaysia’s certification scheme for good agricultural practice, run by the Department of Agriculture. For a buyer it answers one question: does the farm behind this lot work to a recorded, audited standard? Here is what the certificate covers, and what it does not.

Published 8 September 20265 min readNusatani, Kelantan

What MyGAP is

MyGAP stands for Malaysian Good Agricultural Practice. It is the national certification scheme of the Department of Agriculture (Jabatan Pertanian) and replaced the earlier farm certification scheme known as SALM.

For crops, the scheme refers to the Malaysian Standard MS 1784 on good agricultural practice for crop commodities, most recently revised in 2016. A certified farm has been audited against that standard for the crop named on the certificate.

What an audit looks at

Good agricultural practice standards look at how a crop is produced, not how it looks. In broad terms that covers the history and use of the land, the choice, use and storage of pesticides and fertilisers, the water used for irrigation and washing, hygiene at harvest, the safety and welfare of workers, and the records that prove all of it.

The records are the core of it. A farm that cannot show which input went onto which plot, and when, cannot be certified, however good the produce looks.

What MyGAP does not tell you

MyGAP is not a grade: it says nothing about size, colour or appearance. It is not a halal certification, which in Malaysia is issued by JAKIM or a state Islamic authority. And it is not a blanket statement about a supplier: a certificate covers one specific farm and one specific crop.

A supplier with one certified crop may sell several that are not. That is normal, as long as it is stated clearly and the uncertified lines are never sold as if they were certified.

How to verify a certificate

Ask your supplier for four things: the certificate number, the farm it was issued to, the crop it covers, and its validity period. Check that the validity covers your delivery dates, and that the crop on the certificate is the crop on your invoice.

Then verify the number with the issuing office of the Department of Agriculture rather than relying on a logo on a website or a carton. A logo shows that a scheme exists; only the certificate number shows that it applies to your lot.

Where Nusatani stands

Our ginger (halia) is certified under MyGAP, and our Cili Merah is available both from MyGAP-certified blocks and from uncertified blocks. For a certified lot, the certificate number of the block it came from is printed on the batch record.

The other lines are not MyGAP-certified yet. They follow the same recorded practice: pesticide use is recorded by plot and by cycle on all six farms. A MyGAP farm audit is targeted for early 2027, and GLOBALG.A.P., the international farm standard, after that. We will say so in writing for every lot, and we never sell an uncertified line as if it were certified.

Questions buyers ask

Is MyGAP the same as GLOBALG.A.P.?+

No. Both are good agricultural practice certifications, but GLOBALG.A.P. is an international private standard that many importers ask for, while MyGAP is the Malaysian government scheme. They are certified separately.

Does MyGAP certify that produce is halal?+

No. MyGAP covers farming practice. In Malaysia the word halal is reserved for goods certified by JAKIM or a state Islamic authority.

Are all Nusatani chillies MyGAP-certified?+

No. Only Cili Merah, the large red chilli, is available MyGAP-certified, and it is also sold uncertified. Cili Padi, Cili Burung, Cili Hijau and Lada Solok are not certified.

Related produce

Two lines, one supplier

Grade A for hotel and restaurant kitchens on Nusatani Premium. Contract volumes of Grade B and C on Nusatani Daily. Or simply ask on WhatsApp.

WhatsApp us
{{ t.hKicker }}

{{ t.hTitle }}

{{ t.hSub }}

{{ t.houseClaim }}

{{ t.pPersonKicker }}

{{ t.pPersonName }}

{{ t.pPersonRole }}

{{ t.unityHome }}

{{ t.forkKicker }}

{{ t.forkTitle }}

{{ t.forkSub }}

{{ t.bothNote }}

{{ t.spotTag }}

{{ t.spotName }}

{{ t.spotWho }}

  • {{ sp.text }}
{{ t.farmKicker }}

{{ t.farmTeaserTitle }}

{{ t.farmTeaser }}

{{ t.farmGo }} →
{{ t.kpiKicker }}

{{ t.kpiTitle }}

{{ k.v }}{{ k.l }}

{{ t.proofCounter }}

{{ t.proofNote }}

{{ t.kpiFarmTitle }}

{{ t.kpiFarmBody }}

{{ t.kpiFarmCta }} →
{{ moods.m0.kicker }}

{{ moods.m0.h }}

{{ moods.m0.p }}

{{ t.netKicker }}

{{ t.netTitle }}

{{ t.netSub }}

{{ ns.n }}

{{ ns.h }}

{{ ns.p }}

{{ t.netNote }}

{{ moods.m1.kicker }}

{{ moods.m1.h }}

{{ moods.m1.p }}

{{ t.whoKicker }}

{{ t.whoTitle }}

  • {{ wl.text }}
{{ t.promiseKicker }}

{{ t.promiseTitle }}

{{ t.promiseSub }}

{{ p.h }}

{{ p.p }}

{{ t.defensibleTitle }}

{{ t.defensibleBody }}

{{ moods.m2.kicker }}

{{ moods.m2.h }}

{{ moods.m2.p }}

{{ t.fourKicker }}

{{ t.fourTitle }}

{{ f.n }}

{{ f.h }}

{{ f.p }}


{{ t.fourWhy }}

{{ f.why }}

{{ t.growKicker }}

{{ t.growTitle }}

{{ t.growSub }}

{{ gs.n }}

{{ gs.h }}

{{ gs.p }}

{{ moods.m3.kicker }}

{{ moods.m3.h }}

{{ moods.m3.p }}

{{ moods.m4.kicker }}

{{ moods.m4.h }}

{{ moods.m4.p }}

{{ t.originKicker }}

{{ t.originTitle }}

{{ t.originBody }}

{{ s.v }}
{{ s.l }}

{{ t.tlTitle }}

{{ tl.y }} {{ tl.h }} {{ tl.p }}
{{ lineTag }}

{{ t.pHeroTitle }}

{{ t.premiumClaim }}

{{ t.pHeroSub }}

{{ t.pSocialJob }}

{{ t.unityPremium }}

{{ lineTag }}

{{ t.dHeroTitle }}

{{ t.dailyClaim }}

{{ t.dHeroSub }}

{{ t.unityDaily }}

{{ t.pMapKicker }}

{{ t.pMapTitle }}

{{ t.pMapBody }}

{{ t.pBoxKicker }}

{{ t.pBoxTitle }}

{{ t.pBoxBody }}

{{ b.l }}
{{ b.v }}
{{ t.cfgKicker }}

{{ t.cfgTitle }}

{{ t.cfgSub }}

{{ t.cfgReady }}

{{ t.waSendCfg }}

{{ t.sampleTitle }}

{{ t.sampleBody }}

{{ t.pHeroCta }}

{{ t.pVisitTitle }}

{{ t.pVisitBody }}

{{ t.pVisitCta }}
{{ t.farmKicker }}

{{ t.farmTeaserTitle }}

{{ t.farmTeaser }}

{{ t.farmGo }} →
{{ t.teamKicker }}

{{ t.teamTitle }}

{{ t.pPersonBody }}

{{ t.teamName }}

{{ t.teamRole }}

{{ t.pPersonNote }}

{{ n.v }}
{{ n.l }}
{{ t.dChainKicker }}

{{ t.dChainTitle }}

{{ t.dChainSub }}

{{ dc.n }}

{{ dc.h }}

{{ dc.p }}

{{ t.scarcityTitle }}

{{ t.scarcityBody }}

{{ t.dPriceKicker }}

{{ t.dPriceTitle }}

{{ t.priceAnchorLabel }}

{{ t.priceAnchor }}

{{ p.h }}
{{ p.p }}
{{ t.spotName }} · {{ t.spotTag }}

{{ t.spotTeaser }}

{{ t.spotGoPage }} →
{{ t.farmKicker }}

{{ t.farmTeaserTitle }}

{{ t.farmTeaser }}

{{ t.farmGo }} →
{{ t.dProofKicker }}

{{ t.dProofTitle }}

{{ p.h }}

{{ p.p }}

{{ t.dRelTitle }}

{{ p.h }}

{{ p.p }}

{{ t.dLogTitle }}

{{ f.n }}

{{ f.h }}

{{ f.p }}

{{ f.t }}

{{ t.locTitle }}

{{ r.time }}
{{ r.dest }}
{{ t.spotName }} · {{ t.spotTag }}

{{ t.spotH1 }}

{{ t.spotLead }}

{{ t.spotWhatTitle }}

{{ t.spotWhatBody }}

{{ t.spotForTitle }}

  • {{ x.text }}

{{ t.spotHowTitle }}

1

{{ spotHowFirst.h }}

{{ spotHowFirst.p }}

{{ s.n }}

{{ s.h }}

{{ s.p }}

{{ t.spotLimitsKicker }}

{{ t.spotLimitsTitle }}

{{ t.spotLimitsSub }}

  • {{ x.text }}

{{ t.cmpTitle }}

{{ t.cmpSub }}

{{ t.spotName }}
{{ t.dailyName }}
{{ t.premiumName }}
{{ r.l }}
{{ r.s }}
{{ r.d }}
{{ r.p }}

{{ t.faqTitle }}

{{ f.q }}+

{{ f.a }}

{{ t.farmKicker }}

{{ t.farmH1 }}

{{ t.farmLead }}

{{ t.farmHowTitle }}

{{ s.n }}

{{ s.h }}

{{ s.p }}

{{ t.farmGetTitle }}

  • {{ x.text }}

{{ t.farmForTitle }}

  • {{ x.text }}

{{ t.farmTermsTitle }}

{{ t.farmTermsBody }}

{{ t.faqTitle }}

{{ f.q }}+

{{ f.a }}

{{ t.farmSentTitle }}

{{ t.farmSentBody }}

{{ t.formUnwired }}

{{ t.farmFormTitle }}

{{ t.farmFormNote }}

{{ t.formPrivacyLead }} {{ t.formPrivacyLink }}.
{{ t.fnKicker }}

{{ t.fnH1 }}

{{ t.fnLead }}

{{ t.fnBenKicker }}

{{ t.fnBenTitle }}

{{ b.h }}

{{ b.p }}

{{ t.fnHowTitle }}

{{ s.n }}

{{ s.h }}

{{ s.p }}

{{ t.fnWhoTitle }}

  • {{ x.text }}

{{ t.fnSentTitle }}

{{ t.fnSentBody }}

{{ t.formUnwired }}

{{ t.fnFormTitle }}

{{ t.fnFormNote }}

{{ t.formPrivacyLead }} {{ t.formPrivacyLink }}.
{{ lineName }}

{{ hubTitle }}

{{ hubSub }}

{{ cropCount }} {{ t.cropCountLabel }}

{{ t.gradeForLine }}

{{ gradeNote }}

{{ g.label }}

← {{ t.backToProduce }}
{{ t.pcSeal }}

{{ active.name }}

{{ active.latin }} · {{ active.altName }}

{{ active.lineIntro }}

{{ t.hsLabel }} {{ active.hs }} {{ active.mygapLabel }}

{{ enq.note }} · {{ t.enqGo }} →

{{ t.pcUsesKicker }}

{{ t.pcUsesTitle }}

  1. {{ u.n }}{{ u.text }}
{{ t.pcGradeKicker }}

{{ active.gradeTitle }}

  • {{ g.text }}

{{ t.pcGradeNote }}

{{ t.specTitle }}

{{ s.l }}
{{ s.v }}

{{ t.specPending }}

{{ t.pcDeliverKicker }}

{{ t.pcDeliverTitle }}

{{ td.l }}
{{ td.v }}
  • {{ p.h }}{{ p.p }}
{{ t.teamKicker }}

{{ active.contactTitle }}

{{ t.pcContactBody }}

{{ t.pPersonNote }}

{{ t.relatedPremium }}

{{ active.crossText }}

{{ active.crossLabel }} →
← {{ t.backToProduce }}
{{ t.dcKicker }}

{{ active.name }} · {{ t.gradeBC }}

{{ active.latin }} · {{ active.altName }}

{{ t.hsLabel }} {{ active.hs }} {{ active.mygapLabel }}

{{ active.lineIntro }}

{{ t.capLabel }}

{{ active.capText }}

{{ t.gradesLabel }}

{{ active.gradeText }}

{{ t.moqLabel }}

{{ active.moqText }}

{{ enq.note }} · {{ t.enqGo }} →

{{ t.dcUsesKicker }}

{{ t.dcUsesTitle }}

  1. {{ u.n }}{{ u.text }}
{{ t.dcGradeKicker }}

{{ active.gradeTitle }}

{{ g.text }}

{{ t.specTitle }}

{{ s.l }}
{{ s.v }}

{{ t.specPending }}

{{ t.packTitle }}

{{ p.l }}

{{ p.v }}

{{ t.packNote }}

{{ t.tradeTitle }}

{{ t.originLabel }}
{{ t.originValue }}
{{ td.l }}
{{ td.v }}
{{ t.priceAnchorLabel }}
{{ t.priceAnchor }}

{{ t.tradeNote }}

{{ t.galleryTitle }}

{{ t.cropCtaKicker }}

{{ active.ctaTitle }}

{{ t.cropCtaBody }}

{{ t.spotName }} · {{ t.spotTag }}

{{ t.dcSpotNote }}

{{ t.spotGoPage }} →

{{ t.relatedDaily }}

{{ active.crossText }}

{{ active.crossLabel }} →
{{ lineName }}

{{ qTitle }}

{{ qSub }}

{{ s.mark }}

{{ s.h }}

{{ s.p }}

{{ cr.name }}
{{ cr.note }}
{{ t.verifyKicker }}

{{ t.verifyTitle }}

{{ vf.h }}

{{ vf.p }}

{{ t.gradeTableTitle }}

{{ t.gradeTableSub }}

{{ g.name }}
{{ g.for }}
{{ row.l }}
{{ row.a }}
{{ row.b }}
{{ row.c }}

{{ t.chainTitle }}

{{ t.chainSub }}

{{ c.t }}

{{ c.h }}

{{ c.p }}

{{ t.faqTitle }}

{{ t.faqSub }}

{{ t.specSheet }}
{{ f.q }}+

{{ f.a }}

{{ lineName }}

{{ t.cPremiumTitle }}

{{ t.cPremiumSub }}

{{ t.teamKicker }}

{{ t.teamName }}

{{ t.teamRole }}

{{ t.pPersonBody }}

{{ t.pPersonNote }}


{{ t.cVisitCta }}

{{ t.cbSentTitle }}

{{ t.cbSentBody }}

{{ t.formUnwired }}

{{ t.cbTitle }}

{{ t.cbIntro }}

{{ t.cbProducts }}

{{ t.cbProductsHint }}

{{ t.formPrivacyLead }} {{ t.formPrivacyLink }}.
{{ lineName }}

{{ cTitle }}

{{ cSub }}

{{ alertNoticeText }}

{{ t.sentTitle }}

{{ sentBody }}

{{ t.sampleTitle }}

{{ t.sampleBody }}

{{ t.formUnwired }}

{{ formTitle }}

{{ formNote }}

{{ t.fType }}

{{ typeHint }}

{{ t.fProduce }} *

{{ t.fProduceHint }}

{{ q.name }}
{{ t.formPrivacyLead }} {{ t.formPrivacyLink }}.

{{ t.alertSentTitle }}

{{ t.alertSentBody }}

{{ t.formUnwired }}
{{ t.alertKicker }}

{{ t.alertTitle }}

{{ t.alertBody }}

{{ t.alertProducts }}

{{ t.alertDoi }}

{{ t.stepsTitle }}

{{ st.n }} {{ st.h }} {{ st.p }}

{{ t.directTitle }}

{{ cl.l }}
{{ cl.v }}
{{ t.directions }} →
{{ t.edKicker }}

{{ t.insightsTitle }}

{{ t.insightsSub }}

← {{ t.legalBackHome }} {{ legalPage.kicker }}

{{ legalPage.title }}

{{ legalPage.updated }}

{{ legalPage.intro }}

{{ sec.h }}

{{ pp.lab }}{{ pp.text }}

404

{{ t.nfTitle }}

{{ t.nfBody }}

{{ ctaBandTitle }}

{{ ctaBandSub }}

{{ t.houseBandTitle }}

{{ t.houseBandSub }}

{{ t.waFab }}