{
  "days": 90,
  "cutoff": "2026-06-27",
  "total": 1410,
  "verified": 1003,
  "stale": 147,
  "unstamped": 13,
  "self_maintaining": 247,
  "note": "Review dates are not live endpoint guarantees. Stale includes expired or invalid dates; unstamped means no recorded review. Source-managed datasets are excluded from manual review counts, not guaranteed current or available.",
  "apis": [
    {
      "id": "dhl-express-mydhl-api",
      "slug": "dhl-express-mydhl-api",
      "title": "MyDHL API ~ international express rating, shipping & tracking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "DHL Express",
      "source": "DHL Express",
      "sourceUrl": "https://developer.dhl.com/api-reference/mydhl-api-dhl-express",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.dhl.com/api-reference/mydhl-api-dhl-express",
      "baseUrl": "https://express.api.dhl.com/mydhlapi",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Global DHL portal usable from MY. Basic Auth credentials from a DHL Express consultant; needs active DHL account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "DHL Express",
        "sourceUrl": "https://developer.dhl.com/api-reference/mydhl-api-dhl-express",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-13",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "anthropic-claude-api",
      "slug": "anthropic-claude-api",
      "title": "Anthropic Claude API ~ Claude LLM messages",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Anthropic",
      "source": "Anthropic",
      "sourceUrl": "https://platform.claude.com/docs/en/api/getting-started",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "x-api-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://platform.claude.com/docs/en/api/getting-started",
      "baseUrl": "https://api.anthropic.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "x-api-key header plus anthropic-version; Messages API. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Anthropic",
        "sourceUrl": "https://platform.claude.com/docs/en/api/getting-started",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-13",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "pexels",
      "slug": "pexels",
      "title": "Pexels API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Pexels",
      "source": "Pexels",
      "sourceUrl": "https://www.pexels.com/api/documentation/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.pexels.com/api/documentation/",
      "baseUrl": "https://api.pexels.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Free stock photo and video API; rate limits liftable for free with attribution. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Pexels",
        "sourceUrl": "https://www.pexels.com/api/documentation/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-13",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "ayoconnect",
      "slug": "ayoconnect",
      "title": "Ayoconnect ~ embedded finance (direct debit, VA, transfers)",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Ayoconnect",
      "source": "Ayoconnect",
      "sourceUrl": "https://docs.payments.of.ayoconnect.id/docs/introduction-1",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.payments.of.ayoconnect.id/docs/introduction-1",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Detailed public docs, OAuth2 client-credentials; Indonesia-origin SEA provider. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Ayoconnect",
        "sourceUrl": "https://docs.payments.of.ayoconnect.id/docs/introduction-1",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "ipay88",
      "slug": "ipay88",
      "title": "iPay88 ~ Malaysia payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Mobile88.Com Sdn Bhd",
      "source": "Mobile88.Com Sdn Bhd",
      "sourceUrl": "https://www.ipay88.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.ipay88.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Malaysian merchant integration details require confirmation during onboarding. The previously linked Core API manual documents iPay88 Indonesia, not the Malaysian gateway; do not reuse its checkout/requery endpoints for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Mobile88.Com Sdn Bhd",
        "sourceUrl": "https://www.ipay88.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": "2026-09-16",
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "xendit",
      "slug": "xendit",
      "title": "Xendit ~ SEA payment gateway (FPX, e-wallets, VA)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ID",
        "MY",
        "TH",
        "SG",
        "PH",
        "VN"
      ],
      "provider": "Xendit",
      "source": "Xendit",
      "sourceUrl": "https://docs.xendit.co/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.xendit.co/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "HTTP Basic auth secret key; dedicated Xendit Malaysia entity. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Xendit",
        "sourceUrl": "https://docs.xendit.co/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "hitpay",
      "slug": "hitpay",
      "title": "HitPay ~ SEA payments (DuitNow QR, FPX, e-wallets)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "SG",
        "MY",
        "PH"
      ],
      "provider": "HitPay Payment Solutions",
      "source": "HitPay Payment Solutions",
      "sourceUrl": "https://docs.hitpayapp.com/apis/overview",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-BUSINESS-API-KEY",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.hitpayapp.com/apis/overview",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "X-BUSINESS-API-KEY header, no monthly fee; native MY methods. Global, works for MY.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "HitPay Payment Solutions",
        "sourceUrl": "https://docs.hitpayapp.com/apis/overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "innov8tif-emas-ekyc",
      "slug": "innov8tif-emas-ekyc",
      "title": "Innov8tif EMAS eKYC ~ MyKad OCR, face match, liveness",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Innov8tif",
      "source": "Innov8tif",
      "sourceUrl": "https://api2-ekycapis.innov8tif.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://api2-ekycapis.innov8tif.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "MY-origin eKYC; OkayID/OkayFace/OkayLive/OkayDoc REST APIs + mobile SDK, MyKad-aware.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Innov8tif",
        "sourceUrl": "https://api2-ekycapis.innov8tif.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "sumsub",
      "slug": "sumsub",
      "title": "Sumsub ~ KYC/AML, liveness, doc verification",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Sumsub",
      "source": "Sumsub",
      "sourceUrl": "https://docs.sumsub.com/reference",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.sumsub.com/reference",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; RESTful API, X-App-Token + signature auth.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Sumsub",
        "sourceUrl": "https://docs.sumsub.com/reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "onfido-entrust",
      "slug": "onfido-entrust",
      "title": "Onfido (Entrust) ~ document + biometric identity verification",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Entrust (Onfido)",
      "source": "Entrust (Onfido)",
      "sourceUrl": "https://documentation.identity.entrust.com/api/latest/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://documentation.identity.entrust.com/api/latest/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; Onfido now Entrust, API token or OAuth bearer.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Entrust (Onfido)",
        "sourceUrl": "https://documentation.identity.entrust.com/api/latest/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "veriff",
      "slug": "veriff",
      "title": "Veriff ~ identity verification, liveness, doc checks",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Veriff",
      "source": "Veriff",
      "sourceUrl": "https://devdocs.veriff.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://devdocs.veriff.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; public REST API reference + technical guides.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Veriff",
        "sourceUrl": "https://devdocs.veriff.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "trulioo",
      "slug": "trulioo",
      "title": "Trulioo ~ KYC/KYB identity + document verification",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Trulioo",
      "source": "Trulioo",
      "sourceUrl": "https://developer.trulioo.com/reference/welcome",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.trulioo.com/reference/welcome",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; Basic Auth or OAuth, person + business verification.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Trulioo",
        "sourceUrl": "https://developer.trulioo.com/reference/welcome",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "idfy",
      "slug": "idfy",
      "title": "IDfy ~ task-based identity verification & onboarding",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "IDfy",
      "source": "IDfy",
      "sourceUrl": "https://eve-docs.idfy.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://eve-docs.idfy.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global (India/Asia), works for MY; OAuth2 client-credentials, JSON task API.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "IDfy",
        "sourceUrl": "https://eve-docs.idfy.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "persona",
      "slug": "persona",
      "title": "Persona ~ identity verification (inquiries) & KYC",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Persona",
      "source": "Persona",
      "sourceUrl": "https://docs.withpersona.com/api-reference/inquiries/list-all-inquiries",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.withpersona.com/api-reference/inquiries/list-all-inquiries",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; bearer-token REST API for inquiries/verifications.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Persona",
        "sourceUrl": "https://docs.withpersona.com/api-reference/inquiries/list-all-inquiries",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "aftership",
      "slug": "aftership",
      "title": "AfterShip ~ shipment tracking API (1000+ carriers)",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "AfterShip",
      "source": "AfterShip",
      "sourceUrl": "https://www.aftership.com/docs/tracking/quickstart/api-overview",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "api-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.aftership.com/docs/tracking/quickstart/api-overview",
      "baseUrl": "https://api.aftership.com/v4",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; as-api-key header, free tier with rate limits.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "AfterShip",
        "sourceUrl": "https://www.aftership.com/docs/tracking/quickstart/api-overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "trackingmore",
      "slug": "trackingmore",
      "title": "TrackingMore ~ multi-carrier tracking API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "TrackingMore",
      "source": "TrackingMore",
      "sourceUrl": "https://www.trackingmore.com/docs/trackingmore/d5ac362fc3cda-api-quick-start-guide",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "Api-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.trackingmore.com/docs/trackingmore/d5ac362fc3cda-api-quick-start-guide",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; v4 REST, Tracking-Api-Key header, free plan ~50 shipments/mo.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "TrackingMore",
        "sourceUrl": "https://www.trackingmore.com/docs/trackingmore/d5ac362fc3cda-api-quick-start-guide",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "shippo",
      "slug": "shippo",
      "title": "Shippo ~ multi-carrier labels, rates & tracking API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Shippo",
      "source": "Shippo",
      "sourceUrl": "https://docs.goshippo.com/shippoapi/public-api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.goshippo.com/shippoapi/public-api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; ShippoToken auth, pay-per-label, published OpenAPI spec.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Shippo",
        "sourceUrl": "https://docs.goshippo.com/shippoapi/public-api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "easyship",
      "slug": "easyship",
      "title": "Easyship ~ shipping rates, labels & courier API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Easyship",
      "source": "Easyship",
      "sourceUrl": "https://developers.easyship.com/reference/getting-started",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.easyship.com/reference/getting-started",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; OAuth2, versioned REST API with sandbox.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Easyship",
        "sourceUrl": "https://developers.easyship.com/reference/getting-started",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "onfleet",
      "slug": "onfleet",
      "title": "Onfleet ~ last-mile delivery management & routing API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Onfleet",
      "source": "Onfleet",
      "sourceUrl": "https://docs.onfleet.com/reference/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.onfleet.com/reference/introduction",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; REST v2 (tasks, route optimization), API key via HTTP Basic.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Onfleet",
        "sourceUrl": "https://docs.onfleet.com/reference/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "woocommerce-rest",
      "slug": "woocommerce-rest",
      "title": "WooCommerce REST API ~ self-hosted store data API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "WooCommerce / Automattic",
      "source": "WooCommerce / Automattic",
      "sourceUrl": "https://woocommerce.github.io/woocommerce-rest-api-docs/",
      "tier": "open",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://woocommerce.github.io/woocommerce-rest-api-docs/",
      "baseUrl": "https://{yoursite.com}/wp-json/wc/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; open-source plugin, consumer key/secret, self-hosted.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "WooCommerce / Automattic",
        "sourceUrl": "https://woocommerce.github.io/woocommerce-rest-api-docs/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "bigcommerce",
      "slug": "bigcommerce",
      "title": "BigCommerce API ~ headless store & catalog API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "BigCommerce",
      "source": "BigCommerce",
      "sourceUrl": "https://developer.bigcommerce.com/docs/start/authentication",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.bigcommerce.com/docs/start/authentication",
      "baseUrl": "https://api.bigcommerce.com/stores/{hash}/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; v3 REST with X-Auth-Token.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "BigCommerce",
        "sourceUrl": "https://developer.bigcommerce.com/docs/start/authentication",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "reloadly-airtime",
      "slug": "reloadly-airtime",
      "title": "Reloadly Airtime ~ mobile prepaid top-up incl. all MY telcos",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Reloadly",
      "source": "Reloadly",
      "sourceUrl": "https://developers.reloadly.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.reloadly.com/",
      "baseUrl": "https://topups.reloadly.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; OAuth2, free sandbox; DiGi/Maxis/Celcom/U Mobile coverage.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Reloadly",
        "sourceUrl": "https://developers.reloadly.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "dingconnect",
      "slug": "dingconnect",
      "title": "DingConnect ~ mobile top-up & airtime API",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Ding",
      "source": "Ding",
      "sourceUrl": "https://www.dingconnect.com/Api/Index",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.dingconnect.com/Api/Index",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; public Swagger + Postman, API key or OAuth.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Ding",
        "sourceUrl": "https://www.dingconnect.com/Api/Index",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "dtone-dvs",
      "slug": "dtone-dvs",
      "title": "DT One DVS ~ airtime, data & bundle top-up REST API",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "DT One",
      "source": "DT One",
      "sourceUrl": "https://developers.dtone.com/reference/overview",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.dtone.com/reference/overview",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; public REST docs + OpenAPI.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "DT One",
        "sourceUrl": "https://developers.dtone.com/reference/overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "autocount-cloud-accounting",
      "slug": "autocount-cloud-accounting",
      "title": "AutoCount Cloud Accounting API ~ MY cloud accounting integration",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "AutoCount",
      "source": "AutoCount",
      "sourceUrl": "https://accounting-api.autocountcloud.com/documentation/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://accounting-api.autocountcloud.com/documentation/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "MY-origin; REST JSON, API-Key + Key-ID headers, create/read transactions.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "AutoCount",
        "sourceUrl": "https://accounting-api.autocountcloud.com/documentation/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "sql-account-restful-api",
      "slug": "sql-account-restful-api",
      "title": "SQL Account RESTful API ~ live link to SQL accounting",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "eStream Software (SQL)",
      "source": "eStream Software (SQL)",
      "sourceUrl": "https://wiki.sql.com.my/wiki/Restful_API",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://wiki.sql.com.my/wiki/Restful_API",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "MY-origin; base api.sql.my, AWSv4-signed, ~95% of modules.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "eStream Software (SQL)",
        "sourceUrl": "https://wiki.sql.com.my/wiki/Restful_API",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "xero-accounting-api",
      "slug": "xero-accounting-api",
      "title": "Xero Accounting API ~ invoices, contacts, ledger",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Xero",
      "source": "Xero",
      "sourceUrl": "https://developer.xero.com/documentation/api/accounting/overview/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.xero.com/documentation/api/accounting/overview/",
      "baseUrl": "https://api.xero.com/api.xro/2.0",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; OAuth 2.0.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Xero",
        "sourceUrl": "https://developer.xero.com/documentation/api/accounting/overview/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "quickbooks-online-accounting",
      "slug": "quickbooks-online-accounting",
      "title": "QuickBooks Online Accounting API ~ accounting & invoicing",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Intuit",
      "source": "Intuit",
      "sourceUrl": "https://developer.intuit.com/app/developer/qbo/docs/develop",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.intuit.com/app/developer/qbo/docs/develop",
      "baseUrl": "https://quickbooks.api.intuit.com/v3/company/{realmId}",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; OAuth 2.0 only.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Intuit",
        "sourceUrl": "https://developer.intuit.com/app/developer/qbo/docs/develop",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "zoho-books-api",
      "slug": "zoho-books-api",
      "title": "Zoho Books API ~ online accounting, invoices, bills",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Zoho",
      "source": "Zoho",
      "sourceUrl": "https://www.zoho.com/books/api/v3/introduction/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.zoho.com/books/api/v3/introduction/",
      "baseUrl": "https://www.zohoapis.com/books/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; OAuth 2.0, needs organization_id.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Zoho",
        "sourceUrl": "https://www.zoho.com/books/api/v3/introduction/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "whatsapp-cloud-api",
      "slug": "whatsapp-cloud-api",
      "title": "WhatsApp Business Cloud API ~ send/receive WhatsApp messages",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Meta",
      "source": "Meta",
      "sourceUrl": "https://developers.facebook.com/docs/whatsapp/cloud-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.facebook.com/docs/whatsapp/cloud-api",
      "baseUrl": "https://graph.facebook.com/v20.0",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; Bearer token over Graph API.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Meta",
        "sourceUrl": "https://developers.facebook.com/docs/whatsapp/cloud-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "wati-whatsapp-api",
      "slug": "wati-whatsapp-api",
      "title": "Wati API ~ WhatsApp Business messaging & automation",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Wati (Clare.AI)",
      "source": "Wati (Clare.AI)",
      "sourceUrl": "https://docs.wati.io/reference/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.wati.io/reference/introduction",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; Bearer token REST on WhatsApp Business.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Wati (Clare.AI)",
        "sourceUrl": "https://docs.wati.io/reference/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "360dialog-whatsapp-api",
      "slug": "360dialog-whatsapp-api",
      "title": "360dialog WhatsApp API ~ official WhatsApp Business provider",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "360dialog",
      "source": "360dialog",
      "sourceUrl": "https://docs.360dialog.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.360dialog.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; API-key REST, WhatsApp BSP.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "360dialog",
        "sourceUrl": "https://docs.360dialog.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "vonage-sms-api",
      "slug": "vonage-sms-api",
      "title": "Vonage SMS API ~ global SMS send/receive",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Vonage (Ericsson)",
      "source": "Vonage (Ericsson)",
      "sourceUrl": "https://developer.vonage.com/en/api/sms",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.vonage.com/en/api/sms",
      "baseUrl": "https://rest.nexmo.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; api_key+secret.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Vonage (Ericsson)",
        "sourceUrl": "https://developer.vonage.com/en/api/sms",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "plivo-messaging-api",
      "slug": "plivo-messaging-api",
      "title": "Plivo Messaging API ~ SMS/MMS/WhatsApp messaging",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Plivo",
      "source": "Plivo",
      "sourceUrl": "https://www.plivo.com/docs/messaging/api/message",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.plivo.com/docs/messaging/api/message",
      "baseUrl": "https://api.plivo.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; HTTP Basic (Auth ID + token).",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Plivo",
        "sourceUrl": "https://www.plivo.com/docs/messaging/api/message",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "bird-messagebird-api",
      "slug": "bird-messagebird-api",
      "title": "Bird (MessageBird) API ~ SMS, WhatsApp & omnichannel",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Bird",
      "source": "Bird",
      "sourceUrl": "https://docs.bird.com/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.bird.com/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; AccessKey auth header REST.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Bird",
        "sourceUrl": "https://docs.bird.com/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "telegram-bot-api",
      "slug": "telegram-bot-api",
      "title": "Telegram Bot API ~ build bots & push messages",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Telegram",
      "source": "Telegram",
      "sourceUrl": "https://core.telegram.org/bots/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://core.telegram.org/bots/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; token in URL.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Telegram",
        "sourceUrl": "https://core.telegram.org/bots/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "goldapi-io",
      "slug": "goldapi-io",
      "title": "GoldAPI.io ~ live gold/silver/platinum/palladium spot prices",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "GoldAPI.io",
      "source": "GoldAPI.io",
      "sourceUrl": "https://www.goldapi.io/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.goldapi.io/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST JSON, x-access-token header, XAU/XAG/XPT/XPD in 75+ currencies. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "GoldAPI.io",
        "sourceUrl": "https://www.goldapi.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "metals-dev",
      "slug": "metals-dev",
      "title": "metals.dev ~ 28+ precious & industrial metal prices",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "metals.dev",
      "source": "metals.dev",
      "sourceUrl": "https://metals.dev/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://metals.dev/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST /v1/latest, 100 free req/mo, metals + 170 currencies, historical. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "metals.dev",
        "sourceUrl": "https://metals.dev/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "metalpriceapi",
      "slug": "metalpriceapi",
      "title": "MetalpriceAPI ~ real-time & historical gold/silver rates",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "MetalpriceAPI",
      "source": "MetalpriceAPI",
      "sourceUrl": "https://metalpriceapi.com/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://metalpriceapi.com/documentation",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST latest/historical/OHLC/convert/carat, XAU/XAG + 150 currencies. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "MetalpriceAPI",
        "sourceUrl": "https://metalpriceapi.com/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "metals-api",
      "slug": "metals-api",
      "title": "Metals-API ~ gold/silver/platinum/palladium + LBMA/LME data",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Metals-API",
      "source": "Metals-API",
      "sourceUrl": "https://metals-api.com/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://metals-api.com/documentation",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST access_key auth, latest/timeseries/bid-ask, LBMA from 1968. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Metals-API",
        "sourceUrl": "https://metals-api.com/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "commodities-api",
      "slug": "commodities-api",
      "title": "Commodities-API ~ broad commodities (metals, grains, energy)",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Commodities-API",
      "source": "Commodities-API",
      "sourceUrl": "https://commodities-api.com/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://commodities-api.com/documentation",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST access_key auth, metals + rice/wheat/corn/sugar + OHLC/timeseries. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Commodities-API",
        "sourceUrl": "https://commodities-api.com/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "oilpriceapi",
      "slug": "oilpriceapi",
      "title": "OilPriceAPI ~ live oil & energy prices (WTI, Brent, gas)",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "OilPriceAPI",
      "source": "OilPriceAPI",
      "sourceUrl": "https://docs.oilpriceapi.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.oilpriceapi.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST Token auth, WTI/Brent/diesel/natgas/coal, 50+ commodities. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "OilPriceAPI",
        "sourceUrl": "https://docs.oilpriceapi.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "api-ninjas-commodity",
      "slug": "api-ninjas-commodity",
      "title": "API Ninjas Commodity Price ~ 30+ commodities (metals, energy, grains)",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "API Ninjas",
      "source": "API Ninjas",
      "sourceUrl": "https://api-ninjas.com/api/commodityprice",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-Api-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://api-ninjas.com/api/commodityprice",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST X-Api-Key header, gold/silver/oil/copper/wheat/coffee etc. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "API Ninjas",
        "sourceUrl": "https://api-ninjas.com/api/commodityprice",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "twelve-data-commodities",
      "slug": "twelve-data-commodities",
      "title": "Twelve Data ~ commodities pairs (metals, livestock, softs, grains)",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Twelve Data",
      "source": "Twelve Data",
      "sourceUrl": "https://twelvedata.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://twelvedata.com/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST apikey auth, /commodities endpoint, credit-based free tier. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Twelve Data",
        "sourceUrl": "https://twelvedata.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "us-eia-opendata",
      "slug": "us-eia-opendata",
      "title": "U.S. EIA Open Data ~ energy/oil/gas/electricity/coal series",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "U.S. Energy Information Administration",
      "source": "U.S. Energy Information Administration",
      "sourceUrl": "https://www.eia.gov/opendata/documentation.php",
      "tier": "open",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.eia.gov/opendata/documentation.php",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. Authoritative oil/gas/petroleum + coal/electricity series via api.eia.gov/v2; free key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "U.S. Energy Information Administration",
        "sourceUrl": "https://www.eia.gov/opendata/documentation.php",
        "sourceType": "Curated source",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "fred-stlouisfed",
      "slug": "fred-stlouisfed",
      "title": "FRED API ~ energy & commodity series (WTI, Brent, natural gas)",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "Federal Reserve Bank of St. Louis",
      "source": "Federal Reserve Bank of St. Louis",
      "sourceUrl": "https://fred.stlouisfed.org/docs/api/fred/",
      "tier": "open",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://fred.stlouisfed.org/docs/api/fred/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. Free JSON API with crude oil, natural gas and other commodity/energy series.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Federal Reserve Bank of St. Louis",
        "sourceUrl": "https://fred.stlouisfed.org/docs/api/fred/",
        "sourceType": "Curated source",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "usda-nass-quickstats",
      "slug": "usda-nass-quickstats",
      "title": "USDA NASS QuickStats ~ agriculture / grains / crops data",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "USDA NASS",
      "source": "USDA NASS",
      "sourceUrl": "https://quickstats.nass.usda.gov/api",
      "tier": "open",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://quickstats.nass.usda.gov/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global (US ags focus), works for MY. Free key; agriculture/grains/crop production & price stats.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "USDA NASS",
        "sourceUrl": "https://quickstats.nass.usda.gov/api",
        "sourceType": "Curated source",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "nasdaq-data-link",
      "slug": "nasdaq-data-link",
      "title": "Nasdaq Data Link (Quandl) ~ commodities & financial datasets",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Nasdaq",
      "source": "Nasdaq",
      "sourceUrl": "https://data.nasdaq.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://data.nasdaq.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. The former developer-documentation route returned HTTP 404 on 2026-09-16; the link now opens the provider catalogue. Locate current access instructions for your chosen dataset before integration. Do not assume legacy API examples still work.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Nasdaq",
        "sourceUrl": "https://data.nasdaq.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": "2026-09-16",
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "alpha-vantage-commodities",
      "slug": "alpha-vantage-commodities",
      "title": "Alpha Vantage Commodities ~ WTI/Brent/gas + metals + ags",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Alpha Vantage",
      "source": "Alpha Vantage",
      "sourceUrl": "https://www.alphavantage.co/documentation/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.alphavantage.co/documentation/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. WTI/Brent/natural gas, copper/aluminium, wheat/corn/cotton/sugar/coffee; free key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Alpha Vantage",
        "sourceUrl": "https://www.alphavantage.co/documentation/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "massive-polygon-futures",
      "slug": "massive-polygon-futures",
      "title": "Massive (ex-Polygon.io) Futures ~ CL/NG/GC commodity futures",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Massive (Polygon.io)",
      "source": "Massive (Polygon.io)",
      "sourceUrl": "https://massive.com/docs/rest/futures/overview",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://massive.com/docs/rest/futures/overview",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. REST futures for crude (CL), natural gas (NG), gold (GC) from NYMEX/COMEX/CME.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Massive (Polygon.io)",
        "sourceUrl": "https://massive.com/docs/rest/futures/overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "financial-modeling-prep-commodities",
      "slug": "financial-modeling-prep-commodities",
      "title": "Financial Modeling Prep Commodities ~ oil/gold/gas/ags quotes",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Financial Modeling Prep",
      "source": "Financial Modeling Prep",
      "sourceUrl": "https://site.financialmodelingprep.com/developer/docs/stable/commodities-list",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://site.financialmodelingprep.com/developer/docs/stable/commodities-list",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. ~40 commodities (energy, metals, agriculture) real-time + historical; free tier.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Financial Modeling Prep",
        "sourceUrl": "https://site.financialmodelingprep.com/developer/docs/stable/commodities-list",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "marketstack-commodities",
      "slug": "marketstack-commodities",
      "title": "Marketstack ~ stocks/indices + commodities market data",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "apilayer (Marketstack)",
      "source": "apilayer (Marketstack)",
      "sourceUrl": "https://docs.apilayer.com/marketstack/docs/api-endpoints-v1/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.apilayer.com/marketstack/docs/api-endpoints-v1/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. v2 adds commodities across 70+ exchanges; free tier.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "apilayer (Marketstack)",
        "sourceUrl": "https://docs.apilayer.com/marketstack/docs/api-endpoints-v1/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "tradermade-cfd",
      "slug": "tradermade-cfd",
      "title": "Tradermade ~ forex + CFD commodities (gold, oil) live/historical",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "TraderMade",
      "source": "TraderMade",
      "sourceUrl": "https://tradermade.com/docs/restful-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://tradermade.com/docs/restful-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. 200+ CFDs incl. metals (XAU/XAG) and energy; sub-second live + historical.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "TraderMade",
        "sourceUrl": "https://tradermade.com/docs/restful-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "eodhd-commodities",
      "slug": "eodhd-commodities",
      "title": "EODHD Commodities ~ historical oil/gas/metals/agriculture prices",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "EOD Historical Data (EODHD)",
      "source": "EOD Historical Data (EODHD)",
      "sourceUrl": "https://eodhd.com/financial-apis/commodities-api-historical-prices-for-oil-gas-metals-agriculture-beta",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://eodhd.com/financial-apis/commodities-api-historical-prices-for-oil-gas-metals-agriculture-beta",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. Historical commodity series (energy daily, metals/ags monthly); api_token.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "EOD Historical Data (EODHD)",
        "sourceUrl": "https://eodhd.com/financial-apis/commodities-api-historical-prices-for-oil-gas-metals-agriculture-beta",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "trading-economics-commodities",
      "slug": "trading-economics-commodities",
      "title": "Trading Economics ~ commodity prices (energy/metals/ags) + indicators",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Trading Economics",
      "source": "Trading Economics",
      "sourceUrl": "https://docs.tradingeconomics.com/markets/historical/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.tradingeconomics.com/markets/historical/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. Live + historical commodity quotes via client-key; documented REST, subscription.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Trading Economics",
        "sourceUrl": "https://docs.tradingeconomics.com/markets/historical/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "aviationstack",
      "slug": "aviationstack",
      "title": "Aviationstack Real-Time Flight Data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Aviationstack (APILayer)",
      "source": "Aviationstack (APILayer)",
      "sourceUrl": "https://aviationstack.com/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://aviationstack.com/documentation",
      "baseUrl": "https://api.aviationstack.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Real-time and historical flight status, schedules, airline routes and airport data. Free: 100 req/month. Covers MAS, AirAsia and all IATA carriers. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Aviationstack (APILayer)",
        "sourceUrl": "https://aviationstack.com/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "flightaware-aeroapi",
      "slug": "flightaware-aeroapi",
      "title": "FlightAware AeroAPI",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "FlightAware (Collins Aerospace)",
      "source": "FlightAware (Collins Aerospace)",
      "sourceUrl": "https://www.flightaware.com/aeroapi/portal/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.flightaware.com/aeroapi/portal/documentation",
      "baseUrl": "https://aeroapi.flightaware.com/aeroapi",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "60+ endpoints for real-time flight tracking, historical flights, route predictions and push alerts. Personal tier: up to $5 free/month. Standard from $100/month. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "FlightAware (Collins Aerospace)",
        "sourceUrl": "https://www.flightaware.com/aeroapi/portal/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "booking-com-demand-api",
      "slug": "booking-com-demand-api",
      "title": "Booking.com Demand API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Booking.com",
      "source": "Booking.com",
      "sourceUrl": "https://developers.booking.com/demand/docs/open-api/demand-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developers.booking.com/demand/docs/open-api/demand-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Search and book accommodations, car rentals, flights and attractions via REST. Free API once approved as Managed Affiliate Partner. Covers Malaysia properties. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Booking.com",
        "sourceUrl": "https://developers.booking.com/demand/docs/open-api/demand-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "viator-partner-api",
      "slug": "viator-partner-api",
      "title": "Viator Partner API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Viator (Tripadvisor)",
      "source": "Viator (Tripadvisor)",
      "sourceUrl": "https://docs.viator.com/partner-api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://docs.viator.com/partner-api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "300,000+ tours, activities and experiences including Malaysian and SEA attractions. Search, availability and booking endpoints. Requires Viator affiliate/partner approval. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Viator (Tripadvisor)",
        "sourceUrl": "https://docs.viator.com/partner-api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "skyscanner-travel-api",
      "slug": "skyscanner-travel-api",
      "title": "Skyscanner Travel API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Skyscanner",
      "source": "Skyscanner",
      "sourceUrl": "https://developers.skyscanner.net",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developers.skyscanner.net",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Flight, hotel and car-hire search APIs. Deep-link affiliate API available to all; full Travel API for established partners. Covers AirAsia and all major carriers out of MY. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Skyscanner",
        "sourceUrl": "https://developers.skyscanner.net",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "klook-open-api",
      "slug": "klook-open-api",
      "title": "Klook Open API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Klook",
      "source": "Klook",
      "sourceUrl": "https://klook.gitbook.io/openapi",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://klook.gitbook.io/openapi",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "500,000+ activities, transport passes and experiences across 2,300+ destinations including Malaysia and SEA. REST API for merchants and channel managers. Requires Klook merchant partnership. MY-first (SEA HQ).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Klook",
        "sourceUrl": "https://klook.gitbook.io/openapi",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "hunter-io",
      "slug": "hunter-io",
      "title": "Hunter Email Finder & Verifier",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Hunter.io",
      "source": "Hunter.io",
      "sourceUrl": "https://hunter.io/api-documentation/v2",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://hunter.io/api-documentation/v2",
      "baseUrl": "https://api.hunter.io/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Find and verify professional email addresses by domain. Free: 25 searches/month. Covers Domain Search, Email Finder, Email Verifier. Useful for Malaysian B2B outreach and lead gen.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Hunter.io",
        "sourceUrl": "https://hunter.io/api-documentation/v2",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "apollo-io",
      "slug": "apollo-io",
      "title": "Apollo B2B Data & Enrichment",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Apollo.io",
      "source": "Apollo.io",
      "sourceUrl": "https://docs.apollo.io/docs/build-with-apollo",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.apollo.io/docs/build-with-apollo",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "B2B people and company search and enrichment. API users authenticate with x-api-key; partner integrations use OAuth. Endpoint access, credits and rate limits depend on the plan, and some free-account actions require a work email. Check the current endpoint documentation before integration.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Apollo.io",
        "sourceUrl": "https://docs.apollo.io/docs/build-with-apollo",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": "2026-09-16",
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "fullcontact",
      "slug": "fullcontact",
      "title": "FullContact Person & Company Enrichment",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "FullContact",
      "source": "FullContact",
      "sourceUrl": "https://docs.fullcontact.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.fullcontact.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Person profile enrichment and identity resolution API. POST-based REST: Enrich (name, location, social, employment) and Resolve (identity graph). Sub-100ms responses, up to 100 req/s.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "FullContact",
        "sourceUrl": "https://docs.fullcontact.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "people-data-labs",
      "slug": "people-data-labs",
      "title": "People Data Labs (PDL)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "People Data Labs",
      "source": "People Data Labs",
      "sourceUrl": "https://docs.peopledatalabs.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.peopledatalabs.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "3B+ person profiles and 100M+ company records. Person Enrich, Person Search, Company Enrich, IP Enrichment and Job Posting search. SDKs for Python, Node, Go. Free tier available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "People Data Labs",
        "sourceUrl": "https://docs.peopledatalabs.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "ipinfo",
      "slug": "ipinfo",
      "title": "IPinfo IP Geolocation & ASN",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "IPinfo",
      "source": "IPinfo",
      "sourceUrl": "https://ipinfo.io/developers",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://ipinfo.io/developers",
      "baseUrl": "https://ipinfo.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Industry-leading IP geolocation, ASN, carrier and privacy detection. Free Lite tier has no quota cap (country + ASN only); paid tiers add city, org, abuse contact data. SDKs for Python, Node, Go, PHP, Java.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "IPinfo",
        "sourceUrl": "https://ipinfo.io/developers",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "ip-api",
      "slug": "ip-api",
      "title": "ip-api Free IP Geolocation",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "ip-api.com",
      "source": "ip-api.com",
      "sourceUrl": "https://ip-api.com/docs/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://ip-api.com/docs/",
      "baseUrl": "http://ip-api.com/json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Keyless IP geolocation REST API returning JSON, XML or CSV. Free for non-commercial use at 45 req/min. Batch API supports up to 100 IPs per request. Commercial use requires a paid Pro plan.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "ip-api.com",
        "sourceUrl": "https://ip-api.com/docs/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Still handle empty rows, schema changes, pagination, stale coverage, and temporary upstream failures."
      },
      "setup": {
        "level": "copy-paste",
        "label": "COPY-PASTE SETUP",
        "summary": "No auth needed. You can call this directly and iterate from the live response."
      }
    },
    {
      "id": "ipgeolocation-io",
      "slug": "ipgeolocation-io",
      "title": "IPGeolocation IP Location & Security",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "IPGeolocation.io",
      "source": "IPGeolocation.io",
      "sourceUrl": "https://ipgeolocation.io/documentation.html",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://ipgeolocation.io/documentation.html",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "IP geolocation + threat intelligence. Free: 1,000 lookups/day, no credit card required. Paid plans from ~$9/month add VPN/proxy/TOR/bot detection. Broad SDK support.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "IPGeolocation.io",
        "sourceUrl": "https://ipgeolocation.io/documentation.html",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "abstractapi",
      "slug": "abstractapi",
      "title": "Abstract API Suite",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "AbstractAPI",
      "source": "AbstractAPI",
      "sourceUrl": "https://www.abstractapi.com/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.abstractapi.com/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "15+ independent utility APIs: email validation, phone validation, IP geolocation, VAT validation, IBAN validation, company enrichment, holidays and more. Each has its own free tier (1,000 req/month).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "AbstractAPI",
        "sourceUrl": "https://www.abstractapi.com/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "diffbot",
      "slug": "diffbot",
      "title": "Diffbot Web Scraping & Entity Extraction",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Diffbot",
      "source": "Diffbot",
      "sourceUrl": "https://docs.diffbot.com/reference/introduction-to-diffbot-apis",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.diffbot.com/reference/introduction-to-diffbot-apis",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "ML-powered web scraping and entity extraction — articles, products, companies from any URL. Free: 10,000 credits/month. Also includes Knowledge Graph and Enhance entity enrichment.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Diffbot",
        "sourceUrl": "https://docs.diffbot.com/reference/introduction-to-diffbot-apis",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "serpapi",
      "slug": "serpapi",
      "title": "SerpAPI Search Engine Results",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "SerpAPI",
      "source": "SerpAPI",
      "sourceUrl": "https://serpapi.com/search-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://serpapi.com/search-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Real-time SERP scraping for Google, Bing, Yahoo and more. Returns structured JSON including rich results, ads and knowledge panels. Handles proxies and CAPTCHAs. Free: 250 searches/month.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "SerpAPI",
        "sourceUrl": "https://serpapi.com/search-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "scraperapi",
      "slug": "scraperapi",
      "title": "ScraperAPI Web Scraping Proxy",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "ScraperAPI",
      "source": "ScraperAPI",
      "sourceUrl": "https://docs.scraperapi.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.scraperapi.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Web scraping proxy with automatic IP rotation, CAPTCHA solving and JS rendering. Pass a URL, receive rendered HTML. Free: 1,000 credits/month. Paid from $49/month.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ScraperAPI",
        "sourceUrl": "https://docs.scraperapi.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "tiktok-shop",
      "slug": "tiktok-shop",
      "title": "TikTok Shop Open Platform",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "TikTok",
      "source": "TikTok",
      "sourceUrl": "https://partner.tiktokshop.com/docv2/page/tts-developer-guide",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://partner.tiktokshop.com/docv2/page/tts-developer-guide",
      "baseUrl": "https://open-api.tiktokglobalshop.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Official TikTok Shop merchant API for product catalog, orders, shipping, fulfillment and webhooks. OAuth 2.0 with per-request signature. Requires developer application approval. Highly relevant for Malaysian sellers.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "TikTok",
        "sourceUrl": "https://partner.tiktokshop.com/docv2/page/tts-developer-guide",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "easystore",
      "slug": "easystore",
      "title": "EasyStore E-commerce API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "EasyStore",
      "source": "EasyStore",
      "sourceUrl": "https://developers.easystore.co/docs/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.easystore.co/docs/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Malaysian-origin SaaS e-commerce platform with full REST API. OAuth 2.0. Covers products, orders, customers, inventory. Dev sandbox free; live access requires merchant subscription. MY-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "EasyStore",
        "sourceUrl": "https://developers.easystore.co/docs/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "shopline",
      "slug": "shopline",
      "title": "Shopline REST & GraphQL Admin API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Shopline",
      "source": "Shopline",
      "sourceUrl": "https://developer.shopline.com/docs/apps/api-instructions-for-use/rest-admin-api/overview/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.shopline.com/docs/apps/api-instructions-for-use/rest-admin-api/overview/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Multi-region e-commerce platform (MY, SG, HK, TW) with REST and GraphQL Admin APIs plus Storefront GraphQL. OAuth 2.0. Covers orders, products, customers. Go SDK available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Shopline",
        "sourceUrl": "https://developer.shopline.com/docs/apps/api-instructions-for-use/rest-admin-api/overview/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "printful",
      "slug": "printful",
      "title": "Printful Print-on-Demand API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Printful",
      "source": "Printful",
      "sourceUrl": "https://developers.printful.com/docs/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developers.printful.com/docs/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Print-on-demand integration API: products, orders, mockups, shipping rates, inventory sync and webhooks. 455+ products. API access is free — you only pay per fulfilled order.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Printful",
        "sourceUrl": "https://developers.printful.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "printify",
      "slug": "printify",
      "title": "Printify Print-on-Demand API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Printify",
      "source": "Printify",
      "sourceUrl": "https://developers.printify.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developers.printify.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Print-on-demand API for products, orders and webhooks. Personal access tokens, no OAuth needed. Free on all plans — you pay per fulfilled order. Node.js SDK available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Printify",
        "sourceUrl": "https://developers.printify.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "ecwid",
      "slug": "ecwid",
      "title": "Ecwid (Lightspeed) E-commerce API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Ecwid by Lightspeed",
      "source": "Ecwid by Lightspeed",
      "sourceUrl": "https://docs.ecwid.com/api-reference",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.ecwid.com/api-reference",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "115+ REST endpoints for products, orders, customers, catalog, payments, shipping and webhooks. OAuth 2.0. Free Venture plan includes limited API access; paid plans unlock higher rate limits.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Ecwid by Lightspeed",
        "sourceUrl": "https://docs.ecwid.com/api-reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "salla",
      "slug": "salla",
      "title": "Salla E-commerce API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Salla",
      "source": "Salla",
      "sourceUrl": "https://docs.salla.dev/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.salla.dev/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Full merchant API for the Salla platform (60,000+ stores, predominantly MENA). REST API at api.salla.dev/admin/v2, OAuth 2.0. Covers orders, products, shipments, customers.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Salla",
        "sourceUrl": "https://docs.salla.dev/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "adobe-commerce",
      "slug": "adobe-commerce",
      "title": "Adobe Commerce (Magento) Web API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Adobe / Magento",
      "source": "Adobe / Magento",
      "sourceUrl": "https://developer.adobe.com/commerce/webapi/rest/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.adobe.com/commerce/webapi/rest/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Enterprise e-commerce REST and GraphQL API: products, categories, carts, orders, inventory. Magento Open Source is free/self-hosted. Widely used by large Malaysian e-commerce brands.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Adobe / Magento",
        "sourceUrl": "https://developer.adobe.com/commerce/webapi/rest/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "wix-ecommerce",
      "slug": "wix-ecommerce",
      "title": "Wix eCommerce REST API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Wix",
      "source": "Wix",
      "sourceUrl": "https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Full e-commerce REST API: cart, checkout, orders, catalog, discount rules, abandoned checkout. OAuth 2.0 or API keys. Free developer program; merchant Wix plan required for live store.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Wix",
        "sourceUrl": "https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "nium-payments",
      "slug": "nium-payments",
      "title": "Nium Global Embedded Finance & Payouts",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY",
        "SG",
        "PH",
        "VN"
      ],
      "provider": "Nium",
      "source": "Nium",
      "sourceUrl": "https://docs.nium.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "x-api-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.nium.com/",
      "baseUrl": "https://api.nium.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "SG-headquartered; regulated in Malaysia. Real-time MYR payouts to 220+ countries, card issuance and wallet management. x-api-key header; sandbox environment available.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Nium",
        "sourceUrl": "https://docs.nium.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "rapyd-fintech",
      "slug": "rapyd-fintech",
      "title": "Rapyd Global Fintech-as-a-Service",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Rapyd",
      "source": "Rapyd",
      "sourceUrl": "https://docs.rapyd.net/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.rapyd.net/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Explicitly supports Malaysia: MYR, Alliance Bank, AmBank, Alipay MY, local bank payouts. 900+ payment methods across 100+ countries; HMAC-SHA256 request signing. Collect, disburse, wallets.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Rapyd",
        "sourceUrl": "https://docs.rapyd.net/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "wise-api",
      "slug": "wise-api",
      "title": "Wise API International Money Transfers",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY",
        "PH",
        "VN"
      ],
      "provider": "Wise (formerly TransferWise)",
      "source": "Wise (formerly TransferWise)",
      "sourceUrl": "https://docs.wise.com/api-docs/api-reference",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.wise.com/api-docs/api-reference",
      "baseUrl": "https://api.wise.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "MYR transfers natively supported via FPX; receive into Malaysian bank accounts. OAuth 2.0; partner onboarding required. Wise has a Malaysia-facing product (wise.com/my).",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Wise (formerly TransferWise)",
        "sourceUrl": "https://docs.wise.com/api-docs/api-reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "saltedge-open-banking",
      "slug": "saltedge-open-banking",
      "title": "Salt Edge Open Banking Aggregator",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Salt Edge",
      "source": "Salt Edge",
      "sourceUrl": "https://docs.saltedge.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.saltedge.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Connects 5,000+ banks globally via a single API for account data (AIS) and payment initiation (PIS). APAC coverage; custom header-based signing. Enterprise pricing; contact required.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Salt Edge",
        "sourceUrl": "https://docs.saltedge.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "currencybeacon",
      "slug": "currencybeacon",
      "title": "CurrencyBeacon Forex Rates",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "CurrencyBeacon",
      "source": "CurrencyBeacon",
      "sourceUrl": "https://currencybeacon.com/api-documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://currencybeacon.com/api-documentation",
      "baseUrl": "https://api.currencybeacon.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "MYR included in 168+ currencies. Free: 5,000 calls/month; rates updated every minute; historical data back to 1996. Good for FX conversion, remittance calculators or financial dashboards.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "CurrencyBeacon",
        "sourceUrl": "https://currencybeacon.com/api-documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "exchangerate-api",
      "slug": "exchangerate-api",
      "title": "ExchangeRate-API Currency Conversion",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "ExchangeRate-API",
      "source": "ExchangeRate-API",
      "sourceUrl": "https://www.exchangerate-api.com/docs/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.exchangerate-api.com/docs/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "MYR supported; 161 currencies across 200 countries. Free tier: 1,500 requests/month. Paid plans add historical data and higher limits. Simple REST, easy for prototyping.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ExchangeRate-API",
        "sourceUrl": "https://www.exchangerate-api.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "open-exchange-rates",
      "slug": "open-exchange-rates",
      "title": "Open Exchange Rates FX API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Open Exchange Rates",
      "source": "Open Exchange Rates",
      "sourceUrl": "https://docs.openexchangerates.org/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.openexchangerates.org/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "MYR included. Free plan: 1,000 requests/month, hourly updates (USD base only). Paid plans unlock non-USD base currencies — needed to display MYR as base rate. Widely used in production.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Open Exchange Rates",
        "sourceUrl": "https://docs.openexchangerates.org/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "coingecko",
      "slug": "coingecko",
      "title": "CoinGecko Crypto Market Data",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "CoinGecko",
      "source": "CoinGecko",
      "sourceUrl": "https://docs.coingecko.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.coingecko.com/",
      "baseUrl": "https://api.coingecko.com/api/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "World's largest independent crypto data aggregator: 18,000+ coins, 1,500+ exchanges, 200+ chains including DEX/onchain via GeckoTerminal. Demo key: 100 calls/min, 10,000/month free.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "CoinGecko",
        "sourceUrl": "https://docs.coingecko.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "coinmarketcap-api",
      "slug": "coinmarketcap-api",
      "title": "CoinMarketCap API",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "CoinMarketCap",
      "source": "CoinMarketCap",
      "sourceUrl": "https://coinmarketcap.com/api/documentation/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://coinmarketcap.com/api/documentation/",
      "baseUrl": "https://pro-api.coinmarketcap.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Industry-standard crypto data: 72+ endpoints, 14 years of historical data, 1B+ API calls/month. Free tier available. Ideal for price tickers and market dashboards.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "CoinMarketCap",
        "sourceUrl": "https://coinmarketcap.com/api/documentation/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "etherscan-api",
      "slug": "etherscan-api",
      "title": "Etherscan Ethereum & EVM Blockchain Data",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Etherscan",
      "source": "Etherscan",
      "sourceUrl": "https://docs.etherscan.io/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.etherscan.io/",
      "baseUrl": "https://api.etherscan.io/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Query transactions, balances, token transfers and contract ABIs across 60+ EVM chains (V2 unified key). Free: 5 calls/sec, 100K calls/day on Ethereum mainnet. For EVM wallets or DeFi tools.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Etherscan",
        "sourceUrl": "https://docs.etherscan.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "moralis-web3",
      "slug": "moralis-web3",
      "title": "Moralis Web3 Data API",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Moralis",
      "source": "Moralis",
      "sourceUrl": "https://docs.moralis.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.moralis.com/",
      "baseUrl": "https://deep-index.moralis.io/api/v2.2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Full-stack Web3 data across 30+ chains: decoded on-chain data, real-time webhooks (Streams), NFT metadata, token balances. Free Starter plan. Ideal for MY dApp and wallet builders.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Moralis",
        "sourceUrl": "https://docs.moralis.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "alchemy-web3",
      "slug": "alchemy-web3",
      "title": "Alchemy Web3 Node Infrastructure",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Alchemy",
      "source": "Alchemy",
      "sourceUrl": "https://www.alchemy.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.alchemy.com/docs",
      "baseUrl": "https://eth-mainnet.g.alchemy.com/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Premier Ethereum/L2 node provider: JSON-RPC for 80+ networks (Ethereum, Polygon, Base, Arbitrum), NFT API, WebSocket subscriptions, smart wallet support. 30M compute units/month free.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Alchemy",
        "sourceUrl": "https://www.alchemy.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "infura-ethereum",
      "slug": "infura-ethereum",
      "title": "Infura Ethereum & IPFS Node API",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Infura (ConsenSys / MetaMask)",
      "source": "Infura (ConsenSys / MetaMask)",
      "sourceUrl": "https://docs.metamask.io/services/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.metamask.io/services/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Most widely used Ethereum node provider; powers MetaMask. JSON-RPC for Ethereum, L2s and IPFS. Free: ~3-6M credits/day. Essential for MetaMask-integrated dApps or Ethereum tooling.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Infura (ConsenSys / MetaMask)",
        "sourceUrl": "https://docs.metamask.io/services/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "avalara-avatax",
      "slug": "avalara-avatax",
      "title": "Avalara AvaTax",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Avalara",
      "source": "Avalara",
      "sourceUrl": "https://developer.avalara.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.avalara.com/",
      "baseUrl": "https://rest.avatax.com/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Real-time sales/VAT/GST rates for 200+ countries including MY. Interactive playground (no signup required); 90-day free trial (1,000 transactions/day). Also covers e-invoicing mandates and returns filing.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Avalara",
        "sourceUrl": "https://developer.avalara.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "taxjar-api",
      "slug": "taxjar-api",
      "title": "TaxJar Sales Tax API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "TaxJar (Stripe)",
      "source": "TaxJar (Stripe)",
      "sourceUrl": "https://developers.taxjar.com/api/reference/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.taxjar.com/api/reference/",
      "baseUrl": "https://api.taxjar.com/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST API v2 for tax rate lookup, transaction calculations, order/refund reporting and filing. Sandbox at api.sandbox.taxjar.com. US-origin but supports international rates including MY GST.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "TaxJar (Stripe)",
        "sourceUrl": "https://developers.taxjar.com/api/reference/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "vertex-tax-engine",
      "slug": "vertex-tax-engine",
      "title": "Vertex Tax Engine API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Vertex Inc.",
      "source": "Vertex Inc.",
      "sourceUrl": "https://developer.vertexinc.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.vertexinc.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "11 product APIs: O Series tax engine, e-invoicing, VAT compliance, payroll tax and exemption certificates. Enterprise-grade; OAuth2. Used by large MY multinationals for global indirect tax.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Vertex Inc.",
        "sourceUrl": "https://developer.vertexinc.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "invoiced-api",
      "slug": "invoiced-api",
      "title": "Invoiced Billing & Accounts Receivable API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Invoiced",
      "source": "Invoiced",
      "sourceUrl": "https://developer.invoiced.com/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.invoiced.com/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Full REST API for customers, invoices, payments, credit notes, subscriptions, metered billing and refunds. HTTP Basic auth (API key as username). Sandbox at api.sandbox.invoiced.com. Global, usable from MY.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Invoiced",
        "sourceUrl": "https://developer.invoiced.com/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "freeagent-api",
      "slug": "freeagent-api",
      "title": "FreeAgent Accounting & Invoicing API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "FreeAgent (NatWest)",
      "source": "FreeAgent (NatWest)",
      "sourceUrl": "https://dev.freeagent.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://dev.freeagent.com/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "OAuth2 REST API for invoices, expenses, bank transactions, payroll and tax returns. UK-focused SMB accounting but accessible to MY developers building cross-border invoicing integrations.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "FreeAgent (NatWest)",
        "sourceUrl": "https://dev.freeagent.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "myob-api",
      "slug": "myob-api",
      "title": "MYOB Business API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "MYOB",
      "source": "MYOB",
      "sourceUrl": "https://developer.myob.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.myob.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Developer centre for MYOB Business, EXO, Acumatica and Transactions APIs. OAuth2. MYOB has product presence in Malaysia and is used by some MY SMBs for accounting and invoicing.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "MYOB",
        "sourceUrl": "https://developer.myob.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "invoice-ninja-api",
      "slug": "invoice-ninja-api",
      "title": "Invoice Ninja Open-Source Invoicing API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Invoice Ninja",
      "source": "Invoice Ninja",
      "sourceUrl": "https://api-docs.invoicing.co/",
      "tier": "open",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-TOKEN",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://api-docs.invoicing.co/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "OpenAPI v5 for invoices, recurring invoices, payments, quotes, credits, clients, products, expenses and webhooks. Token auth via X-API-TOKEN header. Self-hosted: free (MIT licence); hosted Pro from $10/month.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Invoice Ninja",
        "sourceUrl": "https://api-docs.invoicing.co/",
        "sourceType": "Curated source",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "zuora-billing-api",
      "slug": "zuora-billing-api",
      "title": "Zuora Subscription Billing API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Zuora",
      "source": "Zuora",
      "sourceUrl": "https://developer.zuora.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.zuora.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Enterprise subscription billing and revenue management: invoices, subscriptions, products, payments, revenue recognition. OAuth2 access tokens. Used by large MY SaaS and telco businesses.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Zuora",
        "sourceUrl": "https://developer.zuora.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "numverify-phone",
      "slug": "numverify-phone",
      "title": "Numverify Phone Number Validation",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Numverify (APILayer)",
      "source": "Numverify (APILayer)",
      "sourceUrl": "https://numverify.com/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://numverify.com/documentation",
      "baseUrl": "https://apilayer.net/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Validates any phone number worldwide: carrier detection, line type (mobile/landline/VoIP), country and location. Free: 100 requests/month, no credit card. Global, works for MY numbers.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Numverify (APILayer)",
        "sourceUrl": "https://numverify.com/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "abstractapi-phone",
      "slug": "abstractapi-phone",
      "title": "Abstract API Phone Validation",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "AbstractAPI",
      "source": "AbstractAPI",
      "sourceUrl": "https://www.abstractapi.com/api/phone-validation-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.abstractapi.com/api/phone-validation-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Validates phone numbers across 190+ countries: line type, carrier, country, fake number detection. Free: 100 requests/month, no credit card. Global, works for MY numbers.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "AbstractAPI",
        "sourceUrl": "https://www.abstractapi.com/api/phone-validation-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "telnyx-api",
      "slug": "telnyx-api",
      "title": "Telnyx Voice, SMS & SIP Platform",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Telnyx",
      "source": "Telnyx",
      "sourceUrl": "https://developers.telnyx.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.telnyx.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Full-stack telecom CPaaS: voice, SIP trunking, SMS/MMS, fax, video and IoT SIM connectivity. Malaysia local numbers and two-way SMS confirmed; covers 140+ countries. Pay-as-you-go pricing.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Telnyx",
        "sourceUrl": "https://developers.telnyx.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "infobip-api",
      "slug": "infobip-api",
      "title": "Infobip Omnichannel CPaaS",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Infobip",
      "source": "Infobip",
      "sourceUrl": "https://www.infobip.com/docs/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.infobip.com/docs/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "One of the largest global CPaaS platforms: SMS, WhatsApp, Voice, Email, Push and RCS. 60-day free trial (100 messages per channel). Regional office in SEA; Malaysia covered.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Infobip",
        "sourceUrl": "https://www.infobip.com/docs/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "gigs-esim-api",
      "slug": "gigs-esim-api",
      "title": "Gigs eSIM & Mobile Subscription API",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Gigs",
      "source": "Gigs",
      "sourceUrl": "https://developers.gigs.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.gigs.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Mobile-as-a-service REST API: activate SIMs/eSIMs, manage mobile plans, port numbers, handle billing and add-ons. Startup-friendly; currently US/UK/Ireland coverage. Built for embedding telco into any product.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Gigs",
        "sourceUrl": "https://developers.gigs.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "twilio-lookup-api",
      "slug": "twilio-lookup-api",
      "title": "Twilio Lookup Phone Intelligence",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Twilio",
      "source": "Twilio",
      "sourceUrl": "https://www.twilio.com/docs/lookup",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.twilio.com/docs/lookup",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Phone number intelligence: line-type detection, carrier, SIM swap detection, reassigned number check, SMS pumping risk score. Uses Twilio credentials. Pay-per-lookup (~$0.005–$0.01). Global, works for MY numbers.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Twilio",
        "sourceUrl": "https://www.twilio.com/docs/lookup",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "deepseek",
      "slug": "deepseek",
      "title": "DeepSeek API",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "DeepSeek",
      "source": "DeepSeek",
      "sourceUrl": "https://api-docs.deepseek.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://api-docs.deepseek.com/",
      "baseUrl": "https://api.deepseek.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "High-capability LLM with OpenAI-compatible endpoint. Models: V4 Flash ($0.14/1M input) and V4 Pro. New accounts get 5M free tokens. Extremely cost-competitive for Malaysian builders on a budget.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "DeepSeek",
        "sourceUrl": "https://api-docs.deepseek.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "heygen",
      "slug": "heygen",
      "title": "HeyGen AI Avatar Video",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "HeyGen",
      "source": "HeyGen",
      "sourceUrl": "https://developers.heygen.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.heygen.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "AI avatar video generation, video translation into 175+ languages with lip-sync and TTS. REST API from $5 pay-as-you-go. Popular for e-commerce and corporate comms in SEA.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "HeyGen",
        "sourceUrl": "https://developers.heygen.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "hedra",
      "slug": "hedra",
      "title": "Hedra Talking Avatar API",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Hedra",
      "source": "Hedra",
      "sourceUrl": "https://www.hedra.com/docs/pages/developer/getting_started/quickstart",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.hedra.com/docs/pages/developer/getting_started/quickstart",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Talking avatar video generation (Character-3 and Omnia models) — single image + audio yields a video with full body motion and camera control. Platform API launched Feb 2026.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Hedra",
        "sourceUrl": "https://www.hedra.com/docs/pages/developer/getting_started/quickstart",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "playht",
      "slug": "playht",
      "title": "PlayHT Text-to-Speech & Voice Cloning",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Play.ai",
      "source": "Play.ai",
      "sourceUrl": "https://docs.play.ht/reference",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.play.ht/reference",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Ultra-realistic TTS with voice cloning and conversational voice agents. Requires both Bearer secret key and X-USER-ID header. Plans from $39/month. Alternative to ElevenLabs.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Play.ai",
        "sourceUrl": "https://docs.play.ht/reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "cartesia",
      "slug": "cartesia",
      "title": "Cartesia Ultra-Low-Latency TTS & STT",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Cartesia",
      "source": "Cartesia",
      "sourceUrl": "https://docs.cartesia.ai/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.cartesia.ai/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Ultra-low-latency TTS (Sonic 3.5 model, first audio byte in 90ms) and STT (Ink models). Built for real-time voice agents. Free: 10k credits. Supports voice cloning with accent control.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Cartesia",
        "sourceUrl": "https://docs.cartesia.ai/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "luma-ai",
      "slug": "luma-ai",
      "title": "Luma AI Dream Machine Video & Image",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Luma AI",
      "source": "Luma AI",
      "sourceUrl": "https://docs.lumalabs.ai/docs/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.lumalabs.ai/docs/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "AI video generation (Ray-2) and image generation (uni-1) from text and image prompts. Async task-based REST API. Ray-2 ~$0.08/second. Popular for creative agencies in SEA.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Luma AI",
        "sourceUrl": "https://docs.lumalabs.ai/docs/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "runway-ml",
      "slug": "runway-ml",
      "title": "Runway ML AI Video Generation",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Runway",
      "source": "Runway",
      "sourceUrl": "https://docs.dev.runwayml.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.dev.runwayml.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "AI video generation API (Gen-4 Turbo, Gen-4.5, Seedance 2.0). Pay-per-credit: Gen-4 Turbo from $0.05/second. No free API tier. Public API launched Feb 2026.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Runway",
        "sourceUrl": "https://docs.dev.runwayml.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "ideogram",
      "slug": "ideogram",
      "title": "Ideogram Image Generation",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Ideogram",
      "source": "Ideogram",
      "sourceUrl": "https://developer.ideogram.ai/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "Api-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.ideogram.ai/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Image generation API (v3.0) with outstanding text rendering and prompt fidelity. Supports generate, remix, edit, reframe, background replace and face swap. Auth via Api-Key header.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Ideogram",
        "sourceUrl": "https://developer.ideogram.ai/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "recraft",
      "slug": "recraft",
      "title": "Recraft AI Image & Vector Generation",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Recraft",
      "source": "Recraft",
      "sourceUrl": "https://www.recraft.ai/docs/api-reference",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.recraft.ai/docs/api-reference",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Image generation API with 18 operations including strong vector/SVG output. Raster images from $0.04, vector from $0.08. Ideal for design-to-code workflows and brand asset generation.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Recraft",
        "sourceUrl": "https://www.recraft.ai/docs/api-reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "gladia",
      "slug": "gladia",
      "title": "Gladia Speech-to-Text API",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Gladia",
      "source": "Gladia",
      "sourceUrl": "https://docs.gladia.io/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "x-gladia-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.gladia.io/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Speech-to-text with real-time WebSocket + async REST modes. Adds LLM-powered audio intelligence (summaries, sentiment, diarization). Auth via x-gladia-key header. Integrates with Twilio, LiveKit, Pipecat.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Gladia",
        "sourceUrl": "https://docs.gladia.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "speechmatics",
      "slug": "speechmatics",
      "title": "Speechmatics Speech-to-Text",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Speechmatics",
      "source": "Speechmatics",
      "sourceUrl": "https://docs.speechmatics.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.speechmatics.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Enterprise-grade STT with batch REST + real-time WebSocket. Broad language support, speaker diarization, translation and TTS. Free: 480 min/month. Cloud + on-prem deployment options.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Speechmatics",
        "sourceUrl": "https://docs.speechmatics.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "kling-ai",
      "slug": "kling-ai",
      "title": "Kling AI Video Generation",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Kuaishou Technology",
      "source": "Kuaishou Technology",
      "sourceUrl": "https://app.klingai.com/global/dev/document-api/quickStart/userManual",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://app.klingai.com/global/dev/document-api/quickStart/userManual",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "AI video generation (Kling V3/O3 Omni) with text-to-video and image-to-video. JWT auth. Also accessible via fal.ai for simpler integration without direct Kling API subscription.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Kuaishou Technology",
        "sourceUrl": "https://app.klingai.com/global/dev/document-api/quickStart/userManual",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "tomtom",
      "slug": "tomtom",
      "title": "TomTom Maps & Routing",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "TomTom",
      "source": "TomTom",
      "sourceUrl": "https://developer.tomtom.com/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.tomtom.com/documentation",
      "baseUrl": "https://api.tomtom.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Maps, routing, real-time traffic, EV routing, geocoding and fleet management APIs. Free: 50k tile requests/day + 2.5k non-tile requests/day, no credit card required.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "TomTom",
        "sourceUrl": "https://developer.tomtom.com/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "azure-maps",
      "slug": "azure-maps",
      "title": "Azure Maps",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Microsoft",
      "source": "Microsoft",
      "sourceUrl": "https://learn.microsoft.com/en-us/azure/azure-maps/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://learn.microsoft.com/en-us/azure/azure-maps/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Microsoft's cloud geospatial platform: maps, routing, geocoding, real-time traffic, weather and time zone APIs. Auth via API key or Azure AD OAuth 2.0. Requires Azure subscription.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Microsoft",
        "sourceUrl": "https://learn.microsoft.com/en-us/azure/azure-maps/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "foursquare-places",
      "slug": "foursquare-places",
      "title": "Foursquare Places API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Foursquare",
      "source": "Foursquare",
      "sourceUrl": "https://docs.foursquare.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.foursquare.com/",
      "baseUrl": "https://api.foursquare.com/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global POI database from 100k+ trusted sources. APIs for place search, venue discovery, autocomplete, natural-language queries (Ask API) and merchant matching. Free tier available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Foursquare",
        "sourceUrl": "https://docs.foursquare.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "openrouteservice",
      "slug": "openrouteservice",
      "title": "OpenRouteService Routing & Geospatial",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "HeiGIT / Heidelberg University",
      "source": "HeiGIT / Heidelberg University",
      "sourceUrl": "https://openrouteservice.org/dev/#/api-docs",
      "tier": "open",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://openrouteservice.org/dev/#/api-docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Open-source routing APIs (directions, isochrones, geocoding, matrix, elevation, optimization) built on OpenStreetMap. Free: ~7k requests/day. Self-hostable. Good open-data alternative to Google.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "HeiGIT / Heidelberg University",
        "sourceUrl": "https://openrouteservice.org/dev/#/api-docs",
        "sourceType": "Curated source",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "geoapify",
      "slug": "geoapify",
      "title": "Geoapify Location Platform",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Geoapify",
      "source": "Geoapify",
      "sourceUrl": "https://apidocs.geoapify.com/docs/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://apidocs.geoapify.com/docs/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Full-stack location platform: geocoding, routing, maps (vector/raster), places POI, isochrones, batch processing and IP geolocation. Generous free tier for evaluation and production.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Geoapify",
        "sourceUrl": "https://apidocs.geoapify.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "what3words",
      "slug": "what3words",
      "title": "what3words Address API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "what3words",
      "source": "what3words",
      "sourceUrl": "https://developer.what3words.com/public-api/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.what3words.com/public-api/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Converts any 3m² location on Earth to/from a unique 3-word address. Free tier for AutoSuggest; paid plans for higher volumes. Used in delivery, emergency services and navigation apps.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "what3words",
        "sourceUrl": "https://developer.what3words.com/public-api/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "railway",
      "slug": "railway",
      "title": "Railway Deploy API",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Railway",
      "source": "Railway",
      "sourceUrl": "https://docs.railway.com/reference/public-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.railway.com/reference/public-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "GraphQL API for programmatically managing Railway projects, services, deployments and environments. Free: 100 req/hr. Auth via account/workspace/project tokens.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Railway",
        "sourceUrl": "https://docs.railway.com/reference/public-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "trigger-dev",
      "slug": "trigger-dev",
      "title": "Trigger.dev Background Jobs & Workflows",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Trigger.dev",
      "source": "Trigger.dev",
      "sourceUrl": "https://trigger.dev/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://trigger.dev/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Open-source background jobs and async workflow platform with queuing, retries, real-time monitoring and a Realtime API for triggering/monitoring runs. Cloud-hosted or self-hostable. Strong for long-running AI tasks.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Trigger.dev",
        "sourceUrl": "https://trigger.dev/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "liveblocks",
      "slug": "liveblocks",
      "title": "Liveblocks Realtime Collaboration API",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Liveblocks",
      "source": "Liveblocks",
      "sourceUrl": "https://liveblocks.io/docs/api-reference/rest-api-endpoints",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://liveblocks.io/docs/api-reference/rest-api-endpoints",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST API for real-time collaborative features: rooms, presence, Yjs storage, comments/threads, version history. Base URL: api.liveblocks.io/v2. Auth via secret key as Bearer token.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Liveblocks",
        "sourceUrl": "https://liveblocks.io/docs/api-reference/rest-api-endpoints",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "ably",
      "slug": "ably",
      "title": "Ably Pub/Sub Realtime Messaging",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Ably",
      "source": "Ably",
      "sourceUrl": "https://ably.com/docs/api/rest-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://ably.com/docs/api/rest-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Pub/sub messaging, message history, presence and push notifications via REST. Supports Basic auth (API key) and token auth (JWT). Free tier available. SDKs for JS, Python, Java, Go, iOS, Android.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Ably",
        "sourceUrl": "https://ably.com/docs/api/rest-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "pusher-channels",
      "slug": "pusher-channels",
      "title": "Pusher Channels Realtime Broadcasting",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Pusher",
      "source": "Pusher",
      "sourceUrl": "https://pusher.com/docs/channels/library_auth_reference/rest-api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://pusher.com/docs/channels/library_auth_reference/rest-api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Real-time event broadcasting via named channels. REST API uses HMAC SHA256 signing (app key + secret). Free Sandbox: 200k messages/day, 100 connections. Paid from $49/month.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Pusher",
        "sourceUrl": "https://pusher.com/docs/channels/library_auth_reference/rest-api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "pinecone",
      "slug": "pinecone",
      "title": "Pinecone Vector Database",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Pinecone",
      "source": "Pinecone",
      "sourceUrl": "https://docs.pinecone.io/reference/api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.pinecone.io/reference/api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Managed vector database for storing, querying and similarity-searching embeddings. Also provides hosted embedding and reranking inference. Free Starter: 2 GB storage, 2M write units/month.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Pinecone",
        "sourceUrl": "https://docs.pinecone.io/reference/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "weaviate",
      "slug": "weaviate",
      "title": "Weaviate Vector Database",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Weaviate",
      "source": "Weaviate",
      "sourceUrl": "https://docs.weaviate.io/weaviate/api",
      "tier": "open",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.weaviate.io/weaviate/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Open-source vector database with REST + GraphQL APIs for semantic search, hybrid search and RAG. Cloud: free 1 cluster, 100k objects, 1 GB. Self-hosted free. Auth via API key (cloud) or OIDC.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Weaviate",
        "sourceUrl": "https://docs.weaviate.io/weaviate/api",
        "sourceType": "Curated source",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "qdrant-cloud",
      "slug": "qdrant-cloud",
      "title": "Qdrant Vector Database",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Qdrant",
      "source": "Qdrant",
      "sourceUrl": "https://qdrant.tech/documentation/cloud/",
      "tier": "open",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://qdrant.tech/documentation/cloud/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Open-source vector database with REST + gRPC APIs for high-dimensional embedding search and RAG pipelines. Free starter cluster in cloud. Self-hostable under Apache 2.0.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Qdrant",
        "sourceUrl": "https://qdrant.tech/documentation/cloud/",
        "sourceType": "Curated source",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "sentry",
      "slug": "sentry",
      "title": "Sentry Error Monitoring API",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Sentry",
      "source": "Sentry",
      "sourceUrl": "https://docs.sentry.io/api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.sentry.io/api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "REST API for managing error monitoring: organizations, projects, issues, releases, replays, alerts and dashboards. Auth via Bearer token or OAuth2 for integrations. Free Developer plan available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Sentry",
        "sourceUrl": "https://docs.sentry.io/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "algolia",
      "slug": "algolia",
      "title": "Algolia Search-as-a-Service",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Algolia",
      "source": "Algolia",
      "sourceUrl": "https://www.algolia.com/doc/api-reference/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.algolia.com/doc/api-reference/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Fast, typo-tolerant full-text and AI search. Auth requires two headers: x-algolia-application-id + x-algolia-api-key. Free Build plan: 1M records, 10k searches/month.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Algolia",
        "sourceUrl": "https://www.algolia.com/doc/api-reference/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "zep",
      "slug": "zep",
      "title": "Zep Agent Memory Platform",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Zep AI",
      "source": "Zep AI",
      "sourceUrl": "https://help.getzep.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://help.getzep.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Agent memory platform that builds temporal knowledge graphs from conversations and serves context in sub-200ms for LLM personalization. Python/TS/Go SDKs + REST layer. Free: 1k credits/month.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Zep AI",
        "sourceUrl": "https://help.getzep.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "langsmith",
      "slug": "langsmith",
      "title": "LangSmith LLM Observability & Evals",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "LangChain",
      "source": "LangChain",
      "sourceUrl": "https://docs.langchain.com/langsmith",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.langchain.com/langsmith",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "LLM observability and evaluation platform for tracing, testing and debugging AI agent applications. REST API at api.smith.langchain.com. Free Developer: 5k traces/month.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "LangChain",
        "sourceUrl": "https://docs.langchain.com/langsmith",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "mux",
      "slug": "mux",
      "title": "Mux Video Infrastructure",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Mux",
      "source": "Mux",
      "sourceUrl": "https://www.mux.com/docs/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.mux.com/docs/",
      "baseUrl": "https://api.mux.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Video infrastructure API for developers: upload, on-demand streaming, live streaming, playback analytics and AI video automation. HTTP Basic auth. Free: 100k delivery minutes/month.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Mux",
        "sourceUrl": "https://www.mux.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "transloadit",
      "slug": "transloadit",
      "title": "Transloadit File Upload & Processing",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Transloadit",
      "source": "Transloadit",
      "sourceUrl": "https://transloadit.com/docs/api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://transloadit.com/docs/api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "File upload and processing pipelines via JSON Assembly instructions: encode video/audio/images, convert documents. Free: 5 GB/month (files watermarked). Paid from $9/month removes watermarks.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Transloadit",
        "sourceUrl": "https://transloadit.com/docs/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "uploadcare",
      "slug": "uploadcare",
      "title": "Uploadcare File Upload CDN",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Uploadcare",
      "source": "Uploadcare",
      "sourceUrl": "https://uploadcare.com/docs/rest_api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://uploadcare.com/docs/rest_api/",
      "baseUrl": "https://api.uploadcare.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "File upload infrastructure with CDN delivery, image transformations and video conversion. REST API with signed key pair auth. Free: 1k operations/month. Picker + CDN combo.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Uploadcare",
        "sourceUrl": "https://uploadcare.com/docs/rest_api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "bunny-net",
      "slug": "bunny-net",
      "title": "Bunny.net CDN, Video & Edge Storage",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "BunnyWay",
      "source": "BunnyWay",
      "sourceUrl": "https://docs.bunny.net/reference/bunnynet-api-overview",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.bunny.net/reference/bunnynet-api-overview",
      "baseUrl": "https://api.bunny.net",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global CDN, video streaming (Bunny Stream), edge storage, image optimization and DNS via REST API. Pay-as-you-go from $0.01/GB bandwidth. Popular cost-effective Cloudflare alternative in SEA.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "BunnyWay",
        "sourceUrl": "https://docs.bunny.net/reference/bunnynet-api-overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "shotstack",
      "slug": "shotstack",
      "title": "Shotstack Video Editing API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Shotstack",
      "source": "Shotstack",
      "sourceUrl": "https://shotstack.io/docs/api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "x-api-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://shotstack.io/docs/api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Video editing API for programmatically generating and rendering videos from JSON timelines. Australian startup popular in SEA. Auth via x-api-key header. From $39/month with 30-day sandbox trial.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Shotstack",
        "sourceUrl": "https://shotstack.io/docs/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "photoroom",
      "slug": "photoroom",
      "title": "Photoroom AI Product Photo API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Photoroom",
      "source": "Photoroom",
      "sourceUrl": "https://docs.photoroom.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.photoroom.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "AI background removal and product photo editing API — processes 3M+ images daily. Free: 10 API calls (watermarked). Paid for clean output. Widely used in Malaysian e-commerce product listings.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Photoroom",
        "sourceUrl": "https://docs.photoroom.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "tinypng",
      "slug": "tinypng",
      "title": "TinyPNG / Tinify Image Compression",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Tinify",
      "source": "Tinify",
      "sourceUrl": "https://tinify.com/developers",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://tinify.com/developers",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Image compression API for AVIF, WebP, JPEG and PNG. HTTP Basic auth (API key as password). Free: 500 compressions/month. Dead-simple integration for reducing asset sizes.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Tinify",
        "sourceUrl": "https://tinify.com/developers",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "cloudflare-images",
      "slug": "cloudflare-images",
      "title": "Cloudflare Images & Stream",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Cloudflare",
      "source": "Cloudflare",
      "sourceUrl": "https://developers.cloudflare.com/images/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.cloudflare.com/images/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Image storage, resizing and optimization at Cloudflare's edge via REST API. Free: 5k cached unique transformations. Paid: $5/100k stored images. Auth via Cloudflare API token (Bearer). Pairs well with Workers.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Cloudflare",
        "sourceUrl": "https://developers.cloudflare.com/images/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "BEARER TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "ssm-einfo",
      "slug": "ssm-einfo",
      "title": "SSM e-Info Company Registry API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Suruhanjaya Syarikat Malaysia (SSM)",
      "source": "Suruhanjaya Syarikat Malaysia (SSM)",
      "sourceUrl": "https://www.ssm-einfo.my/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.ssm-einfo.my/",
      "baseUrl": "https://www.ssm-einfo.my",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Official SSM API for real-time lookup of Malaysian registered companies (ROC) and businesses (ROB). Corporate Subscription Data (CSD) plan required for programmatic access. Contact SSM for API credentials. MY-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Suruhanjaya Syarikat Malaysia (SSM)",
        "sourceUrl": "https://www.ssm-einfo.my/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "verification": {
          "state": "stale",
          "label": "Review overdue",
          "reviewedAt": "2026-06-15",
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": "legacy-review",
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    }
  ],
  "unstamped_apis": [
    {
      "id": "gtfs-realtime/vehicle-position/prasarana",
      "slug": "gtfs-realtime-vehicle-position-prasarana",
      "title": "Bus positions ~ Prasarana GTFS-R (availability varies)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Prasarana via data.gov.my",
      "source": "Prasarana via data.gov.my",
      "sourceUrl": "https://api.data.gov.my/gtfs-realtime/vehicle-position/prasarana?category=rapid-bus-kl",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.data.gov.my/gtfs-realtime/vehicle-position/prasarana?category=rapid-bus-kl",
      "baseUrl": "https://api.data.gov.my/gtfs-realtime/vehicle-position/prasarana?category=rapid-bus-kl",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Needs a bus ?category= (rapid-bus-kl, rapid-bus-mrtfeeder, rapid-bus-penang, rapid-bus-kuantan) ~ rail has no realtime feed. Response is GTFS-realtime Protobuf, not JSON. The rapid-bus-kl feed had a current header but zero vehicle entities at 19:43 MYT on 2026-09-16, while MRT feeder, Penang and Kuantan categories were nonempty. Check entity count and vehicle timestamps before displaying a live map; KL feed availability needs provider review.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Prasarana via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/gtfs-realtime/vehicle-position/prasarana?category=rapid-bus-kl",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": "2026-09-16",
          "sampleCheckedAt": "2026-09-16",
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Still handle downtime, changing fields, empty responses, and rate limits before shipping user-facing alerts."
      },
      "setup": {
        "level": "copy-paste",
        "label": "COPY-PASTE SETUP",
        "summary": "No auth needed. You can call this directly and iterate from the live response."
      }
    },
    {
      "id": "bnm-openapi",
      "slug": "bnm-openapi",
      "title": "Exchange rates, interest rates & financial stats",
      "category": "Banking",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Bank Negara Malaysia",
      "source": "Bank Negara Malaysia",
      "sourceUrl": "https://apikijangportal.bnm.gov.my",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://apikijangportal.bnm.gov.my",
      "baseUrl": "https://apikijangportal.bnm.gov.my",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Bank Negara Malaysia",
        "sourceUrl": "https://apikijangportal.bnm.gov.my",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Pick the exact endpoint first. Portal datasets can vary by format, parameters, access rules, and coverage."
      },
      "setup": {
        "level": "portal",
        "label": "PORTAL SETUP",
        "summary": "BNM's open API is keyless JSON, but every call must send BNM's versioned Accept header or the API rejects it."
      }
    },
    {
      "id": "met-api",
      "slug": "met-api",
      "title": "Full weather, climate & seismic platform",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MET Malaysia",
      "source": "MET Malaysia",
      "sourceUrl": "https://api.met.gov.my",
      "tier": "open",
      "kind": "portal",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api.met.gov.my",
      "baseUrl": "https://api.met.gov.my",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Free token ~ register on the portal",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "MET Malaysia",
        "sourceUrl": "https://api.met.gov.my",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "kkmnow",
      "slug": "kkmnow",
      "title": "Health data & dashboards",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health",
      "sourceUrl": "https://data.moh.gov.my",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.moh.gov.my",
      "baseUrl": "https://data.moh.gov.my",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Ministry of Health",
        "sourceUrl": "https://data.moh.gov.my",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Pick the exact endpoint first. Portal datasets can vary by format, parameters, access rules, and coverage."
      },
      "setup": {
        "level": "portal",
        "label": "PORTAL SETUP",
        "summary": "This is a portal with multiple datasets or APIs. Pick the exact endpoint first."
      }
    },
    {
      "id": "bot-api",
      "slug": "bot-api",
      "title": "Bank of Thailand (BOT) API ~ rates, FX & economic data",
      "category": "Banking",
      "group": "Government & open data",
      "country": [
        "TH"
      ],
      "provider": "Bank of Thailand",
      "source": "Bank of Thailand",
      "sourceUrl": "https://portal.api.bot.or.th/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://portal.api.bot.or.th/",
      "baseUrl": "https://portal.api.bot.or.th/",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Auth-header API; 500+ data series — FX rates, policy rate, monetary, financial-institution and payment-system statistics. TH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Bank of Thailand",
        "sourceUrl": "https://portal.api.bot.or.th/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "tmd-weather",
      "slug": "tmd-weather",
      "title": "TMD Weather ~ Thai forecasts, radar & warnings",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "TH"
      ],
      "provider": "Thai Meteorological Department",
      "source": "Thai Meteorological Department",
      "sourceUrl": "https://data.tmd.go.th/api/",
      "tier": "open",
      "kind": "portal",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.tmd.go.th/api/",
      "baseUrl": "https://data.tmd.go.th/api/",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Free token ~ register on the portal. Forecasts, radar/satellite, station observations and warnings for Thailand. TH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Thai Meteorological Department",
        "sourceUrl": "https://data.tmd.go.th/api/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "data-go-th",
      "slug": "data-go-th",
      "title": "data.go.th ~ Thailand open government data",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "TH"
      ],
      "provider": "Digital Government Agency (DGA)",
      "source": "Digital Government Agency (DGA)",
      "sourceUrl": "https://data.go.th",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.go.th",
      "baseUrl": "https://api.data.go.th",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Thailand's national open-data catalogue (CKAN). REST API needs a free API key; most datasets are CSV/XLS. TH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Digital Government Agency (DGA)",
        "sourceUrl": "https://data.go.th",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "satu-data-indonesia",
      "slug": "satu-data-indonesia",
      "title": "Satu Data Indonesia (data.go.id) ~ national open government data portal",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "ID"
      ],
      "provider": "Bappenas / Satu Data Indonesia",
      "source": "Bappenas / Satu Data Indonesia",
      "sourceUrl": "https://data.go.id/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.go.id/",
      "baseUrl": "https://data.go.id/",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "The national one-stop open-data portal aggregating datasets from ministries and regional governments (population, budget, health, infrastructure and more) as browsable, downloadable resources. Catalogue access is open and keyless; programmatic access varies per dataset. ID-first.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Bappenas / Satu Data Indonesia",
        "sourceUrl": "https://data.go.id/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Pick the exact endpoint first. Portal datasets can vary by format, parameters, access rules, and coverage."
      },
      "setup": {
        "level": "portal",
        "label": "PORTAL SETUP",
        "summary": "This is a portal with multiple datasets or APIs. Pick the exact endpoint first."
      }
    },
    {
      "id": "bps-webapi",
      "slug": "bps-webapi",
      "title": "BPS Statistics Indonesia Web API ~ official national statistics",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "ID"
      ],
      "provider": "Badan Pusat Statistik (BPS)",
      "source": "Badan Pusat Statistik (BPS)",
      "sourceUrl": "https://webapi.bps.go.id/developer/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://webapi.bps.go.id/developer/",
      "baseUrl": "https://webapi.bps.go.id/v1/api",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "The official open API over BPS's statistics catalogue (GDP, inflation/CPI, poverty, population, trade, prices) as JSON. Free, open-source; sign up for a free app key, then call /v1/api/list and dataset endpoints. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Badan Pusat Statistik (BPS)",
        "sourceUrl": "https://webapi.bps.go.id/developer/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "bmkg-prakiraan-cuaca",
      "slug": "bmkg-prakiraan-cuaca",
      "title": "BMKG Weather Forecast API ~ keyless Indonesia weather",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "ID"
      ],
      "provider": "BMKG (Badan Meteorologi, Klimatologi dan Geofisika)",
      "source": "BMKG (Badan Meteorologi, Klimatologi dan Geofisika)",
      "sourceUrl": "https://data.bmkg.go.id/prakiraan-cuaca/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.bmkg.go.id/prakiraan-cuaca/",
      "baseUrl": "https://api.bmkg.go.id/publik/prakiraan-cuaca?adm4=31.71.03.1001",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Official keyless public weather forecasts down to village (desa/kelurahan) level via GET /publik/prakiraan-cuaca?adm4=<code>, returning JSON with temperature, humidity, wind and conditions. No signup. ID-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BMKG (Badan Meteorologi, Klimatologi dan Geofisika)",
        "sourceUrl": "https://data.bmkg.go.id/prakiraan-cuaca/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Still handle downtime, changing fields, empty responses, and rate limits before shipping user-facing alerts."
      },
      "setup": {
        "level": "copy-paste",
        "label": "COPY-PASTE SETUP",
        "summary": "No auth needed. You can call this directly and iterate from the live response."
      }
    },
    {
      "id": "bmkg-gempabumi",
      "slug": "bmkg-gempabumi",
      "title": "BMKG Earthquake & Tsunami Feed ~ real-time Indonesia seismic data",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "ID"
      ],
      "provider": "BMKG (Badan Meteorologi, Klimatologi dan Geofisika)",
      "source": "BMKG (Badan Meteorologi, Klimatologi dan Geofisika)",
      "sourceUrl": "https://data.bmkg.go.id/gempabumi/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.bmkg.go.id/gempabumi/",
      "baseUrl": "https://data.bmkg.go.id/DataMKG/TEWS",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Keyless real-time JSON feeds of Indonesian earthquakes, latest quake (autogempa.json), recent felt quakes and M5.0+ events, with magnitude, depth, coordinates, region and tsunami potential. No signup. ID-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BMKG (Badan Meteorologi, Klimatologi dan Geofisika)",
        "sourceUrl": "https://data.bmkg.go.id/gempabumi/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Still handle downtime, changing fields, empty responses, and rate limits before shipping user-facing alerts."
      },
      "setup": {
        "level": "copy-paste",
        "label": "COPY-PASTE SETUP",
        "summary": "No auth needed. You can call this directly and iterate from the live response."
      }
    },
    {
      "id": "mas-data-api",
      "slug": "mas-data-api",
      "title": "MAS API ~ Singapore monetary, banking & financial data",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "Monetary Authority of Singapore (MAS)",
      "source": "Monetary Authority of Singapore (MAS)",
      "sourceUrl": "https://eservices.mas.gov.sg/apimg-portal/api-catalog",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://eservices.mas.gov.sg/apimg-portal/api-catalog",
      "baseUrl": "https://eservices.mas.gov.sg/api/action/datastore/search.json",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Singapore's central bank publishes keyless datastore APIs for exchange rates, SGD interest rates (SORA), money supply, and a directory of MAS-regulated financial institutions. SG-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Monetary Authority of Singapore (MAS)",
        "sourceUrl": "https://eservices.mas.gov.sg/apimg-portal/api-catalog",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "ura-api",
      "slug": "ura-api",
      "title": "URA Data Service ~ Singapore private property transactions & planning data",
      "category": "Property",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority (URA)",
      "source": "Urban Redevelopment Authority (URA)",
      "sourceUrl": "https://eservice.ura.gov.sg/maps/api/",
      "tier": "open",
      "kind": "portal",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://eservice.ura.gov.sg/maps/api/",
      "baseUrl": "https://www.ura.gov.sg/uraDataService",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "URA's developer API serves private-property transaction prices, rentals, car park rates and planning/zoning data; register for a free access key then exchange it for a daily token (AccessKey + Token headers). SG-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Urban Redevelopment Authority (URA)",
        "sourceUrl": "https://eservice.ura.gov.sg/maps/api/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": null,
        "verification": {
          "state": "unreviewed",
          "label": "Not yet reviewed",
          "reviewedAt": null,
          "docsCheckedAt": null,
          "sampleCheckedAt": null,
          "method": null,
          "evidenceUrl": null,
          "coverageThrough": null,
          "requiresReview": true
        },
        "rateLimit": null,
        "caveat": "Keep credentials server-side and confirm current limits, pricing, and webhook/error behaviour in the provider docs."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    }
  ],
  "version": "catalogue-75aaa155"
}