{
  "updated": "2026-08-13",
  "version": "2026-07-11",
  "source": "live",
  "count": 1403,
  "total": 1403,
  "apis": [
    {
      "id": "births",
      "slug": "births",
      "title": "Daily Live Births",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN",
      "source": "JPN",
      "sourceUrl": "https://data.gov.my/data-catalogue/births",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/births",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "1920-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN",
        "sourceUrl": "https://data.gov.my/data-catalogue/births",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "population_district",
      "slug": "population_district",
      "title": "Population Table: Administrative Districts",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/population_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/population_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2020-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/population_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "population_malaysia",
      "slug": "population_malaysia",
      "title": "Population Table: Malaysia",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/population_malaysia",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/population_malaysia",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/population_malaysia",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hies_district",
      "slug": "hies_district",
      "title": "Household Income and Expenditure: Administrative Districts",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hies_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hies_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2022-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hies_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hies_state",
      "slug": "hies_state",
      "title": "Household Income and Expenditure: States",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hies_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hies_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2022-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hies_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "fuelprice",
      "slug": "fuelprice",
      "title": "Price of Petroleum & Diesel",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOF",
      "source": "MOF",
      "sourceUrl": "https://data.gov.my/data-catalogue/fuelprice",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/fuelprice",
      "baseUrl": null,
      "frequency": "WEEKLY",
      "coverage": "2017-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOF",
        "sourceUrl": "https://data.gov.my/data-catalogue/fuelprice",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "msic",
      "slug": "msic",
      "title": "MSIC",
      "category": "Data Dictionaries",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/msic",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/msic",
      "baseUrl": null,
      "frequency": "INFREQUENT",
      "coverage": "2008-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/msic",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "mcoicop",
      "slug": "mcoicop",
      "title": "MCOICOP",
      "category": "Data Dictionaries",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/mcoicop",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/mcoicop",
      "baseUrl": null,
      "frequency": "INFREQUENT",
      "coverage": "2018-2018",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/mcoicop",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "population_state",
      "slug": "population_state",
      "title": "Population Table: States",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/population_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/population_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/population_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "exchangerates_daily_1200",
      "slug": "exchangerates_daily_1200",
      "title": "Daily Exchange Rates (1200)",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates_daily_1200",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/exchangerates_daily_1200",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "1997-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates_daily_1200",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "exchangerates_daily_1700",
      "slug": "exchangerates_daily_1700",
      "title": "Daily Exchange Rates (1700)",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates_daily_1700",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/exchangerates_daily_1700",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2003-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates_daily_1700",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "exchangerates_daily_0900",
      "slug": "exchangerates_daily_0900",
      "title": "Daily Exchange Rates (0900)",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates_daily_0900",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/exchangerates_daily_0900",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2003-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates_daily_0900",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "exchangerates",
      "slug": "exchangerates",
      "title": "Monthly Exchange Rates",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/exchangerates",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "1997-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "exchangerates_daily_1130",
      "slug": "exchangerates_daily_1130",
      "title": "Daily Exchange Rates (1130)",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates_daily_1130",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/exchangerates_daily_1130",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2003-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/exchangerates_daily_1130",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "interestrates",
      "slug": "interestrates",
      "title": "Monthly Interest Rates",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/interestrates",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/interestrates",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "1997-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/interestrates",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "interestrates_annual",
      "slug": "interestrates_annual",
      "title": "Annual Interest Rates",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/interestrates_annual",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/interestrates_annual",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1980-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/interestrates_annual",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "currency_in_circulation_annual",
      "slug": "currency_in_circulation_annual",
      "title": "Annual Currency in Circulation",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/currency_in_circulation_annual",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/currency_in_circulation_annual",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "1975-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/currency_in_circulation_annual",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "currency_in_circulation",
      "slug": "currency_in_circulation",
      "title": "Monthly Currency in Circulation",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/currency_in_circulation",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/currency_in_circulation",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/currency_in_circulation",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_strata",
      "slug": "cpi_strata",
      "title": "Monthly CPI by Strata & Division (2-digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_strata",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_strata",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_strata",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_state_inflation",
      "slug": "cpi_state_inflation",
      "title": "Monthly CPI Inflation by State & Division (2-digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_state_inflation",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_state_inflation",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_state_inflation",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_state",
      "slug": "cpi_state",
      "title": "Monthly CPI by State & Division (2-digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_state",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_lowincome",
      "slug": "cpi_lowincome",
      "title": "Monthly CPI for Low-Income Households",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_lowincome",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_lowincome",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_lowincome",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_headline_inflation",
      "slug": "cpi_headline_inflation",
      "title": "Monthly CPI Inflation by Division (2-digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_headline_inflation",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_headline_inflation",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2001-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_headline_inflation",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_headline",
      "slug": "cpi_headline",
      "title": "Monthly CPI by Division (2-digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_headline",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_headline",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2000-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_headline",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_core_inflation",
      "slug": "cpi_core_inflation",
      "title": "Monthly Core CPI Inflation by Division (2-digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_core_inflation",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_core_inflation",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_core_inflation",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_annual_inflation",
      "slug": "cpi_annual_inflation",
      "title": "Annual CPI Inflation by Division (2-digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_annual_inflation",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_annual_inflation",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1961-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_annual_inflation",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_annual",
      "slug": "cpi_annual",
      "title": "Annual CPI by Division (2-digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_annual",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_annual",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1960-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_annual",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cpi_core",
      "slug": "cpi_core",
      "title": "Monthly Core CPI by Division (2-digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/cpi_core",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cpi_core",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/cpi_core",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ppi",
      "slug": "ppi",
      "title": "Monthly Producer Price Index (PPI)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/ppi",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ppi",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/ppi",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ppi_1d",
      "slug": "ppi_1d",
      "title": "Monthly PPI by Section (1 digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/ppi_1d",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ppi_1d",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/ppi_1d",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ppi_sop",
      "slug": "ppi_sop",
      "title": "Monthly PPI by Stage of Processing",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/ppi_sop",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ppi_sop",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/ppi_sop",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ipi_1d",
      "slug": "ipi_1d",
      "title": "IPI by Section (1 digit)",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/ipi_1d",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ipi_1d",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2015-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/ipi_1d",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ipi",
      "slug": "ipi",
      "title": "Industrial Production Index (IPI)",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/ipi",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ipi",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2015-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/ipi",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ppi_sitc",
      "slug": "ppi_sitc",
      "title": "Monthly PPI by SITC Section (1 digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/ppi_sitc",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ppi_sitc",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/ppi_sitc",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "iowrt",
      "slug": "iowrt",
      "title": "Headline Wholesale & Retail Trade",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/iowrt",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/iowrt",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2018-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/iowrt",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "iowrt_2d",
      "slug": "iowrt_2d",
      "title": "Wholesale & Retail Trade by Division (2 digit)",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/iowrt_2d",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/iowrt_2d",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2018-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/iowrt_2d",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "economic_indicators",
      "slug": "economic_indicators",
      "title": "Malaysian Economic Indicators",
      "category": "Statistical Indicators",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/economic_indicators",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/economic_indicators",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "1991-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/economic_indicators",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ridership_headline",
      "slug": "ridership_headline",
      "title": "Daily Public Transport Ridership",
      "category": "Transportation",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Prasarana, MOT",
      "source": "Prasarana, MOT",
      "sourceUrl": "https://data.gov.my/data-catalogue/ridership_headline",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ridership_headline",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2020-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Prasarana, MOT",
        "sourceUrl": "https://data.gov.my/data-catalogue/ridership_headline",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "covid_cases",
      "slug": "covid_cases",
      "title": "Daily COVID-19 Cases by State",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/covid_cases",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/covid_cases",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2020-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/covid_cases",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "covid_cases_vaxstatus",
      "slug": "covid_cases_vaxstatus",
      "title": "Daily COVID-19 Cases by Vaccination Status & State",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/covid_cases_vaxstatus",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/covid_cases_vaxstatus",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2020-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/covid_cases_vaxstatus",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "covid_cases_age",
      "slug": "covid_cases_age",
      "title": "Daily COVID-19 Cases by Age Group & State",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/covid_cases_age",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/covid_cases_age",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2020-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/covid_cases_age",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "arrivals",
      "slug": "arrivals",
      "title": "Monthly Arrivals by Nationality & Sex",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Imigresen",
      "source": "Imigresen",
      "sourceUrl": "https://data.gov.my/data-catalogue/arrivals",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/arrivals",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2020-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Imigresen",
        "sourceUrl": "https://data.gov.my/data-catalogue/arrivals",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "vaxreg_covid",
      "slug": "vaxreg_covid",
      "title": "Daily COVID-19 Vaccine Registrations by State",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/vaxreg_covid",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/vaxreg_covid",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2021-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/vaxreg_covid",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_year",
      "slug": "lfs_year",
      "title": "Annual Principal Labour Force Statistics",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_year",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_year",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1982-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_year",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_qtr",
      "slug": "lfs_qtr",
      "title": "Quarterly Principal Labour Force Statistics",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_qtr",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2010-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_month_sa",
      "slug": "lfs_month_sa",
      "title": "Monthly Principal Labour Force Statistics, Seasonally Adjusted",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month_sa",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_month_sa",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month_sa",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_month_duration",
      "slug": "lfs_month_duration",
      "title": "Monthly Unemployment by Duration",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month_duration",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_month_duration",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2016-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month_duration",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_month",
      "slug": "lfs_month",
      "title": "Monthly Principal Labour Force Statistics",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_month",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2010-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_district",
      "slug": "lfs_district",
      "title": "Annual Principal Labour Force Statistics by District",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2018-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_year_sex",
      "slug": "lfs_year_sex",
      "title": "Annual Principal Labour Force Statistics by Sex",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_year_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_year_sex",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1982-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_year_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_state_sex",
      "slug": "lfs_state_sex",
      "title": "Annual Principal Labour Force Statistics by State & Sex",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_state_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_state_sex",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1982-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_state_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_qtr_state",
      "slug": "lfs_qtr_state",
      "title": "Quarterly Principal Labour Force Statistics by State",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_qtr_state",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2017-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_qtr_tru_age",
      "slug": "lfs_qtr_tru_age",
      "title": "Quarterly Time-Related Underemployment by Age",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_tru_age",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_qtr_tru_age",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2017-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_tru_age",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_qtr_sru_age",
      "slug": "lfs_qtr_sru_age",
      "title": "Quarterly Skills-Related Underemployment by Age",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_sru_age",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_qtr_sru_age",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2017-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_sru_age",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_qtr_sru_sex",
      "slug": "lfs_qtr_sru_sex",
      "title": "Quarterly Skills-Related Underemployment by Sex",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_sru_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_qtr_sru_sex",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2017-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_sru_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_month_youth",
      "slug": "lfs_month_youth",
      "title": "Monthly Youth Unemployment",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month_youth",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_month_youth",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2016-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month_youth",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_qtr_tru_sex",
      "slug": "lfs_qtr_tru_sex",
      "title": "Quarterly Time-Related Underemployment by Sex",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_tru_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_qtr_tru_sex",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2017-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_qtr_tru_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_month_status",
      "slug": "lfs_month_status",
      "title": "Monthly Employment by Status in Employment",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month_status",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_month_status",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2016-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_month_status",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lookup_money_banking",
      "slug": "lookup_money_banking",
      "title": "Lookup Table: Money & Banking",
      "category": "Data Dictionaries",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lookup_money_banking",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lookup_money_banking",
      "baseUrl": null,
      "frequency": "INFREQUENT",
      "coverage": "2024-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lookup_money_banking",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lookup_federal_finance",
      "slug": "lookup_federal_finance",
      "title": "Lookup Table: Federal Finance",
      "category": "Data Dictionaries",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JANM",
      "source": "JANM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lookup_federal_finance",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lookup_federal_finance",
      "baseUrl": null,
      "frequency": "INFREQUENT",
      "coverage": "2024-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JANM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lookup_federal_finance",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_finance_year",
      "slug": "federal_finance_year",
      "title": "Annual Federal Government Finance",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JANM",
      "source": "JANM",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_year",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_finance_year",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JANM",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_year",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_finance_qtr",
      "slug": "federal_finance_qtr",
      "title": "Quarterly Federal Government Finance",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JANM",
      "source": "JANM",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_qtr",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_finance_qtr",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "1996-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JANM",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_qtr",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_finance_year_revenue",
      "slug": "federal_finance_year_revenue",
      "title": "Annual Federal Government Revenue",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JANM",
      "source": "JANM",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_year_revenue",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_finance_year_revenue",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JANM",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_year_revenue",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_finance_qtr_revenue",
      "slug": "federal_finance_qtr_revenue",
      "title": "Quarterly Federal Government Revenue",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JANM",
      "source": "JANM",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_qtr_revenue",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_finance_qtr_revenue",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "1996-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JANM",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_qtr_revenue",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_finance_year_oe",
      "slug": "federal_finance_year_oe",
      "title": "Annual Federal Government Operating Expenditure by Object",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JANM",
      "source": "JANM",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_year_oe",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_finance_year_oe",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1979-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JANM",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_year_oe",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_finance_qtr_oe",
      "slug": "federal_finance_qtr_oe",
      "title": "Quarterly Federal Government Operating Expenditure by Object",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JANM",
      "source": "JANM",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_qtr_oe",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_finance_qtr_oe",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "1999-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JANM",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_qtr_oe",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_finance_qtr_de",
      "slug": "federal_finance_qtr_de",
      "title": "Quarterly Federal Government Development Expenditure by Function",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JANM",
      "source": "JANM",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_qtr_de",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_finance_qtr_de",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "1996-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JANM",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_qtr_de",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_finance_year_de",
      "slug": "federal_finance_year_de",
      "title": "Annual Federal Government Development Expenditure by Function",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JANM",
      "source": "JANM",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_year_de",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_finance_year_de",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "1970-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JANM",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_finance_year_de",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "births_annual_state",
      "slug": "births_annual_state",
      "title": "Annual Live Births by State",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/births_annual_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/births_annual_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/births_annual_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "births_annual",
      "slug": "births_annual",
      "title": "Annual Live Births",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/births_annual",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/births_annual",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/births_annual",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "births_annual_sex_ethnic",
      "slug": "births_annual_sex_ethnic",
      "title": "Annual Live Births by Sex & Ethnicity",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/births_annual_sex_ethnic",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/births_annual_sex_ethnic",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/births_annual_sex_ethnic",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "births_annual_sex_ethnic_state",
      "slug": "births_annual_sex_ethnic_state",
      "title": "Annual Live Births by State, Sex, & Ethnicity",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/births_annual_sex_ethnic_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/births_annual_sex_ethnic_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/births_annual_sex_ethnic_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "births_district_sex",
      "slug": "births_district_sex",
      "title": "Annual Live Births by District & Sex",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/births_district_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/births_district_sex",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2020-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/births_district_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "stillbirths",
      "slug": "stillbirths",
      "title": "Annual Stillbirths",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH, DOSM",
      "source": "MOH, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/stillbirths",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/stillbirths",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/stillbirths",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "stillbirths_state",
      "slug": "stillbirths_state",
      "title": "Annual Stillbirths by State",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH, DOSM",
      "source": "MOH, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/stillbirths_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/stillbirths_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/stillbirths_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_state",
      "slug": "deaths_state",
      "title": "Annual Deaths by State",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_sex_ethnic_state",
      "slug": "deaths_sex_ethnic_state",
      "title": "Annual Deaths by State, Sex, & Ethnicity",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_sex_ethnic_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_sex_ethnic_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_sex_ethnic_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_district_sex",
      "slug": "deaths_district_sex",
      "title": "Annual Deaths by District & Sex",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_district_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_district_sex",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2020-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_district_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths",
      "slug": "deaths",
      "title": "Annual Deaths",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_sex_ethnic",
      "slug": "deaths_sex_ethnic",
      "title": "Annual Deaths by Sex & Ethnicity",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_sex_ethnic",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_sex_ethnic",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_sex_ethnic",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_maternal",
      "slug": "deaths_maternal",
      "title": "Annual Maternal Deaths",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_maternal",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_maternal",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1933-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_maternal",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_maternal_state",
      "slug": "deaths_maternal_state",
      "title": "Annual Maternal Deaths by State",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_maternal_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_maternal_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_maternal_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sitc",
      "slug": "sitc",
      "title": "SITC",
      "category": "Data Dictionaries",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/sitc",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sitc",
      "baseUrl": null,
      "frequency": "INFREQUENT",
      "coverage": "2006-2006",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/sitc",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sitc_sop",
      "slug": "sitc_sop",
      "title": "SITC: Stage of Processing",
      "category": "Data Dictionaries",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/sitc_sop",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sitc_sop",
      "baseUrl": null,
      "frequency": "INFREQUENT",
      "coverage": "2006-2006",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/sitc_sop",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "arc_dosm",
      "slug": "arc_dosm",
      "title": "DOSM's Advance Release Calendar",
      "category": "Metadata",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/arc_dosm",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/arc_dosm",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2026-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/arc_dosm",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "monetary_aggregates",
      "slug": "monetary_aggregates",
      "title": "Monetary Aggregates: M1, M2, M3",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/monetary_aggregates",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/monetary_aggregates",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2013-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/monetary_aggregates",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hies_malaysia_percentile",
      "slug": "hies_malaysia_percentile",
      "title": "Household Income by Percentile",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hies_malaysia_percentile",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hies_malaysia_percentile",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hies_malaysia_percentile",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hies_state_percentile",
      "slug": "hies_state_percentile",
      "title": "Household Income by State & Percentile",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hies_state_percentile",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hies_state_percentile",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hies_state_percentile",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_gni_annual_nominal",
      "slug": "gdp_gni_annual_nominal",
      "title": "Annual Nominal GDP & GNI: 1947 to Present",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_gni_annual_nominal",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_gni_annual_nominal",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1947-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_gni_annual_nominal",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_gni_annual_real",
      "slug": "gdp_gni_annual_real",
      "title": "Annual Real GDP & GNI: 1970 to Present",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_gni_annual_real",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_gni_annual_real",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_gni_annual_real",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_lookup",
      "slug": "gdp_lookup",
      "title": "Lookup Table: GDP",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_lookup",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_lookup",
      "baseUrl": null,
      "frequency": "INFREQUENT",
      "coverage": "2024-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_lookup",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_annual_nominal_demand",
      "slug": "gdp_annual_nominal_demand",
      "title": "Annual Nominal GDP by Expenditure Type",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_demand",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_annual_nominal_demand",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_demand",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_annual_nominal_demand_granular",
      "slug": "gdp_annual_nominal_demand_granular",
      "title": "Annual Nominal GDP by Expenditure Subtype",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_demand_granular",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_annual_nominal_demand_granular",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_demand_granular",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_annual_nominal_income",
      "slug": "gdp_annual_nominal_income",
      "title": "Annual Nominal GDP by Income Component",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_income",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_annual_nominal_income",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2010-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_income",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_annual_nominal_supply",
      "slug": "gdp_annual_nominal_supply",
      "title": "Annual Nominal GDP by Economic Sector",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_supply",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_annual_nominal_supply",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_supply",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_annual_nominal_supply_granular",
      "slug": "gdp_annual_nominal_supply_granular",
      "title": "Annual Nominal GDP by Economic Subsector",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_supply_granular",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_annual_nominal_supply_granular",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_nominal_supply_granular",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_annual_real_demand",
      "slug": "gdp_annual_real_demand",
      "title": "Annual Real GDP by Expenditure Type",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_real_demand",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_annual_real_demand",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_real_demand",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_annual_real_supply",
      "slug": "gdp_annual_real_supply",
      "title": "Annual Real GDP by Economic Sector",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_real_supply",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_annual_real_supply",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_real_supply",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_annual_real_supply_granular",
      "slug": "gdp_annual_real_supply_granular",
      "title": "Annual Real GDP by Economic Subsector",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_real_supply_granular",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_annual_real_supply_granular",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_annual_real_supply_granular",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_district_real_supply",
      "slug": "gdp_district_real_supply",
      "title": "Annual Real GDP by District & Economic Sector",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_district_real_supply",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_district_real_supply",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2020",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_district_real_supply",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_qtr_nominal_supply",
      "slug": "gdp_qtr_nominal_supply",
      "title": "Quarterly Nominal GDP by Economic Sector",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_nominal_supply",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_qtr_nominal_supply",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_nominal_supply",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_qtr_nominal_demand",
      "slug": "gdp_qtr_nominal_demand",
      "title": "Quarterly Nominal GDP by Expenditure Type",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_nominal_demand",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_qtr_nominal_demand",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_nominal_demand",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_state_real_supply",
      "slug": "gdp_state_real_supply",
      "title": "Annual Real GDP by State & Economic Sector",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_state_real_supply",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_state_real_supply",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_state_real_supply",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_qtr_real_sa_supply",
      "slug": "gdp_qtr_real_sa_supply",
      "title": "Quarterly Real GDP (Seasonally Adjusted) by Economic Sector",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_sa_supply",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_qtr_real_sa_supply",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_sa_supply",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_qtr_real_sa_demand",
      "slug": "gdp_qtr_real_sa_demand",
      "title": "Quarterly Real GDP (Seasonally Adjusted) by Expenditure Type",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_sa_demand",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_qtr_real_sa_demand",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_sa_demand",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_qtr_real_demand",
      "slug": "gdp_qtr_real_demand",
      "title": "Quarterly Real GDP by Expenditure Type",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_demand",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_qtr_real_demand",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_demand",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_qtr_real_supply",
      "slug": "gdp_qtr_real_supply",
      "title": "Quarterly Real GDP by Economic Sector",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_supply",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_qtr_real_supply",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_supply",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_qtr_real_sa",
      "slug": "gdp_qtr_real_sa",
      "title": "Quarterly Real GDP (Seasonally Adjusted)",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_sa",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_qtr_real_sa",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real_sa",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_qtr_real",
      "slug": "gdp_qtr_real",
      "title": "Quarterly Real GDP",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_qtr_real",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_real",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gdp_qtr_nominal",
      "slug": "gdp_qtr_nominal",
      "title": "Quarterly Nominal GDP",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_nominal",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/gdp_qtr_nominal",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/gdp_qtr_nominal",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sdg_10-c-1",
      "slug": "sdg_10-c-1",
      "title": "SDG 10-C-1: Remittance Costs as a % of the Amount Remitted",
      "category": "Statistical Indicators",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM, BNM",
      "source": "DOSM, BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/sdg_10-c-1",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sdg_10-c-1",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2016-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM, BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/sdg_10-c-1",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "blood_donations",
      "slug": "blood_donations",
      "title": "Daily Blood Donations by Blood Group",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PDN, MOH",
      "source": "PDN, MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/blood_donations",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/blood_donations",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2006-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PDN, MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/blood_donations",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "blood_donations_state",
      "slug": "blood_donations_state",
      "title": "Daily Blood Donations by Blood Group & State",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PDN, MOH",
      "source": "PDN, MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/blood_donations_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/blood_donations_state",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2006-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PDN, MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/blood_donations_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "government_apps",
      "slug": "government_apps",
      "title": "Transactional Data: Official Government Mobile Applications",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/government_apps",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/government_apps",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/government_apps",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "government_apps_reviews",
      "slug": "government_apps_reviews",
      "title": "Transactional Data: User Reviews of Government Mobile Applications",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/government_apps_reviews",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/government_apps_reviews",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/government_apps_reviews",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "government_apps_active",
      "slug": "government_apps_active",
      "title": "Number of Active Government Mobile Applications",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/government_apps_active",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/government_apps_active",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/government_apps_active",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "organ_pledges_state",
      "slug": "organ_pledges_state",
      "title": "Daily Organ Donation Pledges by State",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "NTRC, MOH",
      "source": "NTRC, MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/organ_pledges_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/organ_pledges_state",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2009-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "NTRC, MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/organ_pledges_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "organ_pledges",
      "slug": "organ_pledges",
      "title": "Daily Organ Donation Pledges",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "NTRC, MOH",
      "source": "NTRC, MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/organ_pledges",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/organ_pledges",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2009-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "NTRC, MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/organ_pledges",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "pekab40_screenings",
      "slug": "pekab40_screenings",
      "title": "Daily PeKaB40 Health Screenings",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PHCorp, MOH",
      "source": "PHCorp, MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/pekab40_screenings",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/pekab40_screenings",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PHCorp, MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/pekab40_screenings",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "pekab40_screenings_state",
      "slug": "pekab40_screenings_state",
      "title": "Daily PeKaB40 Health Screenings by State",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PHCorp, MOH",
      "source": "PHCorp, MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/pekab40_screenings_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/pekab40_screenings_state",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PHCorp, MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/pekab40_screenings_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "forest_reserve",
      "slug": "forest_reserve",
      "title": "Area of Permanent Forest Reserves",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Perhutanan, DOSM",
      "source": "Perhutanan, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/forest_reserve",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/forest_reserve",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2003-2021",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Perhutanan, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/forest_reserve",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "forest_reserve_state",
      "slug": "forest_reserve_state",
      "title": "Area of Permanent Forest Reserves by State",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Perhutanan, DOSM",
      "source": "Perhutanan, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/forest_reserve_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/forest_reserve_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2003-2021",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Perhutanan, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/forest_reserve_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "electricity_supply",
      "slug": "electricity_supply",
      "title": "Electricity Supply",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "TNB, SESB, SWK-ENERGY, ST, DOSM",
      "source": "TNB, SESB, SWK-ENERGY, ST, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/electricity_supply",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/electricity_supply",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2018-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "TNB, SESB, SWK-ENERGY, ST, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/electricity_supply",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "electricity_consumption",
      "slug": "electricity_consumption",
      "title": "Monthly Electricity Consumption",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "TNB, SESB, SWK-ENERGY, ST, DOSM",
      "source": "TNB, SESB, SWK-ENERGY, ST, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/electricity_consumption",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/electricity_consumption",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2018-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "TNB, SESB, SWK-ENERGY, ST, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/electricity_consumption",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "air_pollution",
      "slug": "air_pollution",
      "title": "Monthly Air Pollution",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JAS, DOSM",
      "source": "JAS, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/air_pollution",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/air_pollution",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2017-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JAS, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/air_pollution",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ghg_emissions",
      "slug": "ghg_emissions",
      "title": "Greenhouse Gas Emissions",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "NRES, DOSM",
      "source": "NRES, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/ghg_emissions",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ghg_emissions",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2014-2021",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "NRES, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/ghg_emissions",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "trade_sitc_1d",
      "slug": "trade_sitc_1d",
      "title": "Monthly Trade by SITC Section (1 digit)",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/trade_sitc_1d",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/trade_sitc_1d",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2000-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/trade_sitc_1d",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "bop_balance",
      "slug": "bop_balance",
      "title": "Balance of Key BOP Components",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/bop_balance",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/bop_balance",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2010-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/bop_balance",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "fdi_flows",
      "slug": "fdi_flows",
      "title": "Foreign Direct Investment (FDI) Flows",
      "category": "National Accounts",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/fdi_flows",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/fdi_flows",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2008-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/fdi_flows",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "state_finance_expenditure",
      "slug": "state_finance_expenditure",
      "title": "State Government Expenditure",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "AUDIT",
      "source": "AUDIT",
      "sourceUrl": "https://data.gov.my/data-catalogue/state_finance_expenditure",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/state_finance_expenditure",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2022-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "AUDIT",
        "sourceUrl": "https://data.gov.my/data-catalogue/state_finance_expenditure",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "state_finance_revenue",
      "slug": "state_finance_revenue",
      "title": "State Government Revenue",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "AUDIT",
      "source": "AUDIT",
      "sourceUrl": "https://data.gov.my/data-catalogue/state_finance_revenue",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/state_finance_revenue",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2022-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "AUDIT",
        "sourceUrl": "https://data.gov.my/data-catalogue/state_finance_revenue",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "water_pollution_basin",
      "slug": "water_pollution_basin",
      "title": "River Basin Pollution Monitoring",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JAS",
      "source": "JAS",
      "sourceUrl": "https://data.gov.my/data-catalogue/water_pollution_basin",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/water_pollution_basin",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2021",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JAS",
        "sourceUrl": "https://data.gov.my/data-catalogue/water_pollution_basin",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_income_state",
      "slug": "hh_income_state",
      "title": "Household Income by State",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_income_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_income_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_income_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_income_district",
      "slug": "hh_income_district",
      "title": "Household Income by Administrative District",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_income_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_income_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_income_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_income",
      "slug": "hh_income",
      "title": "Household Income",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_income",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_income",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_income",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_poverty",
      "slug": "hh_poverty",
      "title": "Poverty",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_poverty",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_poverty_state",
      "slug": "hh_poverty_state",
      "title": "Poverty by State",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_poverty_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_poverty_district",
      "slug": "hh_poverty_district",
      "title": "Poverty by Administrative District",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_poverty_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_inequality",
      "slug": "hh_inequality",
      "title": "Income Inequality",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_inequality",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "nutrition_children_sex",
      "slug": "nutrition_children_sex",
      "title": "Nutritional Status of Children Under 5 by Sex",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/nutrition_children_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/nutrition_children_sex",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2019",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/nutrition_children_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "nutrition_children_strata",
      "slug": "nutrition_children_strata",
      "title": "Nutritional Status of Children Under 5 by Strata",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/nutrition_children_strata",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/nutrition_children_strata",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2019",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/nutrition_children_strata",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_early_childhood_state_sex",
      "slug": "deaths_early_childhood_state_sex",
      "title": "Annual Early Childhood Deaths by State & Sex",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_early_childhood_state_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_early_childhood_state_sex",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_early_childhood_state_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_early_childhood_state",
      "slug": "deaths_early_childhood_state",
      "title": "Annual Early Childhood Deaths by State",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_early_childhood_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_early_childhood_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_early_childhood_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_early_childhood_sex",
      "slug": "deaths_early_childhood_sex",
      "title": "Annual Early Childhood Deaths by Sex",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_early_childhood_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_early_childhood_sex",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_early_childhood_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "deaths_early_childhood",
      "slug": "deaths_early_childhood",
      "title": "Annual Early Childhood Deaths",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPN, DOSM",
      "source": "JPN, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/deaths_early_childhood",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/deaths_early_childhood",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPN, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/deaths_early_childhood",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "fertility_state",
      "slug": "fertility_state",
      "title": "TFR and ASFR by State",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/fertility_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/fertility_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2001-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/fertility_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "fertility",
      "slug": "fertility",
      "title": "TFR and ASFR",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/fertility",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/fertility",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1958-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/fertility",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_inequality_state",
      "slug": "hh_inequality_state",
      "title": "Income Inequality by State",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_inequality_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1974-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_inequality_district",
      "slug": "hh_inequality_district",
      "title": "Income Inequality by District",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_inequality_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_profile_state",
      "slug": "hh_profile_state",
      "title": "Number of Households and Living Quarters by State",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_profile_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_profile_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_profile_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_profile",
      "slug": "hh_profile",
      "title": "Number of Households and Living Quarters",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_profile",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_profile",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1970-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_profile",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "crops_district_production",
      "slug": "crops_district_production",
      "title": "Crop Production by District",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MAFS, DOA, DOSM",
      "source": "MAFS, DOA, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/crops_district_production",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/crops_district_production",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2017",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MAFS, DOA, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/crops_district_production",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "crops_district_area",
      "slug": "crops_district_area",
      "title": "Crop Area by District",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MAFS, DOA, DOSM",
      "source": "MAFS, DOA, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/crops_district_area",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/crops_district_area",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2017",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MAFS, DOA, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/crops_district_area",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "crops_state",
      "slug": "crops_state",
      "title": "Crop Area and Production by State",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MAFS, DOA, DOSM",
      "source": "MAFS, DOA, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/crops_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/crops_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MAFS, DOA, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/crops_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "water_production",
      "slug": "water_production",
      "title": "Water Production by State",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "SPAN, NRES, DOSM",
      "source": "SPAN, NRES, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/water_production",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/water_production",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2000-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "SPAN, NRES, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/water_production",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "water_consumption",
      "slug": "water_consumption",
      "title": "Water Consumption by State and Sector",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "SPAN, NRES, DOSM",
      "source": "SPAN, NRES, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/water_consumption",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/water_consumption",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2003-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "SPAN, NRES, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/water_consumption",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "timber_production",
      "slug": "timber_production",
      "title": "Production of Major Timber Products by State",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Perhutanan, DOSM",
      "source": "Perhutanan, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/timber_production",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/timber_production",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2021",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Perhutanan, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/timber_production",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "fish_landings",
      "slug": "fish_landings",
      "title": "Monthly Landings of Marine Fish by State",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Perikanan",
      "source": "Perikanan",
      "sourceUrl": "https://data.gov.my/data-catalogue/fish_landings",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/fish_landings",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2018-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Perikanan",
        "sourceUrl": "https://data.gov.my/data-catalogue/fish_landings",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "mineral_extraction",
      "slug": "mineral_extraction",
      "title": "Extraction of Minerals by State and Commodity",
      "category": "Economic Sectors",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JMG, DOSM",
      "source": "JMG, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/mineral_extraction",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/mineral_extraction",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2016-2021",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JMG, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/mineral_extraction",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "marriages_state_age",
      "slug": "marriages_state_age",
      "title": "Annual Marriage by State & Age Group",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/marriages_state_age",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/marriages_state_age",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/marriages_state_age",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "marriages_state",
      "slug": "marriages_state",
      "title": "Annual Marriages by State",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/marriages_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/marriages_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/marriages_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "marriages_age",
      "slug": "marriages_age",
      "title": "Annual Marriage by Age Group",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/marriages_age",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/marriages_age",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/marriages_age",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "marriages",
      "slug": "marriages",
      "title": "Annual Marriages",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/marriages",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/marriages",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/marriages",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sdg_16-2-2",
      "slug": "sdg_16-2-2",
      "title": "SDG 16-2-2: Victims of Human Trafficking",
      "category": "Statistical Indicators",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "KDN",
      "source": "KDN",
      "sourceUrl": "https://data.gov.my/data-catalogue/sdg_16-2-2",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sdg_16-2-2",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2016-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "KDN",
        "sourceUrl": "https://data.gov.my/data-catalogue/sdg_16-2-2",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "prisoners_state",
      "slug": "prisoners_state",
      "title": "Prisoners by State and Sex",
      "category": "Public Safety",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Penjara",
      "source": "Penjara",
      "sourceUrl": "https://data.gov.my/data-catalogue/prisoners_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/prisoners_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Penjara",
        "sourceUrl": "https://data.gov.my/data-catalogue/prisoners_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "prisoners_prison",
      "slug": "prisoners_prison",
      "title": "Prisoners by Prison Centre and Sex",
      "category": "Public Safety",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Penjara",
      "source": "Penjara",
      "sourceUrl": "https://data.gov.my/data-catalogue/prisoners_prison",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/prisoners_prison",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Penjara",
        "sourceUrl": "https://data.gov.my/data-catalogue/prisoners_prison",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sdg_16-1-1",
      "slug": "sdg_16-1-1",
      "title": "SDG 16-1-1: Victims of Intentional Homicide",
      "category": "Statistical Indicators",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PDRM",
      "source": "PDRM",
      "sourceUrl": "https://data.gov.my/data-catalogue/sdg_16-1-1",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sdg_16-1-1",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2016-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PDRM",
        "sourceUrl": "https://data.gov.my/data-catalogue/sdg_16-1-1",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "parliament_sex",
      "slug": "parliament_sex",
      "title": "Female Representation in Parliament",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Parlimen",
      "source": "Parlimen",
      "sourceUrl": "https://data.gov.my/data-catalogue/parliament_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/parliament_sex",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2016-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Parlimen",
        "sourceUrl": "https://data.gov.my/data-catalogue/parliament_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "local_authority_sex",
      "slug": "local_authority_sex",
      "title": "Female Representation in Local Authorities",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "KPKT",
      "source": "KPKT",
      "sourceUrl": "https://data.gov.my/data-catalogue/local_authority_sex",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/local_authority_sex",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2019-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "KPKT",
        "sourceUrl": "https://data.gov.my/data-catalogue/local_authority_sex",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "crime_district",
      "slug": "crime_district",
      "title": "Crimes by District & Crime Type",
      "category": "Public Safety",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PDRM, DOSM",
      "source": "PDRM, DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/crime_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/crime_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2016-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PDRM, DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/crime_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_budget_moe",
      "slug": "federal_budget_moe",
      "title": "Annual Budget Allocation for the Ministry of Education",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOF",
      "source": "MOF",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_budget_moe",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_budget_moe",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOF",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_budget_moe",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "federal_budget_moh",
      "slug": "federal_budget_moh",
      "title": "Annual Budget Allocation for the Ministry of Health",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOF",
      "source": "MOF",
      "sourceUrl": "https://data.gov.my/data-catalogue/federal_budget_moh",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/federal_budget_moh",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOF",
        "sourceUrl": "https://data.gov.my/data-catalogue/federal_budget_moh",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hospital_beds",
      "slug": "hospital_beds",
      "title": "Hospital Beds by State and Hospital Type",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/hospital_beds",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hospital_beds",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/hospital_beds",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "healthcare_staff",
      "slug": "healthcare_staff",
      "title": "Healthcare Staff by State and Staff Type",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/healthcare_staff",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/healthcare_staff",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2014-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/healthcare_staff",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "water_access",
      "slug": "water_access",
      "title": "Access to Treated Water by State & Strata",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "SPAN, NRES",
      "source": "SPAN, NRES",
      "sourceUrl": "https://data.gov.my/data-catalogue/water_access",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/water_access",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "SPAN, NRES",
        "sourceUrl": "https://data.gov.my/data-catalogue/water_access",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sanitation_access",
      "slug": "sanitation_access",
      "title": "Access to Sanitary Latrines by State",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/sanitation_access",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sanitation_access",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2000-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/sanitation_access",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_access_amenities",
      "slug": "hh_access_amenities",
      "title": "Access to Basic Amenities by State & District",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_access_amenities",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_access_amenities",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2016-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_access_amenities",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "electricity_access",
      "slug": "electricity_access",
      "title": "Households with Access to Electricity",
      "category": "Environment",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "TNB, SESB, SWK-ENERGY, ST",
      "source": "TNB, SESB, SWK-ENERGY, ST",
      "sourceUrl": "https://data.gov.my/data-catalogue/electricity_access",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/electricity_access",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2011-2021",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "TNB, SESB, SWK-ENERGY, ST",
        "sourceUrl": "https://data.gov.my/data-catalogue/electricity_access",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sdg_04-6-1",
      "slug": "sdg_04-6-1",
      "title": "SDG 04-6-1: Proficiency in Functional Literacy and Numeracy",
      "category": "Statistical Indicators",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/sdg_04-6-1",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sdg_04-6-1",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2016-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/sdg_04-6-1",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "schools_district",
      "slug": "schools_district",
      "title": "Public Education Institutions by District",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOE",
      "source": "MOE",
      "sourceUrl": "https://data.gov.my/data-catalogue/schools_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/schools_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOE",
        "sourceUrl": "https://data.gov.my/data-catalogue/schools_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lecturers_uni",
      "slug": "lecturers_uni",
      "title": "Lecturers in Public Universities by Citizenship & Sex",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOHE",
      "source": "MOHE",
      "sourceUrl": "https://data.gov.my/data-catalogue/lecturers_uni",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lecturers_uni",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2014-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOHE",
        "sourceUrl": "https://data.gov.my/data-catalogue/lecturers_uni",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "teachers_district",
      "slug": "teachers_district",
      "title": "Teachers in Government Schools by District",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOE",
      "source": "MOE",
      "sourceUrl": "https://data.gov.my/data-catalogue/teachers_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/teachers_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOE",
        "sourceUrl": "https://data.gov.my/data-catalogue/teachers_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "completion_school_state",
      "slug": "completion_school_state",
      "title": "School Completion Rates by State",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOE",
      "source": "MOE",
      "sourceUrl": "https://data.gov.my/data-catalogue/completion_school_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/completion_school_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2016-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOE",
        "sourceUrl": "https://data.gov.my/data-catalogue/completion_school_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "enrolment_school_district",
      "slug": "enrolment_school_district",
      "title": "Enrolment in Government Schools by District",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOE",
      "source": "MOE",
      "sourceUrl": "https://data.gov.my/data-catalogue/enrolment_school_district",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/enrolment_school_district",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOE",
        "sourceUrl": "https://data.gov.my/data-catalogue/enrolment_school_district",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sdg_03-3-1",
      "slug": "sdg_03-3-1",
      "title": "SDG 03-3-1: HIV Incidence per 1,000 Uninfected Population",
      "category": "Statistical Indicators",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/sdg_03-3-1",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sdg_03-3-1",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2016-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/sdg_03-3-1",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "std_state",
      "slug": "std_state",
      "title": "Sexually Transmitted Diseases (STDs) by State",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/std_state",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/std_state",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2017-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/std_state",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "mnha",
      "slug": "mnha",
      "title": "MNHA: Total (TEH) and Current (CHE) Expenditure on Health",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/mnha",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/mnha",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2013-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/mnha",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "mnha_moh",
      "slug": "mnha_moh",
      "title": "MNHA: MOH Expenditure on Health",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/mnha_moh",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/mnha_moh",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2013-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/mnha_moh",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "employment_sector",
      "slug": "employment_sector",
      "title": "Employment by MSIC Sector and Sex",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/employment_sector",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/employment_sector",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2001-2022",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/employment_sector",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "infant_immunisation",
      "slug": "infant_immunisation",
      "title": "Infant Immunisation Coverage",
      "category": "Healthcare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MOH",
      "source": "MOH",
      "sourceUrl": "https://data.gov.my/data-catalogue/infant_immunisation",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/infant_immunisation",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2000-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MOH",
        "sourceUrl": "https://data.gov.my/data-catalogue/infant_immunisation",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "cellular_subscribers",
      "slug": "cellular_subscribers",
      "title": "Cellular Subscribers by Plan Type",
      "category": "Communications",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "MCMC",
      "source": "MCMC",
      "sourceUrl": "https://data.gov.my/data-catalogue/cellular_subscribers",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/cellular_subscribers",
      "baseUrl": null,
      "frequency": "ANNUAL",
      "coverage": "2000-2021",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MCMC",
        "sourceUrl": "https://data.gov.my/data-catalogue/cellular_subscribers",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "passports",
      "slug": "passports",
      "title": "Monthly Passport Issuances by State and Branch",
      "category": "Demography",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "Imigresen",
      "source": "Imigresen",
      "sourceUrl": "https://data.gov.my/data-catalogue/passports",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/passports",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2020-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Imigresen",
        "sourceUrl": "https://data.gov.my/data-catalogue/passports",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "domains",
      "slug": "domains",
      "title": "Number of Registered .MY Domains",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MYNIC, KD",
      "source": "MYNIC, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/domains",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/domains",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2007-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MYNIC, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/domains",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "domains_ipv6",
      "slug": "domains_ipv6",
      "title": "Number of Registered .MY Domains with IPv6 DNS",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MYNIC, KD",
      "source": "MYNIC, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/domains_ipv6",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/domains_ipv6",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2009-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MYNIC, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/domains_ipv6",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "domains_dnssec",
      "slug": "domains_dnssec",
      "title": "Number of Registered .MY Domains with DNSSEC",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MYNIC, KD",
      "source": "MYNIC, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/domains_dnssec",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/domains_dnssec",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2011-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MYNIC, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/domains_dnssec",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "domains_idn",
      "slug": "domains_idn",
      "title": "Number of Registered Internationalised .MY Domains",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MYNIC, KD",
      "source": "MYNIC, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/domains_idn",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/domains_idn",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2011-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MYNIC, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/domains_idn",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sppi_1d",
      "slug": "sppi_1d",
      "title": "SPPI by Section (1 digit)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/sppi_1d",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sppi_1d",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/sppi_1d",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sppi_2d",
      "slug": "sppi_2d",
      "title": "SPPI by Division (2 digits)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/sppi_2d",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sppi_2d",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/sppi_2d",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "sppi",
      "slug": "sppi",
      "title": "Headline Services Producer Price Index (SPPI)",
      "category": "Prices",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/sppi",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/sppi",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/sppi",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "productivity_lookup",
      "slug": "productivity_lookup",
      "title": "Lookup Table: Labour Productivity",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/productivity_lookup",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/productivity_lookup",
      "baseUrl": null,
      "frequency": "INFREQUENT",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/productivity_lookup",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "productivity_annual",
      "slug": "productivity_annual",
      "title": "Annual Productivity by Economic Sector",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/productivity_annual",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/productivity_annual",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/productivity_annual",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "productivity_qtr",
      "slug": "productivity_qtr",
      "title": "Quarterly Productivity by Economic Sector",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/productivity_qtr",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/productivity_qtr",
      "baseUrl": null,
      "frequency": "QUARTERLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/productivity_qtr",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "productivity_annual_priority",
      "slug": "productivity_annual_priority",
      "title": "Annual Productivity for Priority Subsectors",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/productivity_annual_priority",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/productivity_annual_priority",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/productivity_annual_priority",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ridership_ktmb_daily",
      "slug": "ridership_ktmb_daily",
      "title": "Daily KTMB Ridership",
      "category": "Transportation",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "KTMB, MOT",
      "source": "KTMB, MOT",
      "sourceUrl": "https://data.gov.my/data-catalogue/ridership_ktmb_daily",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ridership_ktmb_daily",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2020-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "KTMB, MOT",
        "sourceUrl": "https://data.gov.my/data-catalogue/ridership_ktmb_daily",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "ridership_ktmb_monthly",
      "slug": "ridership_ktmb_monthly",
      "title": "Monthly KTMB Ridership",
      "category": "Transportation",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "KTMB, MOT",
      "source": "KTMB, MOT",
      "sourceUrl": "https://data.gov.my/data-catalogue/ridership_ktmb_monthly",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/ridership_ktmb_monthly",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2020-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "KTMB, MOT",
        "sourceUrl": "https://data.gov.my/data-catalogue/ridership_ktmb_monthly",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "usage_metrics",
      "slug": "usage_metrics",
      "title": "Daily Usage Metrics for data.gov.my",
      "category": "Metadata",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/usage_metrics",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/usage_metrics",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2023-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/usage_metrics",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "government_apps_downloads",
      "slug": "government_apps_downloads",
      "title": "Downloads of Government Mobile Applications",
      "category": "Public Administration",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/government_apps_downloads",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/government_apps_downloads",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2015-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/government_apps_downloads",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "epf_dividend",
      "slug": "epf_dividend",
      "title": "Annual EPF Dividend",
      "category": "Public Welfare",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "EPF",
      "source": "EPF",
      "sourceUrl": "https://data.gov.my/data-catalogue/epf_dividend",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/epf_dividend",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "1952-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "EPF",
        "sourceUrl": "https://data.gov.my/data-catalogue/epf_dividend",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "usage_metrics_openapi",
      "slug": "usage_metrics_openapi",
      "title": "Daily OpenAPI Hits by Endpoint",
      "category": "Metadata",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/usage_metrics_openapi",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/usage_metrics_openapi",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2023-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/usage_metrics_openapi",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "usage_metrics_openapi_cumul",
      "slug": "usage_metrics_openapi_cumul",
      "title": "Cumulative OpenAPI Hits by Endpoint",
      "category": "Metadata",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/usage_metrics_openapi_cumul",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/usage_metrics_openapi_cumul",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2023-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/usage_metrics_openapi_cumul",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "currency_codes",
      "slug": "currency_codes",
      "title": "Currency Codes (ISO 4217)",
      "category": "Data Dictionaries",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN",
      "source": "JDN",
      "sourceUrl": "https://data.gov.my/data-catalogue/currency_codes",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/currency_codes",
      "baseUrl": null,
      "frequency": "ONE-OFF",
      "coverage": "2025-2025",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN",
        "sourceUrl": "https://data.gov.my/data-catalogue/currency_codes",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "metrics_content",
      "slug": "metrics_content",
      "title": "Number of Datasets on data.gov.my",
      "category": "Metadata",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/metrics_content",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/metrics_content",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2023-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/metrics_content",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "metrics_dataset_cumul",
      "slug": "metrics_dataset_cumul",
      "title": "Cumulative Views and Downloads by Dataset",
      "category": "Metadata",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/metrics_dataset_cumul",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/metrics_dataset_cumul",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2023-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/metrics_dataset_cumul",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "datasets",
      "slug": "datasets",
      "title": "List of Datasets on data.gov.my",
      "category": "Metadata",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JDN, KD",
      "source": "JDN, KD",
      "sourceUrl": "https://data.gov.my/data-catalogue/datasets",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/datasets",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2023-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JDN, KD",
        "sourceUrl": "https://data.gov.my/data-catalogue/datasets",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "trnsc_daily_fpx",
      "slug": "trnsc_daily_fpx",
      "title": "Daily FPX Transactions",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PayNet, BNM",
      "source": "PayNet, BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/trnsc_daily_fpx",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/trnsc_daily_fpx",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2020-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "PayNet, BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/trnsc_daily_fpx",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "trnsc_daily_san",
      "slug": "trnsc_daily_san",
      "title": "Daily Shared ATM Network (SAN) Transactions",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PayNet, BNM",
      "source": "PayNet, BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/trnsc_daily_san",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/trnsc_daily_san",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2020-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "PayNet, BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/trnsc_daily_san",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "trnsc_daily_jompay",
      "slug": "trnsc_daily_jompay",
      "title": "Daily JomPAY Transactions",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PayNet, BNM",
      "source": "PayNet, BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/trnsc_daily_jompay",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/trnsc_daily_jompay",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2020-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "PayNet, BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/trnsc_daily_jompay",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "trnsc_daily_directdebit",
      "slug": "trnsc_daily_directdebit",
      "title": "Daily DirectDebit Transactions",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PayNet, BNM",
      "source": "PayNet, BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/trnsc_daily_directdebit",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/trnsc_daily_directdebit",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2020-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "PayNet, BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/trnsc_daily_directdebit",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "drug_arrests_age",
      "slug": "drug_arrests_age",
      "title": "Drug Arrests by Sex & Age",
      "category": "Public Safety",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PDRM, KDN",
      "source": "PDRM, KDN",
      "sourceUrl": "https://data.gov.my/data-catalogue/drug_arrests_age",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/drug_arrests_age",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PDRM, KDN",
        "sourceUrl": "https://data.gov.my/data-catalogue/drug_arrests_age",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "drug_arrests_ethnicity",
      "slug": "drug_arrests_ethnicity",
      "title": "Drug Arrests by Sex & Ethnicity",
      "category": "Public Safety",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "PDRM, KDN",
      "source": "PDRM, KDN",
      "sourceUrl": "https://data.gov.my/data-catalogue/drug_arrests_ethnicity",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/drug_arrests_ethnicity",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PDRM, KDN",
        "sourceUrl": "https://data.gov.my/data-catalogue/drug_arrests_ethnicity",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "drug_addicts_age",
      "slug": "drug_addicts_age",
      "title": "Drug Addicts by State & Age Group",
      "category": "Public Safety",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "AADK, KDN",
      "source": "AADK, KDN",
      "sourceUrl": "https://data.gov.my/data-catalogue/drug_addicts_age",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/drug_addicts_age",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "AADK, KDN",
        "sourceUrl": "https://data.gov.my/data-catalogue/drug_addicts_age",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "drug_addicts_education",
      "slug": "drug_addicts_education",
      "title": "Drug Addicts by Highest Education Level",
      "category": "Public Safety",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "AADK, KDN",
      "source": "AADK, KDN",
      "sourceUrl": "https://data.gov.my/data-catalogue/drug_addicts_education",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/drug_addicts_education",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "AADK, KDN",
        "sourceUrl": "https://data.gov.my/data-catalogue/drug_addicts_education",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "drug_addicts_occupation",
      "slug": "drug_addicts_occupation",
      "title": "Drug Addicts by State & Occupation",
      "category": "Public Safety",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "AADK, KDN",
      "source": "AADK, KDN",
      "sourceUrl": "https://data.gov.my/data-catalogue/drug_addicts_occupation",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/drug_addicts_occupation",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2016-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "AADK, KDN",
        "sourceUrl": "https://data.gov.my/data-catalogue/drug_addicts_occupation",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "drug_addicts_drugtype",
      "slug": "drug_addicts_drugtype",
      "title": "Drug Addicts by State & Drug Type",
      "category": "Public Safety",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "AADK, KDN",
      "source": "AADK, KDN",
      "sourceUrl": "https://data.gov.my/data-catalogue/drug_addicts_drugtype",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/drug_addicts_drugtype",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2015-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "AADK, KDN",
        "sourceUrl": "https://data.gov.my/data-catalogue/drug_addicts_drugtype",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "payment_instruments",
      "slug": "payment_instruments",
      "title": "Monthly Usage of Payment Instruments",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/payment_instruments",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/payment_instruments",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2019-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/payment_instruments",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "payment_channels",
      "slug": "payment_channels",
      "title": "Monthly Usage of Payment Channels",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/payment_channels",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/payment_channels",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2019-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/payment_channels",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "payment_systems",
      "slug": "payment_systems",
      "title": "Monthly Usage of Payment Systems",
      "category": "Financial Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "BNM",
      "source": "BNM",
      "sourceUrl": "https://data.gov.my/data-catalogue/payment_systems",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/payment_systems",
      "baseUrl": null,
      "frequency": "DAILY",
      "coverage": "2019-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BNM",
        "sourceUrl": "https://data.gov.my/data-catalogue/payment_systems",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_parlimen",
      "slug": "lfs_parlimen",
      "title": "Annual Principal Labour Force Statistics by Parliament",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_parlimen",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_parlimen",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2021-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_parlimen",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "lfs_dun",
      "slug": "lfs_dun",
      "title": "Annual Principal Labour Force Statistics by DUN",
      "category": "Labour Markets",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/lfs_dun",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/lfs_dun",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2021-2023",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/lfs_dun",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_income_parlimen",
      "slug": "hh_income_parlimen",
      "title": "Household Income by Parliament",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_income_parlimen",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_income_parlimen",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_income_parlimen",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_income_dun",
      "slug": "hh_income_dun",
      "title": "Household Income by DUN",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_income_dun",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_income_dun",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_income_dun",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_expenditure_parlimen",
      "slug": "hh_expenditure_parlimen",
      "title": "Household Expenditure by Parliament",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_expenditure_parlimen",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_expenditure_parlimen",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_expenditure_parlimen",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_expenditure_dun",
      "slug": "hh_expenditure_dun",
      "title": "Household Expenditure by DUN",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_expenditure_dun",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_expenditure_dun",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_expenditure_dun",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_poverty_parlimen",
      "slug": "hh_poverty_parlimen",
      "title": "Poverty by Parliament",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty_parlimen",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_poverty_parlimen",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty_parlimen",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_poverty_dun",
      "slug": "hh_poverty_dun",
      "title": "Poverty by DUN",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty_dun",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_poverty_dun",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_poverty_dun",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_inequality_parlimen",
      "slug": "hh_inequality_parlimen",
      "title": "Income Inequality by Parliament",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality_parlimen",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_inequality_parlimen",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality_parlimen",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "hh_inequality_dun",
      "slug": "hh_inequality_dun",
      "title": "Income Inequality by DUN",
      "category": "Households",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "DOSM",
      "source": "DOSM",
      "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality_dun",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/hh_inequality_dun",
      "baseUrl": null,
      "frequency": "YEARLY",
      "coverage": "2019-2024",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DOSM",
        "sourceUrl": "https://data.gov.my/data-catalogue/hh_inequality_dun",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "registrations_type_fuel",
      "slug": "registrations_type_fuel",
      "title": "Monthly Vehicle Registrations by Vehicle and Fuel Type",
      "category": "Transportation",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPJ, MOT",
      "source": "JPJ, MOT",
      "sourceUrl": "https://data.gov.my/data-catalogue/registrations_type_fuel",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.my/data-catalogue/registrations_type_fuel",
      "baseUrl": null,
      "frequency": "MONTHLY",
      "coverage": "2000-2026",
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPJ, MOT",
        "sourceUrl": "https://data.gov.my/data-catalogue/registrations_type_fuel",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "d_7a043a1e4dee8041cff62b2cdd152b03",
      "slug": "d_7a043a1e4dee8041cff62b2cdd152b03",
      "title": "SLA Sale Sites",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_7a043a1e4dee8041cff62b2cdd152b03/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_7a043a1e4dee8041cff62b2cdd152b03/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_7a043a1e4dee8041cff62b2cdd152b03&limit=10",
      "frequency": null,
      "coverage": "2002-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Cover successful tender/auction bids for SLA sale sites awarded from 2002 onwards. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_7a043a1e4dee8041cff62b2cdd152b03/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_f74e5ee9575e98ba439bee67e8f9b097",
      "slug": "d_f74e5ee9575e98ba439bee67e8f9b097",
      "title": "Total Land Area of Singapore",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_f74e5ee9575e98ba439bee67e8f9b097/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_f74e5ee9575e98ba439bee67e8f9b097/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_f74e5ee9575e98ba439bee67e8f9b097&limit=10",
      "frequency": null,
      "coverage": "1960-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_f74e5ee9575e98ba439bee67e8f9b097/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9ee0c9b7c8c084dd75aa521938d771ca",
      "slug": "d_9ee0c9b7c8c084dd75aa521938d771ca",
      "title": "Total Area of State Land Sold to Public Agencies",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9ee0c9b7c8c084dd75aa521938d771ca/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9ee0c9b7c8c084dd75aa521938d771ca/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9ee0c9b7c8c084dd75aa521938d771ca&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview on the area of state land sold to public sector agencies in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9ee0c9b7c8c084dd75aa521938d771ca/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8e5a428ed5f672d184297d9abb243702",
      "slug": "d_8e5a428ed5f672d184297d9abb243702",
      "title": "Total Area of State Land Sold to Private Sector",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8e5a428ed5f672d184297d9abb243702/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8e5a428ed5f672d184297d9abb243702/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8e5a428ed5f672d184297d9abb243702&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview on the area of state land sold to private sector in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8e5a428ed5f672d184297d9abb243702/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bca4d02876096ed574ca17af078c1f5a",
      "slug": "d_bca4d02876096ed574ca17af078c1f5a",
      "title": "Registration of Documents Lodged for Private Properties",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bca4d02876096ed574ca17af078c1f5a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bca4d02876096ed574ca17af078c1f5a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bca4d02876096ed574ca17af078c1f5a&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview of the number of caveats and instruments lodged for private properties in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bca4d02876096ed574ca17af078c1f5a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_88e252fe9febb6cf122a24f9193f1138",
      "slug": "d_88e252fe9febb6cf122a24f9193f1138",
      "title": "Registration of Documents Lodged for HDB Properties",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_88e252fe9febb6cf122a24f9193f1138/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_88e252fe9febb6cf122a24f9193f1138/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_88e252fe9febb6cf122a24f9193f1138&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview of the number of caveats and instruments lodged for HDB properties in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_88e252fe9febb6cf122a24f9193f1138/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b672ba5cd181fd699e5463e03ca5f3d3",
      "slug": "d_b672ba5cd181fd699e5463e03ca5f3d3",
      "title": "Issuance of Title Documents for Completed Private Properties",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b672ba5cd181fd699e5463e03ca5f3d3/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b672ba5cd181fd699e5463e03ca5f3d3/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b672ba5cd181fd699e5463e03ca5f3d3&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview of the number of title documents issued for completed private properties in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b672ba5cd181fd699e5463e03ca5f3d3/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_7d6b025f30679012155fe2ea0d66b1a2",
      "slug": "d_7d6b025f30679012155fe2ea0d66b1a2",
      "title": "Integrated Land Information Service (INLIS) Transaction Volume",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_7d6b025f30679012155fe2ea0d66b1a2/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_7d6b025f30679012155fe2ea0d66b1a2/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_7d6b025f30679012155fe2ea0d66b1a2&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "INLIS transaction Volume. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_7d6b025f30679012155fe2ea0d66b1a2/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_7c84165fa3e7b2449f8927f1b97fa79b",
      "slug": "d_7c84165fa3e7b2449f8927f1b97fa79b",
      "title": "Utilisation Rate of State Land",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_7c84165fa3e7b2449f8927f1b97fa79b/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_7c84165fa3e7b2449f8927f1b97fa79b/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_7c84165fa3e7b2449f8927f1b97fa79b&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview of the utilisation rate of State land in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_7c84165fa3e7b2449f8927f1b97fa79b/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_d7caa01b45aee232265aecd71a703be3",
      "slug": "d_d7caa01b45aee232265aecd71a703be3",
      "title": "Occupancy Rate of State Properties",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_d7caa01b45aee232265aecd71a703be3/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_d7caa01b45aee232265aecd71a703be3/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_d7caa01b45aee232265aecd71a703be3&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview of the occupancy rate of State properties in aggregate form, excluding non-marketable stocks. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_d7caa01b45aee232265aecd71a703be3/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b0505f2a0218d38fdeaa6217753a0b68",
      "slug": "d_b0505f2a0218d38fdeaa6217753a0b68",
      "title": "Approval of Strata Lots",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b0505f2a0218d38fdeaa6217753a0b68/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b0505f2a0218d38fdeaa6217753a0b68/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b0505f2a0218d38fdeaa6217753a0b68&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview of the number of approved strata lots in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b0505f2a0218d38fdeaa6217753a0b68/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_ca924e80ef4a5251486a738282f20f37",
      "slug": "d_ca924e80ef4a5251486a738282f20f37",
      "title": "Approval of Land Lots",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_ca924e80ef4a5251486a738282f20f37/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_ca924e80ef4a5251486a738282f20f37/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_ca924e80ef4a5251486a738282f20f37&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview of the number of approved land lots in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_ca924e80ef4a5251486a738282f20f37/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_2057d332317dd0d045e392fe4e9aca57",
      "slug": "d_2057d332317dd0d045e392fe4e9aca57",
      "title": "SLA Tender and Bidding Results Information",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_2057d332317dd0d045e392fe4e9aca57/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_2057d332317dd0d045e392fe4e9aca57/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_2057d332317dd0d045e392fe4e9aca57&limit=10",
      "frequency": null,
      "coverage": "2004-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Cover successful tender/bidding results for state properties (non-residential) rental from 2004 onwards. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_2057d332317dd0d045e392fe4e9aca57/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_84f2c4878725990c6fdefc9845ed0591",
      "slug": "d_84f2c4878725990c6fdefc9845ed0591",
      "title": "SICS Dataset 1 - Canteen Advertisements",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_84f2c4878725990c6fdefc9845ed0591/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_84f2c4878725990c6fdefc9845ed0591/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_84f2c4878725990c6fdefc9845ed0591&limit=10",
      "frequency": null,
      "coverage": "2024-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "SICS Dataset 1 - Canteen Advertisements. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_84f2c4878725990c6fdefc9845ed0591/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8b84c4ee58e3cfc0ece0d773c8ca6abc",
      "slug": "d_8b84c4ee58e3cfc0ece0d773c8ca6abc",
      "title": "Resale flat prices based on registration date from Jan-2017 onwards",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8b84c4ee58e3cfc0ece0d773c8ca6abc/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8b84c4ee58e3cfc0ece0d773c8ca6abc/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8b84c4ee58e3cfc0ece0d773c8ca6abc&limit=10",
      "frequency": null,
      "coverage": "2017-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Notes: 1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8b84c4ee58e3cfc0ece0d773c8ca6abc/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bdaff844e3ef89d39fceb962ff8f0791",
      "slug": "d_bdaff844e3ef89d39fceb962ff8f0791",
      "title": "Consumer Price Index (CPI), 2024 As Base Year, Monthly",
      "category": "Economy & business",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bdaff844e3ef89d39fceb962ff8f0791/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bdaff844e3ef89d39fceb962ff8f0791/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bdaff844e3ef89d39fceb962ff8f0791&limit=10",
      "frequency": null,
      "coverage": "1961-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 23/06/2026 Update Frequency: Monthly Footnotes: The weighting pattern of the Consumer Price Index (CPI) was derived from the expenditure values collected from. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bdaff844e3ef89d39fceb962ff8f0791/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_07132a11c6cd50739aacae18d0f1a60d",
      "slug": "d_07132a11c6cd50739aacae18d0f1a60d",
      "title": "Married Couples in Resident Households by Highest Qualification Attained of Husband and Wife, and Ethnic Group of Couple",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_07132a11c6cd50739aacae18d0f1a60d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_07132a11c6cd50739aacae18d0f1a60d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_07132a11c6cd50739aacae18d0f1a60d&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 02/08/2023 Update Frequency: 10 years Survey period: Census of Population 2010 Footnotes: Note: Data on inter-ethnic married couples have been updated as at 2. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_07132a11c6cd50739aacae18d0f1a60d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_5920b6406fc89cc7f30102cfa8c37070",
      "slug": "d_5920b6406fc89cc7f30102cfa8c37070",
      "title": "Married Couples in Resident Households by Highest Qualification Attained of Husband and Wife, and Ethnic Group of Couple",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_5920b6406fc89cc7f30102cfa8c37070/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_5920b6406fc89cc7f30102cfa8c37070/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_5920b6406fc89cc7f30102cfa8c37070&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 11/09/2023 Update Frequency: 10 years Survey period: Census of Population 2000 Footnotes: Note: Data on inter-ethnic married couples have been updated as at 2. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_5920b6406fc89cc7f30102cfa8c37070/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_04e863605c29769c656a8b54eb2a5894",
      "slug": "d_04e863605c29769c656a8b54eb2a5894",
      "title": "Married Couples in Resident Households by Highest Qualification Attained of Husband and Wife, and Ethnic Group of Couple",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_04e863605c29769c656a8b54eb2a5894/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_04e863605c29769c656a8b54eb2a5894/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_04e863605c29769c656a8b54eb2a5894&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 02/08/2023 Update Frequency: 10 years Survey period: Census of Population 2020 Footnotes: Note: Data on inter-ethnic married couples have been updated as at 2. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_04e863605c29769c656a8b54eb2a5894/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_3dd95eb5bb3fc04a60eb55713f0fbf1d",
      "slug": "d_3dd95eb5bb3fc04a60eb55713f0fbf1d",
      "title": "Married Couples in Resident Households by Age Group of Husband and Wife, and Ethnic Group of Couple (Census of Populatio",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_3dd95eb5bb3fc04a60eb55713f0fbf1d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_3dd95eb5bb3fc04a60eb55713f0fbf1d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_3dd95eb5bb3fc04a60eb55713f0fbf1d&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 02/08/2023 Update Frequency: 10 years Survey period: Census of Population 2000 Footnotes: Note: Data on inter-ethnic married couples have been updated as at 2. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_3dd95eb5bb3fc04a60eb55713f0fbf1d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bfa7886a868a386066b0e72997383d51",
      "slug": "d_bfa7886a868a386066b0e72997383d51",
      "title": "Married Couples in Resident Households by Age Group of Husband and Wife, and Ethnic Group of Couple (Census of Populatio",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bfa7886a868a386066b0e72997383d51/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bfa7886a868a386066b0e72997383d51/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bfa7886a868a386066b0e72997383d51&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 02/08/2023 Update Frequency: 10 years Survey period: Census of Population 2010 Footnotes: Note: Data on inter-ethnic married couples have been updated as at 2. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bfa7886a868a386066b0e72997383d51/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_cadd4d2df56ac4187847648f44ffcb9c",
      "slug": "d_cadd4d2df56ac4187847648f44ffcb9c",
      "title": "Married Couples in Resident Households by Age Group of Husband and Wife, and Ethnic Group of Couple (Census of Populatio",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_cadd4d2df56ac4187847648f44ffcb9c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_cadd4d2df56ac4187847648f44ffcb9c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_cadd4d2df56ac4187847648f44ffcb9c&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 02/08/2023 Update Frequency: 10 years Survey period: Census of Population 2020 Footnotes: Note: Data on inter-ethnic married couples have been updated as at 2. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_cadd4d2df56ac4187847648f44ffcb9c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b22b2aa292bd29e1a200d4f1c5d013cd",
      "slug": "d_b22b2aa292bd29e1a200d4f1c5d013cd",
      "title": "Resident Ever-Married Females Aged 15 Years and Over by Age Group, Number of Children Born and Economic Activity (Genera",
      "category": "Economy & business",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b22b2aa292bd29e1a200d4f1c5d013cd/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b22b2aa292bd29e1a200d4f1c5d013cd/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b22b2aa292bd29e1a200d4f1c5d013cd&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 23/11/2021 Update Frequency: 10 years Survey period: General Household Survey 2005 Adapted from: https://tablebuilder.singstat.gov.sg/table/CT/17707. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b22b2aa292bd29e1a200d4f1c5d013cd/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bda4baa634dd1cc7a6c7cad5f19e2d68",
      "slug": "d_bda4baa634dd1cc7a6c7cad5f19e2d68",
      "title": "Dates of Hawker Centres Closure",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bda4baa634dd1cc7a6c7cad5f19e2d68/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bda4baa634dd1cc7a6c7cad5f19e2d68/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bda4baa634dd1cc7a6c7cad5f19e2d68&limit=10",
      "frequency": null,
      "coverage": "2026-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Which hawker centres are closed for cleaning?. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bda4baa634dd1cc7a6c7cad5f19e2d68/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_2864c425e22ddb89969585820629adf8",
      "slug": "d_2864c425e22ddb89969585820629adf8",
      "title": "Institutions Participating in the National Electronic Health Record System (NEHR)",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_2864c425e22ddb89969585820629adf8/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_2864c425e22ddb89969585820629adf8/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_2864c425e22ddb89969585820629adf8&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "List of all organisations and institutions that participate in the National Electronic Health Record System (NEHR). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_2864c425e22ddb89969585820629adf8/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_cb994cab1bbcd384912ad76ddffc0045",
      "slug": "d_cb994cab1bbcd384912ad76ddffc0045",
      "title": "Input-Output Multipliers, 2015 (Supply, Use and Input-Output Tables)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_cb994cab1bbcd384912ad76ddffc0045/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_cb994cab1bbcd384912ad76ddffc0045/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_cb994cab1bbcd384912ad76ddffc0045&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 25/03/2026 Update Frequency: Annual Survey period: Supply, Use and Input-Output Tables Footnotes: This table shows the total, direct, and indirect output, val. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_cb994cab1bbcd384912ad76ddffc0045/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b0d4cbe39af6c74ee1782834ed57605f",
      "slug": "d_b0d4cbe39af6c74ee1782834ed57605f",
      "title": "Forward And Backward Linkages, 2010 (Supply, Use and Input-Output Tables)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b0d4cbe39af6c74ee1782834ed57605f/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b0d4cbe39af6c74ee1782834ed57605f/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b0d4cbe39af6c74ee1782834ed57605f&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 25/03/2026 Update Frequency: Annual Survey period: Supply, Use and Input-Output Tables Footnotes: This table shows the forward and backward linkages of each i. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b0d4cbe39af6c74ee1782834ed57605f/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8b90195d00fee9da13d786e8ff01b21c",
      "slug": "d_8b90195d00fee9da13d786e8ff01b21c",
      "title": "Married Couples in Resident Households by Monthly Income from Work and Working Status of Couple (Census of Population 20",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8b90195d00fee9da13d786e8ff01b21c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8b90195d00fee9da13d786e8ff01b21c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8b90195d00fee9da13d786e8ff01b21c&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 04/04/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Footnotes: Income from work includes employer CPF contributions. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8b90195d00fee9da13d786e8ff01b21c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_47a2c8b6f36f2eb5ff2f0b180c5c3631",
      "slug": "d_47a2c8b6f36f2eb5ff2f0b180c5c3631",
      "title": "Resident Working Persons Aged 15 Years and Over Who Changed Job During Last 2 Years by Current Industry, Previous Indust",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_47a2c8b6f36f2eb5ff2f0b180c5c3631/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_47a2c8b6f36f2eb5ff2f0b180c5c3631/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_47a2c8b6f36f2eb5ff2f0b180c5c3631&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 15/07/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Adapted from: https://tablebuilder.singstat.gov.sg/table/CT/10123. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_47a2c8b6f36f2eb5ff2f0b180c5c3631/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_7a942ef799c7a66a78835245bc581980",
      "slug": "d_7a942ef799c7a66a78835245bc581980",
      "title": "Chinese Resident Population by Age Group, Dialect Group and Sex (Census of Population 2000)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_7a942ef799c7a66a78835245bc581980/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_7a942ef799c7a66a78835245bc581980/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_7a942ef799c7a66a78835245bc581980&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 14/07/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Adapted from: https://tablebuilder.singstat.gov.sg/table/CT/10118. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_7a942ef799c7a66a78835245bc581980/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_897e1408ced50b89d3cbed95eb6b264d",
      "slug": "d_897e1408ced50b89d3cbed95eb6b264d",
      "title": "Resident Students Aged 5 Years and Over by Usual Mode of Transport to School, Type of Dwelling and Sex (Census of Popula",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_897e1408ced50b89d3cbed95eb6b264d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_897e1408ced50b89d3cbed95eb6b264d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_897e1408ced50b89d3cbed95eb6b264d&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 02/08/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Adapted from: https://tablebuilder.singstat.gov.sg/table/CT/10513. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_897e1408ced50b89d3cbed95eb6b264d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9e2be3cfc611e1cbb8784c77295ecb6e",
      "slug": "d_9e2be3cfc611e1cbb8784c77295ecb6e",
      "title": "Married Couples in Resident Households by Monthly Income from Work and Age Group of Husband (Census of Population 2000)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9e2be3cfc611e1cbb8784c77295ecb6e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9e2be3cfc611e1cbb8784c77295ecb6e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9e2be3cfc611e1cbb8784c77295ecb6e&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 04/04/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Footnotes: Income from work includes employer CPF contributions. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9e2be3cfc611e1cbb8784c77295ecb6e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_4622724fa2c5bf6f9e62882cb8b2e9c7",
      "slug": "d_4622724fa2c5bf6f9e62882cb8b2e9c7",
      "title": "Resident Working Persons Aged 15 Years and Over by Usual Mode of Transport to Work, Type of Dwelling and Sex (Census of ",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_4622724fa2c5bf6f9e62882cb8b2e9c7/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_4622724fa2c5bf6f9e62882cb8b2e9c7/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_4622724fa2c5bf6f9e62882cb8b2e9c7&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 02/08/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Adapted from: https://tablebuilder.singstat.gov.sg/table/CT/10514. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_4622724fa2c5bf6f9e62882cb8b2e9c7/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_e2a04abbbedfaea6036e0d55a069d22e",
      "slug": "d_e2a04abbbedfaea6036e0d55a069d22e",
      "title": "Resident Population by DGP Zone/Subzone, Ethnic Group and Sex (Census of Population 2000)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_e2a04abbbedfaea6036e0d55a069d22e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_e2a04abbbedfaea6036e0d55a069d22e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_e2a04abbbedfaea6036e0d55a069d22e&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 15/07/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Adapted from: https://tablebuilder.singstat.gov.sg/table/CT/10141. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_e2a04abbbedfaea6036e0d55a069d22e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_3b625a7045d282b2b42239571e8b8b4f",
      "slug": "d_3b625a7045d282b2b42239571e8b8b4f",
      "title": "Resident Households Which Shifted House Between 1991 and 2000 by Type of Dwelling, Type of Previous Dwelling and Previou",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_3b625a7045d282b2b42239571e8b8b4f/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_3b625a7045d282b2b42239571e8b8b4f/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_3b625a7045d282b2b42239571e8b8b4f&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 04/04/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Footnotes: Note: Data exclude households previously staying overseas or in inst. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_3b625a7045d282b2b42239571e8b8b4f/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_fd3f9a245ed722b88cb6a850f3fbb806",
      "slug": "d_fd3f9a245ed722b88cb6a850f3fbb806",
      "title": "Married Couples in Resident Households by Monthly Income from Work of Husband and Wife (Census of Population 2000)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_fd3f9a245ed722b88cb6a850f3fbb806/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_fd3f9a245ed722b88cb6a850f3fbb806/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_fd3f9a245ed722b88cb6a850f3fbb806&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 04/04/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Footnotes: Income from work includes employer CPF contributions. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_fd3f9a245ed722b88cb6a850f3fbb806/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_69b3380ad7e51aff3a7dcc84eba52b8a",
      "slug": "d_69b3380ad7e51aff3a7dcc84eba52b8a",
      "title": "COE Bidding Results / Prices",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_69b3380ad7e51aff3a7dcc84eba52b8a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_69b3380ad7e51aff3a7dcc84eba52b8a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_69b3380ad7e51aff3a7dcc84eba52b8a&limit=10",
      "frequency": null,
      "coverage": "2010-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "COE bidding and prices results for each bidding exercise. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_69b3380ad7e51aff3a7dcc84eba52b8a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_6539af8c12b7060cb16f78574db9bafe",
      "slug": "d_6539af8c12b7060cb16f78574db9bafe",
      "title": "Resident Households by Household Living Arrangement and Occupation of Head of Household (Census of Population 2000)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Department of Statistics",
      "source": "Singapore Department of Statistics via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_6539af8c12b7060cb16f78574db9bafe/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_6539af8c12b7060cb16f78574db9bafe/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_6539af8c12b7060cb16f78574db9bafe&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: SINGAPORE DEPARTMENT OF STATISTICS Data Last Updated: 01/04/2016 Update Frequency: 10 years Survey period: Census of Population 2000 Footnotes: Note: Data exclude heads who were not working. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Department of Statistics via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_6539af8c12b7060cb16f78574db9bafe/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_48cb38d12697d3463c8cadfb22e6c61d",
      "slug": "d_48cb38d12697d3463c8cadfb22e6c61d",
      "title": "Vessel Calls (>75 GT), Monthly",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_48cb38d12697d3463c8cadfb22e6c61d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_48cb38d12697d3463c8cadfb22e6c61d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_48cb38d12697d3463c8cadfb22e6c61d&limit=10",
      "frequency": null,
      "coverage": "1993-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly number of vessel calls (>75 GT) and shipping tonnage by purpose. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_48cb38d12697d3463c8cadfb22e6c61d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_d48c5a038904f6da3c603cd854b6c191",
      "slug": "d_d48c5a038904f6da3c603cd854b6c191",
      "title": "Vessel Arrivals (>75 GT) Total, Monthly",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_d48c5a038904f6da3c603cd854b6c191/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_d48c5a038904f6da3c603cd854b6c191/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_d48c5a038904f6da3c603cd854b6c191&limit=10",
      "frequency": null,
      "coverage": "1995-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly total number of vessel arrivals (>75 GT) and shipping tonnage. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_d48c5a038904f6da3c603cd854b6c191/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8f264219109e61fffa87ac64dd5a9a65",
      "slug": "d_8f264219109e61fffa87ac64dd5a9a65",
      "title": "Vessel Arrivals (>75 GT) Breakdown, Monthly",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8f264219109e61fffa87ac64dd5a9a65/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8f264219109e61fffa87ac64dd5a9a65/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8f264219109e61fffa87ac64dd5a9a65&limit=10",
      "frequency": null,
      "coverage": "1995-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly number of vessel arrivals (>75 GT) and shipping tonnage by type. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8f264219109e61fffa87ac64dd5a9a65/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9adb5ace517591edd9a8c88291ac1f1c",
      "slug": "d_9adb5ace517591edd9a8c88291ac1f1c",
      "title": "Tanker Arrivals Total, Monthly",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9adb5ace517591edd9a8c88291ac1f1c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9adb5ace517591edd9a8c88291ac1f1c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9adb5ace517591edd9a8c88291ac1f1c&limit=10",
      "frequency": null,
      "coverage": "2002-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly total number of tanker arrivals (>75 GT) and shipping tonnage. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9adb5ace517591edd9a8c88291ac1f1c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c9dcfd8b85990669d1e74dd7ad71eb8b",
      "slug": "d_c9dcfd8b85990669d1e74dd7ad71eb8b",
      "title": "Tanker Arrivals Breakdown, Monthly",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c9dcfd8b85990669d1e74dd7ad71eb8b/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c9dcfd8b85990669d1e74dd7ad71eb8b/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c9dcfd8b85990669d1e74dd7ad71eb8b&limit=10",
      "frequency": null,
      "coverage": "2002-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly number of tanker arrivals (>75 GT) and shipping tonnage by type. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c9dcfd8b85990669d1e74dd7ad71eb8b/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_56f64b2d5a31eb0ee465cc51e83ac60a",
      "slug": "d_56f64b2d5a31eb0ee465cc51e83ac60a",
      "title": "Registered Vessels and Shipping Tonnage, Monthly",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_56f64b2d5a31eb0ee465cc51e83ac60a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_56f64b2d5a31eb0ee465cc51e83ac60a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_56f64b2d5a31eb0ee465cc51e83ac60a&limit=10",
      "frequency": null,
      "coverage": "1995-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly total number of registered vessels and shipping tonnage as at end of the period. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_56f64b2d5a31eb0ee465cc51e83ac60a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_da030f7028200d19ffcbe4a2d71af39c",
      "slug": "d_da030f7028200d19ffcbe4a2d71af39c",
      "title": "Container Throughput, Monthly",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_da030f7028200d19ffcbe4a2d71af39c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_da030f7028200d19ffcbe4a2d71af39c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_da030f7028200d19ffcbe4a2d71af39c&limit=10",
      "frequency": null,
      "coverage": "1995-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly container throughput in twenty-foot equivalent units. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_da030f7028200d19ffcbe4a2d71af39c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_042dd8b935eab998f389adaf559c80de",
      "slug": "d_042dd8b935eab998f389adaf559c80de",
      "title": "Cargo Throughput Total, Monthly Data",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_042dd8b935eab998f389adaf559c80de/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_042dd8b935eab998f389adaf559c80de/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_042dd8b935eab998f389adaf559c80de&limit=10",
      "frequency": null,
      "coverage": "1995-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly total cargo throughput in tonnes. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_042dd8b935eab998f389adaf559c80de/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_835d43b9238c6fc877dfcd62d73054a9",
      "slug": "d_835d43b9238c6fc877dfcd62d73054a9",
      "title": "Cargo Throughput Breakdown, Monthly Data",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_835d43b9238c6fc877dfcd62d73054a9/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_835d43b9238c6fc877dfcd62d73054a9/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_835d43b9238c6fc877dfcd62d73054a9&limit=10",
      "frequency": null,
      "coverage": "1995-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly total cargo throughput by type. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_835d43b9238c6fc877dfcd62d73054a9/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_89d2874dad74a273270369334f1e7d28",
      "slug": "d_89d2874dad74a273270369334f1e7d28",
      "title": "Bunker Sales Total, Monthly",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_89d2874dad74a273270369334f1e7d28/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_89d2874dad74a273270369334f1e7d28/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_89d2874dad74a273270369334f1e7d28&limit=10",
      "frequency": null,
      "coverage": "1995-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly total bunker sales in tonnes. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_89d2874dad74a273270369334f1e7d28/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_4f5abbf4486bf8e52bbed3be56dde562",
      "slug": "d_4f5abbf4486bf8e52bbed3be56dde562",
      "title": "Bunker Sales Breakdown, Monthly",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_4f5abbf4486bf8e52bbed3be56dde562/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_4f5abbf4486bf8e52bbed3be56dde562/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_4f5abbf4486bf8e52bbed3be56dde562&limit=10",
      "frequency": null,
      "coverage": "1995-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the monthly bunker sales by type in tonnes. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_4f5abbf4486bf8e52bbed3be56dde562/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_16d9275596a083bdcd1b3a3ce97f6ffa",
      "slug": "d_16d9275596a083bdcd1b3a3ce97f6ffa",
      "title": "ITE Course Catalog",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Institute of Technical Education",
      "source": "Institute of Technical Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_16d9275596a083bdcd1b3a3ce97f6ffa/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_16d9275596a083bdcd1b3a3ce97f6ffa/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_16d9275596a083bdcd1b3a3ce97f6ffa&limit=10",
      "frequency": null,
      "coverage": "2014-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Institute of Technical Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_16d9275596a083bdcd1b3a3ce97f6ffa/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_1aad8101cfc40f6fd550cef8389969bc",
      "slug": "d_1aad8101cfc40f6fd550cef8389969bc",
      "title": "Course fees of part-time Higher Nitec courses offered in ITE",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Institute of Technical Education",
      "source": "Institute of Technical Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_1aad8101cfc40f6fd550cef8389969bc/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_1aad8101cfc40f6fd550cef8389969bc/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_1aad8101cfc40f6fd550cef8389969bc&limit=10",
      "frequency": null,
      "coverage": "2013-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Institute of Technical Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_1aad8101cfc40f6fd550cef8389969bc/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_e88ee7c099b6e70e399a3d846e41a611",
      "slug": "d_e88ee7c099b6e70e399a3d846e41a611",
      "title": "Course fees of part-time Nitec and ISC courses offered in ITE.",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Institute of Technical Education",
      "source": "Institute of Technical Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_e88ee7c099b6e70e399a3d846e41a611/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_e88ee7c099b6e70e399a3d846e41a611/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_e88ee7c099b6e70e399a3d846e41a611&limit=10",
      "frequency": null,
      "coverage": "2013-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Institute of Technical Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_e88ee7c099b6e70e399a3d846e41a611/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c0a089b996ff6bc6aaf500fde725464e",
      "slug": "d_c0a089b996ff6bc6aaf500fde725464e",
      "title": "Course fees of full-time Diploma courses offered in ITE",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Institute of Technical Education",
      "source": "Institute of Technical Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c0a089b996ff6bc6aaf500fde725464e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c0a089b996ff6bc6aaf500fde725464e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c0a089b996ff6bc6aaf500fde725464e&limit=10",
      "frequency": null,
      "coverage": "2013-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Institute of Technical Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c0a089b996ff6bc6aaf500fde725464e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_12f286e0ae3a84389b545888de250e4b",
      "slug": "d_12f286e0ae3a84389b545888de250e4b",
      "title": "Completion Count of CET Skills And Continuing Academic Education Programmes at ITE",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Institute of Technical Education",
      "source": "Institute of Technical Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_12f286e0ae3a84389b545888de250e4b/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_12f286e0ae3a84389b545888de250e4b/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_12f286e0ae3a84389b545888de250e4b&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Institute of Technical Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_12f286e0ae3a84389b545888de250e4b/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_2def6f1e961d452f8073650bba251273",
      "slug": "d_2def6f1e961d452f8073650bba251273",
      "title": "Intake Count of Full-Time and Traineeship Programmes at ITE",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Institute of Technical Education",
      "source": "Institute of Technical Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_2def6f1e961d452f8073650bba251273/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_2def6f1e961d452f8073650bba251273/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_2def6f1e961d452f8073650bba251273&limit=10",
      "frequency": null,
      "coverage": "2011-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Institute of Technical Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_2def6f1e961d452f8073650bba251273/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_4c00177b84dc5fd467146c5c1e58e469",
      "slug": "d_4c00177b84dc5fd467146c5c1e58e469",
      "title": "Number of Graduates from Full-Time and Traineeship Programmes at ITE",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Institute of Technical Education",
      "source": "Institute of Technical Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_4c00177b84dc5fd467146c5c1e58e469/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_4c00177b84dc5fd467146c5c1e58e469/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_4c00177b84dc5fd467146c5c1e58e469&limit=10",
      "frequency": null,
      "coverage": "2011-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Institute of Technical Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_4c00177b84dc5fd467146c5c1e58e469/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_7d1568686442d85d69dc476e4926d5e1",
      "slug": "d_7d1568686442d85d69dc476e4926d5e1",
      "title": "Fees for ITE Full-Time Higher Nitec and Nitec Courses by Year and Participant Category",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Institute of Technical Education",
      "source": "Institute of Technical Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_7d1568686442d85d69dc476e4926d5e1/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_7d1568686442d85d69dc476e4926d5e1/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_7d1568686442d85d69dc476e4926d5e1&limit=10",
      "frequency": null,
      "coverage": "2013-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Institute of Technical Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_7d1568686442d85d69dc476e4926d5e1/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_d1fbb24161f78e72bed494bd2ba9d091",
      "slug": "d_d1fbb24161f78e72bed494bd2ba9d091",
      "title": "Training Places of CET Skills And Continuing Academic Education Programmes at ITE",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Institute of Technical Education",
      "source": "Institute of Technical Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_d1fbb24161f78e72bed494bd2ba9d091/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_d1fbb24161f78e72bed494bd2ba9d091/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_d1fbb24161f78e72bed494bd2ba9d091&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Most of the Skills Training programmes are offered in modules of 6 months' duration. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Institute of Technical Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_d1fbb24161f78e72bed494bd2ba9d091/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_6c0d5fc34838b12472475fdb73c0af29",
      "slug": "d_6c0d5fc34838b12472475fdb73c0af29",
      "title": "Historical 1-hr PM2.5",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_6c0d5fc34838b12472475fdb73c0af29/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_6c0d5fc34838b12472475fdb73c0af29/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_6c0d5fc34838b12472475fdb73c0af29&limit=10",
      "frequency": null,
      "coverage": "2014-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Historical regional 1-hr PM2.5 value measured in µg/m3. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_6c0d5fc34838b12472475fdb73c0af29/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b4cf557f8750260d229c49fd768e11ed",
      "slug": "d_b4cf557f8750260d229c49fd768e11ed",
      "title": "Historical 24-hr PSI",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b4cf557f8750260d229c49fd768e11ed/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b4cf557f8750260d229c49fd768e11ed/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b4cf557f8750260d229c49fd768e11ed&limit=10",
      "frequency": null,
      "coverage": "2014-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Historical regional 24-hr PSI. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b4cf557f8750260d229c49fd768e11ed/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_f222c70a7c00c5a5a9d4ec432d67f6e8",
      "slug": "d_f222c70a7c00c5a5a9d4ec432d67f6e8",
      "title": "Wet Bulb Temperature - Hourly",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_f222c70a7c00c5a5a9d4ec432d67f6e8/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_f222c70a7c00c5a5a9d4ec432d67f6e8/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_f222c70a7c00c5a5a9d4ec432d67f6e8&limit=10",
      "frequency": null,
      "coverage": "1982-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Hourly wet bulb temperature readings (in degree Celsius) at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_f222c70a7c00c5a5a9d4ec432d67f6e8/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_134857f63c76d227b6fa045f31ce59c1",
      "slug": "d_134857f63c76d227b6fa045f31ce59c1",
      "title": "Rainfall - Monthly Number of Rain Days",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_134857f63c76d227b6fa045f31ce59c1/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_134857f63c76d227b6fa045f31ce59c1/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_134857f63c76d227b6fa045f31ce59c1&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Number of rain days per month at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_134857f63c76d227b6fa045f31ce59c1/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b16d06b83473fdfcc92ed9d37b66ba58",
      "slug": "d_b16d06b83473fdfcc92ed9d37b66ba58",
      "title": "Rainfall - Monthly Total",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b16d06b83473fdfcc92ed9d37b66ba58/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b16d06b83473fdfcc92ed9d37b66ba58/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b16d06b83473fdfcc92ed9d37b66ba58&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Monthly total rainfall (in mm) at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b16d06b83473fdfcc92ed9d37b66ba58/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b0fb69de67054d6d741bea78274ecc2a",
      "slug": "d_b0fb69de67054d6d741bea78274ecc2a",
      "title": "Surface Air Temperature - Monthly Mean Daily Maximum",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b0fb69de67054d6d741bea78274ecc2a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b0fb69de67054d6d741bea78274ecc2a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b0fb69de67054d6d741bea78274ecc2a&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Monthly mean daily maximum temperature (in degree Celsius) at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b0fb69de67054d6d741bea78274ecc2a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9a80d732aa5de0a68be0557fc9437ad0",
      "slug": "d_9a80d732aa5de0a68be0557fc9437ad0",
      "title": "Sunshine Duration- Monthly Mean Daily Duration",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9a80d732aa5de0a68be0557fc9437ad0/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9a80d732aa5de0a68be0557fc9437ad0/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9a80d732aa5de0a68be0557fc9437ad0&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Monthly mean of daily sunshine duration (in hours) at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9a80d732aa5de0a68be0557fc9437ad0/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_755290a24afe70c8f9e8bcbf9f251573",
      "slug": "d_755290a24afe70c8f9e8bcbf9f251573",
      "title": "Surface Air Temperature - Monthly Mean",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_755290a24afe70c8f9e8bcbf9f251573/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_755290a24afe70c8f9e8bcbf9f251573/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_755290a24afe70c8f9e8bcbf9f251573&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Monthly mean temperature (in degree Celsius) at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_755290a24afe70c8f9e8bcbf9f251573/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_53ffdaa97e48ce934cf92799d381f3b1",
      "slug": "d_53ffdaa97e48ce934cf92799d381f3b1",
      "title": "Rainfall - Monthly Highest Daily Total",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_53ffdaa97e48ce934cf92799d381f3b1/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_53ffdaa97e48ce934cf92799d381f3b1/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_53ffdaa97e48ce934cf92799d381f3b1&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Highest daily total rainfall (in mm) for each month at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_53ffdaa97e48ce934cf92799d381f3b1/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_e3b1111a26b2aefef4f386c068d4ca5d",
      "slug": "d_e3b1111a26b2aefef4f386c068d4ca5d",
      "title": "Relative Humidity - Monthly Mean",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_e3b1111a26b2aefef4f386c068d4ca5d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_e3b1111a26b2aefef4f386c068d4ca5d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_e3b1111a26b2aefef4f386c068d4ca5d&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Monthly mean relative humidity (in %) at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_e3b1111a26b2aefef4f386c068d4ca5d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c92edf841336f03ab51c6693ac8d33ad",
      "slug": "d_c92edf841336f03ab51c6693ac8d33ad",
      "title": "Surface Air Temperature - Monthly Mean Daily Minimum",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c92edf841336f03ab51c6693ac8d33ad/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c92edf841336f03ab51c6693ac8d33ad/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c92edf841336f03ab51c6693ac8d33ad&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Monthly mean daily minimum temperature (in degree Celsius) at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c92edf841336f03ab51c6693ac8d33ad/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_72a4d7402d4014f1999a009864f64a11",
      "slug": "d_72a4d7402d4014f1999a009864f64a11",
      "title": "Surface Air Temperature - Monthly Absolute Extreme Maximum",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_72a4d7402d4014f1999a009864f64a11/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_72a4d7402d4014f1999a009864f64a11/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_72a4d7402d4014f1999a009864f64a11&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Highest daily maximum temperature (in degree Celsius) for each month at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_72a4d7402d4014f1999a009864f64a11/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_3b4b0418948847eaca93546f7574e365",
      "slug": "d_3b4b0418948847eaca93546f7574e365",
      "title": "Surface Air Temperature - Monthly Absolute Extreme Minimum",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_3b4b0418948847eaca93546f7574e365/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_3b4b0418948847eaca93546f7574e365/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_3b4b0418948847eaca93546f7574e365&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Lowest daily minimum temperature (in degree Celsius) for each month at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_3b4b0418948847eaca93546f7574e365/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_54445baa32ffe4d46f5bef168c4e0538",
      "slug": "d_54445baa32ffe4d46f5bef168c4e0538",
      "title": "Relative Humidity - Absolute Monthly Extreme Minimum",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_54445baa32ffe4d46f5bef168c4e0538/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_54445baa32ffe4d46f5bef168c4e0538/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_54445baa32ffe4d46f5bef168c4e0538&limit=10",
      "frequency": null,
      "coverage": "1982-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Lowest daily minimum relative humidity (in %) for each month at the Changi Climate Station. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_54445baa32ffe4d46f5bef168c4e0538/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_55a59f68de9275077a642024f13f7c3b",
      "slug": "d_55a59f68de9275077a642024f13f7c3b",
      "title": "Class A Medical Devices (csv)",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Sciences Authority",
      "source": "Health Sciences Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_55a59f68de9275077a642024f13f7c3b/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_55a59f68de9275077a642024f13f7c3b/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_55a59f68de9275077a642024f13f7c3b&limit=10",
      "frequency": null,
      "coverage": "2004-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "The Class A Medical Device Database is a self-declaration database where dealers submit information on their Class A medical devices. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Sciences Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_55a59f68de9275077a642024f13f7c3b/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8cfe111e0a5a5cf5b598e78851e58ad4",
      "slug": "d_8cfe111e0a5a5cf5b598e78851e58ad4",
      "title": "Listing of Registered Medical Devices - Apr 2026 (csv)",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Sciences Authority",
      "source": "Health Sciences Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8cfe111e0a5a5cf5b598e78851e58ad4/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8cfe111e0a5a5cf5b598e78851e58ad4/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8cfe111e0a5a5cf5b598e78851e58ad4&limit=10",
      "frequency": null,
      "coverage": "2004-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "The Singapore Medical Device Register (SMDR), maintained by the Health Sciences Authority (HSA), serves as the official repository of all registered medical devices in Singapore. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Sciences Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8cfe111e0a5a5cf5b598e78851e58ad4/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8d7c6138029eea4d7ffae4f13e3a6458",
      "slug": "d_8d7c6138029eea4d7ffae4f13e3a6458",
      "title": "Aircraft and Transit Passenger",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Civil Aviation Authority of Singapore",
      "source": "Civil Aviation Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8d7c6138029eea4d7ffae4f13e3a6458/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8d7c6138029eea4d7ffae4f13e3a6458/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8d7c6138029eea4d7ffae4f13e3a6458&limit=10",
      "frequency": null,
      "coverage": "2015-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Data covers scheduled and non-scheduled passenger flight services from Changi Airport ONLY. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Civil Aviation Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8d7c6138029eea4d7ffae4f13e3a6458/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_744e62bfb1c524508bce0a64a2488243",
      "slug": "d_744e62bfb1c524508bce0a64a2488243",
      "title": "Air Traffic Movements",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Civil Aviation Authority of Singapore",
      "source": "Civil Aviation Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_744e62bfb1c524508bce0a64a2488243/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_744e62bfb1c524508bce0a64a2488243/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_744e62bfb1c524508bce0a64a2488243&limit=10",
      "frequency": null,
      "coverage": "2015-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Air passenger, cargo, aircraft and airmail movements in Changi Airport by Month. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Civil Aviation Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_744e62bfb1c524508bce0a64a2488243/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_02aa4bb51bc674f3a2d0b9bb6911d934",
      "slug": "d_02aa4bb51bc674f3a2d0b9bb6911d934",
      "title": "Number of Resale Applications Registered by Flat Type",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_02aa4bb51bc674f3a2d0b9bb6911d934/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_02aa4bb51bc674f3a2d0b9bb6911d934/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_02aa4bb51bc674f3a2d0b9bb6911d934&limit=10",
      "frequency": null,
      "coverage": "2007-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Number of Resale Applications Registered by Flat Type, by Quarter. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_02aa4bb51bc674f3a2d0b9bb6911d934/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b51323a474ba789fb4cc3db58a3116d4",
      "slug": "d_b51323a474ba789fb4cc3db58a3116d4",
      "title": "Median Resale Prices for Registered Applications by Town and Flat Type",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b51323a474ba789fb4cc3db58a3116d4/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b51323a474ba789fb4cc3db58a3116d4/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b51323a474ba789fb4cc3db58a3116d4&limit=10",
      "frequency": null,
      "coverage": "2007-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b51323a474ba789fb4cc3db58a3116d4/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_23f946fa557947f93a8043bbef41dd09",
      "slug": "d_23f946fa557947f93a8043bbef41dd09",
      "title": "HDB Carpark Information",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_23f946fa557947f93a8043bbef41dd09/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_23f946fa557947f93a8043bbef41dd09/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_23f946fa557947f93a8043bbef41dd09&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Information about HDB carparks such as operating hours, car park location (in SVY21), type of parking system, etc. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_23f946fa557947f93a8043bbef41dd09/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c9f57187485a850908655db0e8cfe651",
      "slug": "d_c9f57187485a850908655db0e8cfe651",
      "title": "Renting Out of Flats from Jan 2021",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c9f57187485a850908655db0e8cfe651/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c9f57187485a850908655db0e8cfe651/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c9f57187485a850908655db0e8cfe651&limit=10",
      "frequency": null,
      "coverage": "2021-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Explore HDB rental statistics and market rates from 2021–2025. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c9f57187485a850908655db0e8cfe651/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_149b61ad0a22f61c09dc80f2df5bbec8",
      "slug": "d_149b61ad0a22f61c09dc80f2df5bbec8",
      "title": "Public Holidays for 2026",
      "category": "Work & income",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_149b61ad0a22f61c09dc80f2df5bbec8/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_149b61ad0a22f61c09dc80f2df5bbec8/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_149b61ad0a22f61c09dc80f2df5bbec8&limit=10",
      "frequency": null,
      "coverage": "2026-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Public Holiday 2026 List: Explore MOM’s official 2026 public holidays in Singapore including Chinese New Year, Hari Raya Puasa, Deepavali, National Day, and more. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_149b61ad0a22f61c09dc80f2df5bbec8/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_2a57d4e672be2a52118ae0bf4a0f4a4b",
      "slug": "d_2a57d4e672be2a52118ae0bf4a0f4a4b",
      "title": "Healthier SG Whitelisted Drugs",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_2a57d4e672be2a52118ae0bf4a0f4a4b/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_2a57d4e672be2a52118ae0bf4a0f4a4b/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_2a57d4e672be2a52118ae0bf4a0f4a4b&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Healthier SG Whitelisted Drugs. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_2a57d4e672be2a52118ae0bf4a0f4a4b/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_149ac00a2734bb0a03867bbe2ec0e7b0",
      "slug": "d_149ac00a2734bb0a03867bbe2ec0e7b0",
      "title": "Rentals of Non-Landed Residential Buildings, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_149ac00a2734bb0a03867bbe2ec0e7b0/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_149ac00a2734bb0a03867bbe2ec0e7b0/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_149ac00a2734bb0a03867bbe2ec0e7b0&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "This listing contains summary statistics (median, 25th percentile, 75th percentile, and number of rental contracts) of major non-landed private residential projects with at least 10 rental contracts signed in a quarter. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_149ac00a2734bb0a03867bbe2ec0e7b0/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c4bd082b48fa7611713f39e23d250c27",
      "slug": "d_c4bd082b48fa7611713f39e23d250c27",
      "title": "Green Mark Buildings",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Building and Construction Authority",
      "source": "Building and Construction Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c4bd082b48fa7611713f39e23d250c27/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c4bd082b48fa7611713f39e23d250c27/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c4bd082b48fa7611713f39e23d250c27&limit=10",
      "frequency": null,
      "coverage": "2005-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "This file contains details of Green Mark certified buildings, including certification rating, certificate date and expiry date. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Building and Construction Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c4bd082b48fa7611713f39e23d250c27/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8b71bc3e1386261039d7ad95efdc3328",
      "slug": "d_8b71bc3e1386261039d7ad95efdc3328",
      "title": "Sale Position of Executive Condominiums with Pre-Requisites for Sale, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8b71bc3e1386261039d7ad95efdc3328/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8b71bc3e1386261039d7ad95efdc3328/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8b71bc3e1386261039d7ad95efdc3328&limit=10",
      "frequency": null,
      "coverage": "1999-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8b71bc3e1386261039d7ad95efdc3328/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_19c79027c2e6be3c39d637151bd2188d",
      "slug": "d_19c79027c2e6be3c39d637151bd2188d",
      "title": "Executive Condominium Units Launched and Sold in the Quarter, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_19c79027c2e6be3c39d637151bd2188d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_19c79027c2e6be3c39d637151bd2188d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_19c79027c2e6be3c39d637151bd2188d&limit=10",
      "frequency": null,
      "coverage": "2008-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Units sold directly by developers is compiled from licensed developers’ returns based on options issued by developers. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_19c79027c2e6be3c39d637151bd2188d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_e1c5b0df62729e69c82716355ef295ba",
      "slug": "d_e1c5b0df62729e69c82716355ef295ba",
      "title": "Uncompleted Private Residential Units Sold in the Quarter by Market Segment, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_e1c5b0df62729e69c82716355ef295ba/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_e1c5b0df62729e69c82716355ef295ba/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_e1c5b0df62729e69c82716355ef295ba&limit=10",
      "frequency": null,
      "coverage": "2004-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_e1c5b0df62729e69c82716355ef295ba/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_7c69c943d5f0d89d6a9a773d2b51f337",
      "slug": "d_7c69c943d5f0d89d6a9a773d2b51f337",
      "title": "Private Residential Property Transactions in the Whole of Singapore, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_7c69c943d5f0d89d6a9a773d2b51f337/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_7c69c943d5f0d89d6a9a773d2b51f337/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_7c69c943d5f0d89d6a9a773d2b51f337&limit=10",
      "frequency": null,
      "coverage": "1999-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_7c69c943d5f0d89d6a9a773d2b51f337/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_5785799d63a9da091f4e0b456291eeb8",
      "slug": "d_5785799d63a9da091f4e0b456291eeb8",
      "title": "Private Residential Property Transactions in Rest of Central Region, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_5785799d63a9da091f4e0b456291eeb8/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_5785799d63a9da091f4e0b456291eeb8/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_5785799d63a9da091f4e0b456291eeb8&limit=10",
      "frequency": null,
      "coverage": "2004-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Rest of Central Region comprises the area within Central Region that is outside postal districts 9, 10, 11, Downtown Core Planning Area and Sentosa. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_5785799d63a9da091f4e0b456291eeb8/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_1a7823f3d31e7db4b426833833762bab",
      "slug": "d_1a7823f3d31e7db4b426833833762bab",
      "title": "Private Residential Property Transactions in Outside Central Region, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_1a7823f3d31e7db4b426833833762bab/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_1a7823f3d31e7db4b426833833762bab/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_1a7823f3d31e7db4b426833833762bab&limit=10",
      "frequency": null,
      "coverage": "2004-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Outside Central Region (OCR) refers to the planning areas which are outside the Central Region. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_1a7823f3d31e7db4b426833833762bab/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c287c8be114bfa7d055b27ab2c87de83",
      "slug": "d_c287c8be114bfa7d055b27ab2c87de83",
      "title": "Private Residential Property Transactions in Core Central Region, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c287c8be114bfa7d055b27ab2c87de83/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c287c8be114bfa7d055b27ab2c87de83/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c287c8be114bfa7d055b27ab2c87de83&limit=10",
      "frequency": null,
      "coverage": "2004-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Core Central Region comprises Postal Districts 9, 10, 11, Downtown Core Planning Area and Sentosa. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c287c8be114bfa7d055b27ab2c87de83/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_a283de8cb3b4e80a228bf5f5e0bc4449",
      "slug": "d_a283de8cb3b4e80a228bf5f5e0bc4449",
      "title": "Completed Private Residential Units Sold in the Quarter, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_a283de8cb3b4e80a228bf5f5e0bc4449/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_a283de8cb3b4e80a228bf5f5e0bc4449/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_a283de8cb3b4e80a228bf5f5e0bc4449&limit=10",
      "frequency": null,
      "coverage": "1999-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Completed Properties refers to sold units in completed projects which are still licensed. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_a283de8cb3b4e80a228bf5f5e0bc4449/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_70824d34defde87d88faccc5d5b1c6ea",
      "slug": "d_70824d34defde87d88faccc5d5b1c6ea",
      "title": "Uncompleted Private Residential Units Launched in the Quarter by Market Segment, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_70824d34defde87d88faccc5d5b1c6ea/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_70824d34defde87d88faccc5d5b1c6ea/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_70824d34defde87d88faccc5d5b1c6ea&limit=10",
      "frequency": null,
      "coverage": "2004-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_70824d34defde87d88faccc5d5b1c6ea/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_84d05d45049108f0fd2e99b66bd19cfe",
      "slug": "d_84d05d45049108f0fd2e99b66bd19cfe",
      "title": "Unsold Private Residential Units with Planning Approvals by Market Segment, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_84d05d45049108f0fd2e99b66bd19cfe/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_84d05d45049108f0fd2e99b66bd19cfe/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_84d05d45049108f0fd2e99b66bd19cfe&limit=10",
      "frequency": null,
      "coverage": "2006-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_84d05d45049108f0fd2e99b66bd19cfe/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8e4c50283fb7052a391dfb746a05c853",
      "slug": "d_8e4c50283fb7052a391dfb746a05c853",
      "title": "Private Residential Property Rental Index , (Base Quarter 2009-Q1 = 100), Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8e4c50283fb7052a391dfb746a05c853/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8e4c50283fb7052a391dfb746a05c853/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8e4c50283fb7052a391dfb746a05c853&limit=10",
      "frequency": null,
      "coverage": "2004-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "The residential rental index covers only private residential properties. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8e4c50283fb7052a391dfb746a05c853/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_862c74b13138382b9f0c50c68d436b95",
      "slug": "d_862c74b13138382b9f0c50c68d436b95",
      "title": "COMMERCIAL RENTAL INDEX (BASE QUARTER 1998-Q4 = 100), QUARTERLY",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_862c74b13138382b9f0c50c68d436b95/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_862c74b13138382b9f0c50c68d436b95/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_862c74b13138382b9f0c50c68d436b95&limit=10",
      "frequency": null,
      "coverage": "2011-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "The rental indices for commercial properties (i.e. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_862c74b13138382b9f0c50c68d436b95/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_97f8a2e995022d311c6c68cfda6d034c",
      "slug": "d_97f8a2e995022d311c6c68cfda6d034c",
      "title": "Private Residential Property Price Index (Base Quarter 2009-Q1 = 100), Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_97f8a2e995022d311c6c68cfda6d034c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_97f8a2e995022d311c6c68cfda6d034c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_97f8a2e995022d311c6c68cfda6d034c&limit=10",
      "frequency": null,
      "coverage": "1975-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "The residential statistics were compiled from information in caveats lodged at the option stage with the Singapore Land Registry, supplemented with Stamp Duty data from the Inland Revenue Authority of Singapore, as well . Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_97f8a2e995022d311c6c68cfda6d034c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_f65e490a8ad430f60a9a3d9df2bff2a0",
      "slug": "d_f65e490a8ad430f60a9a3d9df2bff2a0",
      "title": "Property Price Index of Non-landed Properties by Locality, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_f65e490a8ad430f60a9a3d9df2bff2a0/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_f65e490a8ad430f60a9a3d9df2bff2a0/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_f65e490a8ad430f60a9a3d9df2bff2a0&limit=10",
      "frequency": null,
      "coverage": "2004-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_f65e490a8ad430f60a9a3d9df2bff2a0/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_f333bf427c827efb484cf57a73ff700a",
      "slug": "d_f333bf427c827efb484cf57a73ff700a",
      "title": "Commercial Property Price Index (Base Quarter 1998-Q4 = 100), Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_f333bf427c827efb484cf57a73ff700a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_f333bf427c827efb484cf57a73ff700a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_f333bf427c827efb484cf57a73ff700a&limit=10",
      "frequency": null,
      "coverage": "2011-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "The commercial statistics were compiled from information in caveats lodged at the option stage with the Singapore Land Registry. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_f333bf427c827efb484cf57a73ff700a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_fb51c5304f64d01f5839ee7208f853ea",
      "slug": "d_fb51c5304f64d01f5839ee7208f853ea",
      "title": "Video Games Classification Database (2023 to 2025)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Info-communications Media Development Authority",
      "source": "Info-communications Media Development Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_fb51c5304f64d01f5839ee7208f853ea/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_fb51c5304f64d01f5839ee7208f853ea/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_fb51c5304f64d01f5839ee7208f853ea&limit=10",
      "frequency": null,
      "coverage": "2023-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Records of video games classified from 2023 to 2025. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Info-communications Media Development Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_fb51c5304f64d01f5839ee7208f853ea/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_00f95040967791729d51bd7cd6af2355",
      "slug": "d_00f95040967791729d51bd7cd6af2355",
      "title": "Government Total Expenditure",
      "category": "Finance",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Finance",
      "source": "Ministry of Finance via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_00f95040967791729d51bd7cd6af2355/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_00f95040967791729d51bd7cd6af2355/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_00f95040967791729d51bd7cd6af2355&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Total Expenditure comprises Operating and Development Expenditure. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Finance via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_00f95040967791729d51bd7cd6af2355/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_acde1106003906a75c3fa052592f2fcb",
      "slug": "d_acde1106003906a75c3fa052592f2fcb",
      "title": "Government Procurement via GeBIZ",
      "category": "Finance",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Finance",
      "source": "Ministry of Finance via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_acde1106003906a75c3fa052592f2fcb/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_acde1106003906a75c3fa052592f2fcb/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_acde1106003906a75c3fa052592f2fcb&limit=10",
      "frequency": null,
      "coverage": "2021-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "This dataset lists all open tenders put out by government agencies since FY2021. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Finance via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_acde1106003906a75c3fa052592f2fcb/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_23000a00c52996c55106084ed0339566",
      "slug": "d_23000a00c52996c55106084ed0339566",
      "title": "Median Rent By Town And Flat Type",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_23000a00c52996c55106084ed0339566/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_23000a00c52996c55106084ed0339566/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_23000a00c52996c55106084ed0339566&limit=10",
      "frequency": null,
      "coverage": "2005-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_23000a00c52996c55106084ed0339566/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_14f63e595975691e7c24a27ae4c07c79",
      "slug": "d_14f63e595975691e7c24a27ae4c07c79",
      "title": "HDB Resale Price Index (1Q2009 = 100), Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_14f63e595975691e7c24a27ae4c07c79/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_14f63e595975691e7c24a27ae4c07c79/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_14f63e595975691e7c24a27ae4c07c79&limit=10",
      "frequency": null,
      "coverage": "1990-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_14f63e595975691e7c24a27ae4c07c79/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_688b934f82c1059ed0a6993d2a829089",
      "slug": "d_688b934f82c1059ed0a6993d2a829089",
      "title": "General information of schools",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_688b934f82c1059ed0a6993d2a829089/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_688b934f82c1059ed0a6993d2a829089/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_688b934f82c1059ed0a6993d2a829089&limit=10",
      "frequency": null,
      "coverage": "2026-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "List general information such as address, contact details, nearest public transportation of primary, secondary and pre-university schools. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_688b934f82c1059ed0a6993d2a829089/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_f1d144e423570c9d84dbc5102c2e664d",
      "slug": "d_f1d144e423570c9d84dbc5102c2e664d",
      "title": "Subjects Offered",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_f1d144e423570c9d84dbc5102c2e664d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_f1d144e423570c9d84dbc5102c2e664d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_f1d144e423570c9d84dbc5102c2e664d&limit=10",
      "frequency": null,
      "coverage": "2026-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_f1d144e423570c9d84dbc5102c2e664d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b0697d22a7837a4eddf72efb66a36fc2",
      "slug": "d_b0697d22a7837a4eddf72efb66a36fc2",
      "title": "MOE Programmes",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b0697d22a7837a4eddf72efb66a36fc2/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b0697d22a7837a4eddf72efb66a36fc2/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b0697d22a7837a4eddf72efb66a36fc2&limit=10",
      "frequency": null,
      "coverage": "2026-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b0697d22a7837a4eddf72efb66a36fc2/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9aba12b5527843afb0b2e8e4ed6ac6bd",
      "slug": "d_9aba12b5527843afb0b2e8e4ed6ac6bd",
      "title": "Co-curricular activities (CCAs)",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9aba12b5527843afb0b2e8e4ed6ac6bd/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9aba12b5527843afb0b2e8e4ed6ac6bd/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9aba12b5527843afb0b2e8e4ed6ac6bd&limit=10",
      "frequency": null,
      "coverage": "2026-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9aba12b5527843afb0b2e8e4ed6ac6bd/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_4eb4afea3120e24369bcd20669a1a1cd",
      "slug": "d_4eb4afea3120e24369bcd20669a1a1cd",
      "title": "Enrolment - MOE Kindergartens",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_4eb4afea3120e24369bcd20669a1a1cd/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_4eb4afea3120e24369bcd20669a1a1cd/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_4eb4afea3120e24369bcd20669a1a1cd&limit=10",
      "frequency": null,
      "coverage": "2014-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_4eb4afea3120e24369bcd20669a1a1cd/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_3f23c3c7ce5f72eab16ed999e7271f2f",
      "slug": "d_3f23c3c7ce5f72eab16ed999e7271f2f",
      "title": "CAAS Annual Report Key Performance Indicators",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Civil Aviation Authority of Singapore",
      "source": "Civil Aviation Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_3f23c3c7ce5f72eab16ed999e7271f2f/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_3f23c3c7ce5f72eab16ed999e7271f2f/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_3f23c3c7ce5f72eab16ed999e7271f2f&limit=10",
      "frequency": null,
      "coverage": "2019-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Key public statistics from CAAS' annual reports, made available in tabular form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Civil Aviation Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_3f23c3c7ce5f72eab16ed999e7271f2f/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_3df7dc96c9e35c717dda7dccb53a00dd",
      "slug": "d_3df7dc96c9e35c717dda7dccb53a00dd",
      "title": "Trade Disputes Referred for Conciliation - Topline",
      "category": "Economy & business",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_3df7dc96c9e35c717dda7dccb53a00dd/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_3df7dc96c9e35c717dda7dccb53a00dd/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_3df7dc96c9e35c717dda7dccb53a00dd&limit=10",
      "frequency": null,
      "coverage": "2005-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "This table shows the topline number of trade disputes referred for conciliation. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_3df7dc96c9e35c717dda7dccb53a00dd/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c45e8a5f0fd6e51e83cfb6105dc2e1bd",
      "slug": "d_c45e8a5f0fd6e51e83cfb6105dc2e1bd",
      "title": "Trade Disputes Referred for Conciliation by Nature of Trade Dispute",
      "category": "Economy & business",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c45e8a5f0fd6e51e83cfb6105dc2e1bd/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c45e8a5f0fd6e51e83cfb6105dc2e1bd/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c45e8a5f0fd6e51e83cfb6105dc2e1bd&limit=10",
      "frequency": null,
      "coverage": "2005-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "This table shows the number of trade disputes referred for conciliation by the nature of the disputes. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c45e8a5f0fd6e51e83cfb6105dc2e1bd/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9903b834a7d5456b674c9c8ecc7fa6f0",
      "slug": "d_9903b834a7d5456b674c9c8ecc7fa6f0",
      "title": "Trade Disputes Referred for Conciliation by Industry",
      "category": "Economy & business",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9903b834a7d5456b674c9c8ecc7fa6f0/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9903b834a7d5456b674c9c8ecc7fa6f0/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9903b834a7d5456b674c9c8ecc7fa6f0&limit=10",
      "frequency": null,
      "coverage": "2005-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "This table shows the total number of trade disputes referred for conciliation by industry. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9903b834a7d5456b674c9c8ecc7fa6f0/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_1f9391a2f1476cdaf4f05a8d3a05c257",
      "slug": "d_1f9391a2f1476cdaf4f05a8d3a05c257",
      "title": "Management Corporation Strata Title",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Building and Construction Authority",
      "source": "Building and Construction Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_1f9391a2f1476cdaf4f05a8d3a05c257/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_1f9391a2f1476cdaf4f05a8d3a05c257/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_1f9391a2f1476cdaf4f05a8d3a05c257&limit=10",
      "frequency": null,
      "coverage": "1968-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "This is a listing containing information on Management Corporations, their addresses and their Managing Agents. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Building and Construction Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_1f9391a2f1476cdaf4f05a8d3a05c257/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_17f5382f26140b1fdae0ba2ef6239d2f",
      "slug": "d_17f5382f26140b1fdae0ba2ef6239d2f",
      "title": "HDB Property Information",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_17f5382f26140b1fdae0ba2ef6239d2f/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_17f5382f26140b1fdae0ba2ef6239d2f/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_17f5382f26140b1fdae0ba2ef6239d2f&limit=10",
      "frequency": null,
      "coverage": "1937-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Please approach SingPost (www.singpost.com/contact-us/service-enquiry) if you require the postal code information. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_17f5382f26140b1fdae0ba2ef6239d2f/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_88dcbdd26f7adbb5a469491378abfedc",
      "slug": "d_88dcbdd26f7adbb5a469491378abfedc",
      "title": "Air Pollutant - Nitrogen Dioxide",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_88dcbdd26f7adbb5a469491378abfedc/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_88dcbdd26f7adbb5a469491378abfedc/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_88dcbdd26f7adbb5a469491378abfedc&limit=10",
      "frequency": null,
      "coverage": "2000-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "NO2 annual mean. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_88dcbdd26f7adbb5a469491378abfedc/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_397fe8de643aea9927bdee32e49307ff",
      "slug": "d_397fe8de643aea9927bdee32e49307ff",
      "title": "Air Pollutant - Particulate Matter PM2.5",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_397fe8de643aea9927bdee32e49307ff/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_397fe8de643aea9927bdee32e49307ff/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_397fe8de643aea9927bdee32e49307ff&limit=10",
      "frequency": null,
      "coverage": "2002-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "PM2.5 annual mean. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_397fe8de643aea9927bdee32e49307ff/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_670c3c6cecbcd24e48034a3428bd306e",
      "slug": "d_670c3c6cecbcd24e48034a3428bd306e",
      "title": "Resident Occupational Wages within each Major Occupational Group by Industry, June 2024",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_670c3c6cecbcd24e48034a3428bd306e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_670c3c6cecbcd24e48034a3428bd306e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_670c3c6cecbcd24e48034a3428bd306e&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: Occupational Wage Survey, Manpower Research & Statistics Department, MOM, supplemented with data from Administrative Records Notes: 1) Data pertain to private sector establishments each with at least 25 employees. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_670c3c6cecbcd24e48034a3428bd306e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_523d376ff1d501a338add925f3313fd1",
      "slug": "d_523d376ff1d501a338add925f3313fd1",
      "title": "Resident Occupational Wages by Industry, June 2024",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_523d376ff1d501a338add925f3313fd1/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_523d376ff1d501a338add925f3313fd1/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_523d376ff1d501a338add925f3313fd1&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: Occupational Wage Survey, Manpower Research & Statistics Department, MOM, supplemented with data from Administrative Records Notes: 1) Data pertain to private sector establishments each with at least 25 employees. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_523d376ff1d501a338add925f3313fd1/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_db0e6e9b54364552dd9d2fc6a28f14f0",
      "slug": "d_db0e6e9b54364552dd9d2fc6a28f14f0",
      "title": "Resident Occupational Wages by Age and Establishment Size (Level 2), June 2024",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_db0e6e9b54364552dd9d2fc6a28f14f0/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_db0e6e9b54364552dd9d2fc6a28f14f0/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_db0e6e9b54364552dd9d2fc6a28f14f0&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: Occupational Wage Survey, Manpower Research & Statistics Department, MOM, supplemented with data from Administrative Records Notes: 1) Data pertain to private sector establishments each with at least 25 employees. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_db0e6e9b54364552dd9d2fc6a28f14f0/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_aa407dcd74f04648058a1fa8a57286a8",
      "slug": "d_aa407dcd74f04648058a1fa8a57286a8",
      "title": "Resident Occupational Wages by Age and Establishment Size (Level 1), June 2024",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_aa407dcd74f04648058a1fa8a57286a8/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_aa407dcd74f04648058a1fa8a57286a8/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_aa407dcd74f04648058a1fa8a57286a8&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: Occupational Wage Survey, Manpower Research & Statistics Department, MOM, supplemented with data from Administrative Records Notes: 1) Data pertain to private sector establishments each with at least 25 employees. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_aa407dcd74f04648058a1fa8a57286a8/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_d1e7ac04e9e121c9bbced9cb4a7e91d5",
      "slug": "d_d1e7ac04e9e121c9bbced9cb4a7e91d5",
      "title": "Resident Occupational Wages by Sex, June 2024",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_d1e7ac04e9e121c9bbced9cb4a7e91d5/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_d1e7ac04e9e121c9bbced9cb4a7e91d5/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_d1e7ac04e9e121c9bbced9cb4a7e91d5&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: Occupational Wage Survey, Manpower Research & Statistics Department, MOM, supplemented with data from Administrative Records Notes: 1) Data pertain to private sector establishments each with at least 25 employees. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_d1e7ac04e9e121c9bbced9cb4a7e91d5/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9917e751f7498502f70052a940a3f312",
      "slug": "d_9917e751f7498502f70052a940a3f312",
      "title": "Resident Occupational Wages, June 2024",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9917e751f7498502f70052a940a3f312/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9917e751f7498502f70052a940a3f312/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9917e751f7498502f70052a940a3f312&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: Occupational Wage Survey, Manpower Research & Statistics Department, MOM, supplemented with data from Administrative Records Notes: 1) Data pertain to private sector establishments each with at least 25 employees. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9917e751f7498502f70052a940a3f312/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_7d528712f1fd454ac6ca32fe06fe8f12",
      "slug": "d_7d528712f1fd454ac6ca32fe06fe8f12",
      "title": "Resident Occupational Wages by Establishment Size, June 2024",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_7d528712f1fd454ac6ca32fe06fe8f12/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_7d528712f1fd454ac6ca32fe06fe8f12/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_7d528712f1fd454ac6ca32fe06fe8f12&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Source: Occupational Wage Survey, Manpower Research & Statistics Department, MOM, supplemented with data from Administrative Records Notes: 1) Data pertain to private sector establishments each with at least 25 employees. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_7d528712f1fd454ac6ca32fe06fe8f12/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_63cbabdbb47110a3da1a977d2ff8e591",
      "slug": "d_63cbabdbb47110a3da1a977d2ff8e591",
      "title": "Primary Enrolment by Level and Age",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_63cbabdbb47110a3da1a977d2ff8e591/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_63cbabdbb47110a3da1a977d2ff8e591/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_63cbabdbb47110a3da1a977d2ff8e591&limit=10",
      "frequency": null,
      "coverage": "2016-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_63cbabdbb47110a3da1a977d2ff8e591/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b62ae2e0fb4d8a0a01a2468bd0090f1b",
      "slug": "d_b62ae2e0fb4d8a0a01a2468bd0090f1b",
      "title": "Median Duration of Unemployment of Residents Aged 15 Years & Over",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b62ae2e0fb4d8a0a01a2468bd0090f1b/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b62ae2e0fb4d8a0a01a2468bd0090f1b/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b62ae2e0fb4d8a0a01a2468bd0090f1b&limit=10",
      "frequency": null,
      "coverage": "1991-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b62ae2e0fb4d8a0a01a2468bd0090f1b/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_882872bc313ee1418db40b98a1638514",
      "slug": "d_882872bc313ee1418db40b98a1638514",
      "title": "Employed Residents Aged 15 Years & Over by Marital Status, Age and Sex",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_882872bc313ee1418db40b98a1638514/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_882872bc313ee1418db40b98a1638514/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_882872bc313ee1418db40b98a1638514&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_882872bc313ee1418db40b98a1638514/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_43d20c60e5071dfd367d26883f58fdf5",
      "slug": "d_43d20c60e5071dfd367d26883f58fdf5",
      "title": "Employed Residents Aged 15 Years & Over by Highest Qualification Attained, Age And Sex",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_43d20c60e5071dfd367d26883f58fdf5/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_43d20c60e5071dfd367d26883f58fdf5/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_43d20c60e5071dfd367d26883f58fdf5&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_43d20c60e5071dfd367d26883f58fdf5/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_e1197bd23cbb97c06c2ff52d9ec9fdff",
      "slug": "d_e1197bd23cbb97c06c2ff52d9ec9fdff",
      "title": "Employed Residents Aged 15 Years & Over by Employment Status, Age And Sex",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_e1197bd23cbb97c06c2ff52d9ec9fdff/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_e1197bd23cbb97c06c2ff52d9ec9fdff/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_e1197bd23cbb97c06c2ff52d9ec9fdff&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_e1197bd23cbb97c06c2ff52d9ec9fdff/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_e9fc3914dace45ce40b0a7702702f4b2",
      "slug": "d_e9fc3914dace45ce40b0a7702702f4b2",
      "title": "Employed Residents Aged 15 Years & Over by Employment Status, Highest Qualification Attained And Sex",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_e9fc3914dace45ce40b0a7702702f4b2/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_e9fc3914dace45ce40b0a7702702f4b2/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_e9fc3914dace45ce40b0a7702702f4b2&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_e9fc3914dace45ce40b0a7702702f4b2/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_a7ece9330c024a90b258776e69c2ae00",
      "slug": "d_a7ece9330c024a90b258776e69c2ae00",
      "title": "Employed Residents Aged 15 Years & Over by Industry, Age And Sex",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_a7ece9330c024a90b258776e69c2ae00/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_a7ece9330c024a90b258776e69c2ae00/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_a7ece9330c024a90b258776e69c2ae00&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_a7ece9330c024a90b258776e69c2ae00/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_1fb424886ad6498b8805e0b7299c4d6d",
      "slug": "d_1fb424886ad6498b8805e0b7299c4d6d",
      "title": "Employed Residents Aged 15 Years & Over by Industry, Highest Qualification Attained And Sex",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_1fb424886ad6498b8805e0b7299c4d6d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_1fb424886ad6498b8805e0b7299c4d6d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_1fb424886ad6498b8805e0b7299c4d6d&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_1fb424886ad6498b8805e0b7299c4d6d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_af8c941f431b43bb1e71ce9a250acc63",
      "slug": "d_af8c941f431b43bb1e71ce9a250acc63",
      "title": "Employed Residents Aged 15 Years & Over by Industry, Employment Status And Sex",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_af8c941f431b43bb1e71ce9a250acc63/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_af8c941f431b43bb1e71ce9a250acc63/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_af8c941f431b43bb1e71ce9a250acc63&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_af8c941f431b43bb1e71ce9a250acc63/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9392faa714d5e5809b07b10fbff2993e",
      "slug": "d_9392faa714d5e5809b07b10fbff2993e",
      "title": "Employed Residents Aged 15 Years & Over by Occupation, Age And Sex",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Manpower",
      "source": "Ministry of Manpower via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9392faa714d5e5809b07b10fbff2993e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9392faa714d5e5809b07b10fbff2993e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9392faa714d5e5809b07b10fbff2993e&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Manpower via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9392faa714d5e5809b07b10fbff2993e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_f71b15a17a8ce278d3d3d55383f86687",
      "slug": "d_f71b15a17a8ce278d3d3d55383f86687",
      "title": "Air Polluant - Lead",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_f71b15a17a8ce278d3d3d55383f86687/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_f71b15a17a8ce278d3d3d55383f86687/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_f71b15a17a8ce278d3d3d55383f86687&limit=10",
      "frequency": null,
      "coverage": "2006-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Lead annual mean. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_f71b15a17a8ce278d3d3d55383f86687/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_dc29ecdc06f1f2b42c3dd06dd1ab8e6b",
      "slug": "d_dc29ecdc06f1f2b42c3dd06dd1ab8e6b",
      "title": "Air Pollutant - Particulate Matter PM10 (24-hr Mean -99th Percentile)",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_dc29ecdc06f1f2b42c3dd06dd1ab8e6b/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_dc29ecdc06f1f2b42c3dd06dd1ab8e6b/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_dc29ecdc06f1f2b42c3dd06dd1ab8e6b&limit=10",
      "frequency": null,
      "coverage": "2000-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "PM10 24-hr mean (99th percentile). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_dc29ecdc06f1f2b42c3dd06dd1ab8e6b/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_ec484d9610a22c57fa873b14f9baa57a",
      "slug": "d_ec484d9610a22c57fa873b14f9baa57a",
      "title": "Air Pollutant - Sulphur Dioxide (Maximum 24-hour Mean)",
      "category": "Environment & climate",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency",
      "source": "National Environment Agency via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_ec484d9610a22c57fa873b14f9baa57a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_ec484d9610a22c57fa873b14f9baa57a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_ec484d9610a22c57fa873b14f9baa57a&limit=10",
      "frequency": null,
      "coverage": "2000-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "SO2 24-hr mean (max). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_ec484d9610a22c57fa873b14f9baa57a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_fcc28368ec87ef1f03b3e7de05a0c6db",
      "slug": "d_fcc28368ec87ef1f03b3e7de05a0c6db",
      "title": "Healthier Dining Partners - Event Caterers",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Promotion Board",
      "source": "Health Promotion Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_fcc28368ec87ef1f03b3e7de05a0c6db/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_fcc28368ec87ef1f03b3e7de05a0c6db/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_fcc28368ec87ef1f03b3e7de05a0c6db&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Promotion Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_fcc28368ec87ef1f03b3e7de05a0c6db/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c475b9170c08f90580f4041bffd51639",
      "slug": "d_c475b9170c08f90580f4041bffd51639",
      "title": "Healthier Dining Partners - F&B Partners",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Promotion Board",
      "source": "Health Promotion Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c475b9170c08f90580f4041bffd51639/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c475b9170c08f90580f4041bffd51639/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c475b9170c08f90580f4041bffd51639&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Promotion Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c475b9170c08f90580f4041bffd51639/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_cd7fbc766695f997396b96bf93820382",
      "slug": "d_cd7fbc766695f997396b96bf93820382",
      "title": "Healthier Ingredient Development Scheme Partner List",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Promotion Board",
      "source": "Health Promotion Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_cd7fbc766695f997396b96bf93820382/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_cd7fbc766695f997396b96bf93820382/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_cd7fbc766695f997396b96bf93820382&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Promotion Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_cd7fbc766695f997396b96bf93820382/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_503841b8a2c76e8900f8d6395de43873",
      "slug": "d_503841b8a2c76e8900f8d6395de43873",
      "title": "Spending from Statutory and Trust Funds",
      "category": "Finance",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Finance",
      "source": "Ministry of Finance via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_503841b8a2c76e8900f8d6395de43873/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_503841b8a2c76e8900f8d6395de43873/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_503841b8a2c76e8900f8d6395de43873&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "The Financial Year-end and basis of reporting differ across Funds. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Finance via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_503841b8a2c76e8900f8d6395de43873/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9973d2c119ed4dd1560aebf8f0829b86",
      "slug": "d_9973d2c119ed4dd1560aebf8f0829b86",
      "title": "Renovation Contractors who can carry out Renovation works by Company Name",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9973d2c119ed4dd1560aebf8f0829b86/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9973d2c119ed4dd1560aebf8f0829b86/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9973d2c119ed4dd1560aebf8f0829b86&limit=10",
      "frequency": null,
      "coverage": "2020-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9973d2c119ed4dd1560aebf8f0829b86/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_3c55210de27fcccda2ed0c63fdd2b352",
      "slug": "d_3c55210de27fcccda2ed0c63fdd2b352",
      "title": "Graduate Employment Survey - NTU, NUS, SIT, SMU, SUSS & SUTD",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_3c55210de27fcccda2ed0c63fdd2b352/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_3c55210de27fcccda2ed0c63fdd2b352/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_3c55210de27fcccda2ed0c63fdd2b352&limit=10",
      "frequency": null,
      "coverage": "2013-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "The Graduate Employment Survey (GES) is jointly conducted by NTU, NUS, SMU, SIT (from 2014), SUTD (from 2015) and SUSS (from 2018) annually to survey the employment conditions of graduates about six months after their fi. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_3c55210de27fcccda2ed0c63fdd2b352/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_d6cd701a67607ac9d4f3d469d8c815e5",
      "slug": "d_d6cd701a67607ac9d4f3d469d8c815e5",
      "title": "Government Operating Revenue",
      "category": "Finance",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Finance",
      "source": "Ministry of Finance via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_d6cd701a67607ac9d4f3d469d8c815e5/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_d6cd701a67607ac9d4f3d469d8c815e5/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_d6cd701a67607ac9d4f3d469d8c815e5&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Operating Revenue refers to Government receipts credited to the Consolidated Revenue Account and Development Fund Account, excluding Investment and Interest Income, and Capital Receipts (lumpy and less regular in timing). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Finance via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_d6cd701a67607ac9d4f3d469d8c815e5/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_2ceefcf18f04feba153b9768652be854",
      "slug": "d_2ceefcf18f04feba153b9768652be854",
      "title": "Government Manpower",
      "category": "Work & income",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Finance",
      "source": "Ministry of Finance via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_2ceefcf18f04feba153b9768652be854/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_2ceefcf18f04feba153b9768652be854/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_2ceefcf18f04feba153b9768652be854&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Establishment figures reflect the number of authorised manpower in the Ministries and Organs of State. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Finance via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_2ceefcf18f04feba153b9768652be854/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_60410de1bc1e63ddcf51a619081b11b3",
      "slug": "d_60410de1bc1e63ddcf51a619081b11b3",
      "title": "Vessel Calls (>75 GT), Annual",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_60410de1bc1e63ddcf51a619081b11b3/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_60410de1bc1e63ddcf51a619081b11b3/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_60410de1bc1e63ddcf51a619081b11b3&limit=10",
      "frequency": null,
      "coverage": "1995-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the annual number of vessel calls (>75 GT) and shipping tonnage by purpose. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_60410de1bc1e63ddcf51a619081b11b3/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8392e9bea6ca351a38f67172ccdf6a6a",
      "slug": "d_8392e9bea6ca351a38f67172ccdf6a6a",
      "title": "Vessel Arrivals (>75 GT) Total, Annual Data",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8392e9bea6ca351a38f67172ccdf6a6a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8392e9bea6ca351a38f67172ccdf6a6a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8392e9bea6ca351a38f67172ccdf6a6a&limit=10",
      "frequency": null,
      "coverage": "1995-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the annual number of vessel arrivals (>75 GT) and shipping tonnage by type. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8392e9bea6ca351a38f67172ccdf6a6a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b0c64c019b252698a9f1a222dcf9e0a6",
      "slug": "d_b0c64c019b252698a9f1a222dcf9e0a6",
      "title": "Vessel Arrivals (>75 GT) Breakdown, Annual Data",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b0c64c019b252698a9f1a222dcf9e0a6/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b0c64c019b252698a9f1a222dcf9e0a6/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b0c64c019b252698a9f1a222dcf9e0a6&limit=10",
      "frequency": null,
      "coverage": "1995-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the annual number of vessel arrivals (>75 GT) and shipping tonnage by type. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b0c64c019b252698a9f1a222dcf9e0a6/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_eb1c7c0c9ee013f9be42cc8abf523326",
      "slug": "d_eb1c7c0c9ee013f9be42cc8abf523326",
      "title": "Tanker Arrivals Total, Annual Data",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_eb1c7c0c9ee013f9be42cc8abf523326/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_eb1c7c0c9ee013f9be42cc8abf523326/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_eb1c7c0c9ee013f9be42cc8abf523326&limit=10",
      "frequency": null,
      "coverage": "2002-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "This dataset shows the annual number of tanker arrivals (>75 GT) and shipping tonnage by type. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_eb1c7c0c9ee013f9be42cc8abf523326/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_1714a141d8bbf1996965eb3f71565525",
      "slug": "d_1714a141d8bbf1996965eb3f71565525",
      "title": "Tanker Arrivals Breakdown, Annual Data",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_1714a141d8bbf1996965eb3f71565525/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_1714a141d8bbf1996965eb3f71565525/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_1714a141d8bbf1996965eb3f71565525&limit=10",
      "frequency": null,
      "coverage": "2002-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "This dataset shows the annual number of tanker arrivals (>75 GT) and shipping tonnage by type. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_1714a141d8bbf1996965eb3f71565525/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_0c586210d33756a56ef6213078e749aa",
      "slug": "d_0c586210d33756a56ef6213078e749aa",
      "title": "Registered Vessels and Shipping Tonnage, Annual",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_0c586210d33756a56ef6213078e749aa/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_0c586210d33756a56ef6213078e749aa/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_0c586210d33756a56ef6213078e749aa&limit=10",
      "frequency": null,
      "coverage": "1995-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the annual total number of registered vessels and shipping tonnage as at end of the period. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_0c586210d33756a56ef6213078e749aa/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_085682b824700b4e88d946529f503da0",
      "slug": "d_085682b824700b4e88d946529f503da0",
      "title": "Container Throughput, Annual",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_085682b824700b4e88d946529f503da0/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_085682b824700b4e88d946529f503da0/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_085682b824700b4e88d946529f503da0&limit=10",
      "frequency": null,
      "coverage": "1995-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the annual container throughput in twenty-foot equivalent units. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_085682b824700b4e88d946529f503da0/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_8ab8d71a6bf44097889dd6a3b4258928",
      "slug": "d_8ab8d71a6bf44097889dd6a3b4258928",
      "title": "Cargo Throughput Total, Annual Data",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_8ab8d71a6bf44097889dd6a3b4258928/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_8ab8d71a6bf44097889dd6a3b4258928/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_8ab8d71a6bf44097889dd6a3b4258928&limit=10",
      "frequency": null,
      "coverage": "1995-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the annual total cargo throughput by type. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_8ab8d71a6bf44097889dd6a3b4258928/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_a30479ad55e045bcaffacf587d05966c",
      "slug": "d_a30479ad55e045bcaffacf587d05966c",
      "title": "Cargo Throughput Breakdown, Annual Data",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Maritime and Port Authority of Singapore",
      "source": "Maritime and Port Authority of Singapore via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_a30479ad55e045bcaffacf587d05966c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_a30479ad55e045bcaffacf587d05966c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_a30479ad55e045bcaffacf587d05966c&limit=10",
      "frequency": null,
      "coverage": "1995-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Dataset shows the annual total cargo throughput by type. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Maritime and Port Authority of Singapore via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_a30479ad55e045bcaffacf587d05966c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_0f0800a6b2b4b391daffcd88b2cc97fd",
      "slug": "d_0f0800a6b2b4b391daffcd88b2cc97fd",
      "title": "Government Fiscal Position",
      "category": "Finance",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Finance",
      "source": "Ministry of Finance via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_0f0800a6b2b4b391daffcd88b2cc97fd/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_0f0800a6b2b4b391daffcd88b2cc97fd/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_0f0800a6b2b4b391daffcd88b2cc97fd&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Operating Revenue refers to Government receipts credited to the Consolidated Revenue Account and Development Fund Account, excluding Investment and Interest Income, and Capital Receipts (lumpy and less regular in timing). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Finance via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_0f0800a6b2b4b391daffcd88b2cc97fd/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_6a804a6860b5c51af08df679a71bc190",
      "slug": "d_6a804a6860b5c51af08df679a71bc190",
      "title": "Government Expenditure by Type",
      "category": "Finance",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Finance",
      "source": "Ministry of Finance via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_6a804a6860b5c51af08df679a71bc190/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_6a804a6860b5c51af08df679a71bc190/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_6a804a6860b5c51af08df679a71bc190&limit=10",
      "frequency": null,
      "coverage": "1997-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Total Expenditure comprises Operating and Development Expenditure. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Finance via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_6a804a6860b5c51af08df679a71bc190/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bc8c27921eb15f6325d1553671449139",
      "slug": "d_bc8c27921eb15f6325d1553671449139",
      "title": "Tier 2 Vulnerable Adult Self-Neglect Data by Age and Sex (Domestic Violence Trends Report)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bc8c27921eb15f6325d1553671449139/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bc8c27921eb15f6325d1553671449139/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bc8c27921eb15f6325d1553671449139&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Breakdown of Tier 2 Vulnerable Adult self-neglect cases by age and sex overseen by MSF Protective Service. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bc8c27921eb15f6325d1553671449139/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9419d6600e2cb35e45b52964be76ed4e",
      "slug": "d_9419d6600e2cb35e45b52964be76ed4e",
      "title": "Incidence rates of new Tier 2 Vulnerable Adult self-neglect cases per 1,000 vulnerable population aged 18 years and abov",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9419d6600e2cb35e45b52964be76ed4e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9419d6600e2cb35e45b52964be76ed4e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9419d6600e2cb35e45b52964be76ed4e&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Incidence rates of new Tier 2 Vulnerable Adult self-neglect cases (per 1,000 vulnerable population aged 18 years and above). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9419d6600e2cb35e45b52964be76ed4e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_35d0a8fba77b2e411629f7fed906328a",
      "slug": "d_35d0a8fba77b2e411629f7fed906328a",
      "title": "Tier 2 non-elderly Vulnerable Adult abuse cases by Sex and Type of Abuse (Domestic Violence Trends Report)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_35d0a8fba77b2e411629f7fed906328a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_35d0a8fba77b2e411629f7fed906328a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_35d0a8fba77b2e411629f7fed906328a&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Breakdown of Tier 2 non-elderly Vulnerable Adult abuse cases by sex and type of abuse overseen by MSF Protective Service. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_35d0a8fba77b2e411629f7fed906328a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bce95b79ba198c25b078784063c79ab5",
      "slug": "d_bce95b79ba198c25b078784063c79ab5",
      "title": "Tier 2 non-elderly Vulnerable Adult Abuse Data by Age and Type of Abuse (Domestic Violence Trends Report)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bce95b79ba198c25b078784063c79ab5/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bce95b79ba198c25b078784063c79ab5/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bce95b79ba198c25b078784063c79ab5&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Breakdown of Tier 2 non-elderly Vulnerable Adult abuse cases by age and type of abuse overseen by MSF Protective Service. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bce95b79ba198c25b078784063c79ab5/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_0d08a4ca61abb6bce2291f359b047808",
      "slug": "d_0d08a4ca61abb6bce2291f359b047808",
      "title": "Tier 2 non-elderly Vulnerable Adult Abuse Data by Age and Sex (Domestic Violence Trends Report)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_0d08a4ca61abb6bce2291f359b047808/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_0d08a4ca61abb6bce2291f359b047808/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_0d08a4ca61abb6bce2291f359b047808&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Breakdown of Tier 2 non-elderly Vulnerable Adult abuse cases by age and sex overseen by MSF Protective Service. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_0d08a4ca61abb6bce2291f359b047808/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_71daf4b9690a30c37fa343bfe316d9f1",
      "slug": "d_71daf4b9690a30c37fa343bfe316d9f1",
      "title": "Incidence rates of new Tier 2 non-elderly Vulnerable Adult abuse cases per 1,000 vulnerable population aged 18-64 years ",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_71daf4b9690a30c37fa343bfe316d9f1/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_71daf4b9690a30c37fa343bfe316d9f1/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_71daf4b9690a30c37fa343bfe316d9f1&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Incidence rates of new Tier 2 non-elderly Vulnerable Adult abuse cases (per 1,000 vulnerable population aged 18-64 years). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_71daf4b9690a30c37fa343bfe316d9f1/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_ba4f530a537ff032df6ea3a10ff417cc",
      "slug": "d_ba4f530a537ff032df6ea3a10ff417cc",
      "title": "Tier 2 elderly Vulnerable Adult abuse cases by Sex and Type of Abuse (Domestic Violence Trends Report)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_ba4f530a537ff032df6ea3a10ff417cc/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_ba4f530a537ff032df6ea3a10ff417cc/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_ba4f530a537ff032df6ea3a10ff417cc&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Breakdown of Tier 2 elderly Vulnerable Adult abuse cases by sex and type of abuse overseen by MSF Protective Service. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_ba4f530a537ff032df6ea3a10ff417cc/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_3a6a142859398cd6b14f8a071b8f4cf3",
      "slug": "d_3a6a142859398cd6b14f8a071b8f4cf3",
      "title": "Incidence rates of new Tier 2 elderly Vulnerable Adult abuse cases per 1,000 vulnerable elderly (Domestic Violence Trend",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_3a6a142859398cd6b14f8a071b8f4cf3/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_3a6a142859398cd6b14f8a071b8f4cf3/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_3a6a142859398cd6b14f8a071b8f4cf3&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Incidence rates of new Tier 2 elderly Vulnerable Adult abuse cases (per 1,000 vulnerable elderly). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_3a6a142859398cd6b14f8a071b8f4cf3/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_0e83a60152fd6e5a3a763a27ff41a71f",
      "slug": "d_0e83a60152fd6e5a3a763a27ff41a71f",
      "title": "Tier 2 Child Abuse Data by Sex and Type of Abuse (Domestic Violence Trends Report)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_0e83a60152fd6e5a3a763a27ff41a71f/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_0e83a60152fd6e5a3a763a27ff41a71f/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_0e83a60152fd6e5a3a763a27ff41a71f&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Breakdown of new child abuse cases investigated by MSF Protective Service by sex and type of abuse. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_0e83a60152fd6e5a3a763a27ff41a71f/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_a2bfd93915331b2f4ddb40f5ace01202",
      "slug": "d_a2bfd93915331b2f4ddb40f5ace01202",
      "title": "Tier 2 Child Abuse Data by Age and Type of Abuse (Domestic Violence Trends Report)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_a2bfd93915331b2f4ddb40f5ace01202/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_a2bfd93915331b2f4ddb40f5ace01202/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_a2bfd93915331b2f4ddb40f5ace01202&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Breakdown of new child abuse cases investigated by MSF Protective Service by age and type of abuse. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_a2bfd93915331b2f4ddb40f5ace01202/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_4593e1723b33ed73f030c8752ed0692c",
      "slug": "d_4593e1723b33ed73f030c8752ed0692c",
      "title": "Tier 2 Child Abuse Data by Age and Sex (Domestic Violence Trends Report)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_4593e1723b33ed73f030c8752ed0692c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_4593e1723b33ed73f030c8752ed0692c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_4593e1723b33ed73f030c8752ed0692c&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Breakdown of new child abuse cases investigated by MSF Protective Service by age and sex. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_4593e1723b33ed73f030c8752ed0692c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bdd470184d51452b63ffecab6e1d98a9",
      "slug": "d_bdd470184d51452b63ffecab6e1d98a9",
      "title": "Incidence rates of new Tier 2 child abuse cases per 1,000 children (Domestic Violence Trends Report)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bdd470184d51452b63ffecab6e1d98a9/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bdd470184d51452b63ffecab6e1d98a9/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bdd470184d51452b63ffecab6e1d98a9&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Incidence rates of new Tier 2 child abuse cases investigated by MSF Protective Service (per 1,000 children). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bdd470184d51452b63ffecab6e1d98a9/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_a36974dce5a2a67eba37fe5ae108b9c4",
      "slug": "d_a36974dce5a2a67eba37fe5ae108b9c4",
      "title": "Tier 1 Child Abuse Data by Age and Sex (Domestic Violence Trends Report 2025)",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_a36974dce5a2a67eba37fe5ae108b9c4/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_a36974dce5a2a67eba37fe5ae108b9c4/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_a36974dce5a2a67eba37fe5ae108b9c4&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "No. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_a36974dce5a2a67eba37fe5ae108b9c4/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_1318486490fc19960ca536deeb07d26e",
      "slug": "d_1318486490fc19960ca536deeb07d26e",
      "title": "Tier 1 Elder Abuse Data (Domestic Violence Trends Report 2025)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_1318486490fc19960ca536deeb07d26e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_1318486490fc19960ca536deeb07d26e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_1318486490fc19960ca536deeb07d26e&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "No. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_1318486490fc19960ca536deeb07d26e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_ff8736f1378011003c0f8a35f9ff9c1e",
      "slug": "d_ff8736f1378011003c0f8a35f9ff9c1e",
      "title": "Tier 1 Spousal Abuse Data (Domestic Violence Trends Report 2025)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_ff8736f1378011003c0f8a35f9ff9c1e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_ff8736f1378011003c0f8a35f9ff9c1e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_ff8736f1378011003c0f8a35f9ff9c1e&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "No. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_ff8736f1378011003c0f8a35f9ff9c1e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_cc84fc751ef5106d9e26cfdbf61776c8",
      "slug": "d_cc84fc751ef5106d9e26cfdbf61776c8",
      "title": "Secondary Enrolment by Level and Age",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_cc84fc751ef5106d9e26cfdbf61776c8/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_cc84fc751ef5106d9e26cfdbf61776c8/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_cc84fc751ef5106d9e26cfdbf61776c8&limit=10",
      "frequency": null,
      "coverage": "2016-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_cc84fc751ef5106d9e26cfdbf61776c8/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c37a83ab34cdb0a732a40415cbf33c3a",
      "slug": "d_c37a83ab34cdb0a732a40415cbf33c3a",
      "title": "Pre-University Enrolment by Level and Age",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c37a83ab34cdb0a732a40415cbf33c3a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c37a83ab34cdb0a732a40415cbf33c3a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c37a83ab34cdb0a732a40415cbf33c3a&limit=10",
      "frequency": null,
      "coverage": "2016-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "1. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c37a83ab34cdb0a732a40415cbf33c3a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c2b211174c4e0f546b4d8e92c6aaf365",
      "slug": "d_c2b211174c4e0f546b4d8e92c6aaf365",
      "title": "Number of approved applications for financial assistance measures by financial year",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c2b211174c4e0f546b4d8e92c6aaf365/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c2b211174c4e0f546b4d8e92c6aaf365/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c2b211174c4e0f546b4d8e92c6aaf365&limit=10",
      "frequency": null,
      "coverage": "2008-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c2b211174c4e0f546b4d8e92c6aaf365/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c47771d51ac7d86ac300835b27848ff0",
      "slug": "d_c47771d51ac7d86ac300835b27848ff0",
      "title": "Applications registered for resale flats and rental flats",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c47771d51ac7d86ac300835b27848ff0/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c47771d51ac7d86ac300835b27848ff0/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c47771d51ac7d86ac300835b27848ff0&limit=10",
      "frequency": null,
      "coverage": "2007-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c47771d51ac7d86ac300835b27848ff0/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_38ec7e5cd735d597ab85765d2ef1a39b",
      "slug": "d_38ec7e5cd735d597ab85765d2ef1a39b",
      "title": "Number of applications for HDB Loan Eligibility Letters",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_38ec7e5cd735d597ab85765d2ef1a39b/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_38ec7e5cd735d597ab85765d2ef1a39b/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_38ec7e5cd735d597ab85765d2ef1a39b&limit=10",
      "frequency": null,
      "coverage": "2008-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_38ec7e5cd735d597ab85765d2ef1a39b/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_a223380e5856cf06f7eac223e5902230",
      "slug": "d_a223380e5856cf06f7eac223e5902230",
      "title": "CPF Housing Grants Awarded by Type",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_a223380e5856cf06f7eac223e5902230/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_a223380e5856cf06f7eac223e5902230/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_a223380e5856cf06f7eac223e5902230&limit=10",
      "frequency": null,
      "coverage": "2010-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_a223380e5856cf06f7eac223e5902230/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_20cd92e4e74c8b9cadd618b6bb414eac",
      "slug": "d_20cd92e4e74c8b9cadd618b6bb414eac",
      "title": "Secondary Enrolment By Age",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_20cd92e4e74c8b9cadd618b6bb414eac/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_20cd92e4e74c8b9cadd618b6bb414eac/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_20cd92e4e74c8b9cadd618b6bb414eac&limit=10",
      "frequency": null,
      "coverage": "1984-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "(1) Includes Government, Government-Aided, Independent, Specialised Independent and Specialised schools. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_20cd92e4e74c8b9cadd618b6bb414eac/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_4b69ac0ff084e96f03197ad346248918",
      "slug": "d_4b69ac0ff084e96f03197ad346248918",
      "title": "Completion Status of HDB Commercial Developments",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_4b69ac0ff084e96f03197ad346248918/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_4b69ac0ff084e96f03197ad346248918/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_4b69ac0ff084e96f03197ad346248918&limit=10",
      "frequency": null,
      "coverage": "2007-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_4b69ac0ff084e96f03197ad346248918/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_07561cf169a8608fd97c5a6eb112ba60",
      "slug": "d_07561cf169a8608fd97c5a6eb112ba60",
      "title": "Cumulative Shops and Recreational Facilities Completed Since 1960",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_07561cf169a8608fd97c5a6eb112ba60/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_07561cf169a8608fd97c5a6eb112ba60/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_07561cf169a8608fd97c5a6eb112ba60&limit=10",
      "frequency": null,
      "coverage": "2008-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_07561cf169a8608fd97c5a6eb112ba60/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_67966e5fd5dce14cf9fa5f0bc5164faf",
      "slug": "d_67966e5fd5dce14cf9fa5f0bc5164faf",
      "title": "Number of Sold and Rented HDB Residential Units",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_67966e5fd5dce14cf9fa5f0bc5164faf/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_67966e5fd5dce14cf9fa5f0bc5164faf/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_67966e5fd5dce14cf9fa5f0bc5164faf&limit=10",
      "frequency": null,
      "coverage": "2006-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Flats are considered sold only when keys are issued to the applicants. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_67966e5fd5dce14cf9fa5f0bc5164faf/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_5f446ba7edac1ef0e606195606a41a6a",
      "slug": "d_5f446ba7edac1ef0e606195606a41a6a",
      "title": "Cumulative HDB, Government or Institutional Facilities Completed Since 1960",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_5f446ba7edac1ef0e606195606a41a6a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_5f446ba7edac1ef0e606195606a41a6a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_5f446ba7edac1ef0e606195606a41a6a&limit=10",
      "frequency": null,
      "coverage": "2008-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "From 2012, Community Centres/Clubs was renamed as Community Centres (void decks) to better refer to the community centres that are built by HDB which are located in HDB void decks. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_5f446ba7edac1ef0e606195606a41a6a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_9bbcd0c9b0351c7f41c9bfdcdc746668",
      "slug": "d_9bbcd0c9b0351c7f41c9bfdcdc746668",
      "title": "Completion Status of HDB Residential Units by Town/Estate",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_9bbcd0c9b0351c7f41c9bfdcdc746668/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_9bbcd0c9b0351c7f41c9bfdcdc746668/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_9bbcd0c9b0351c7f41c9bfdcdc746668&limit=10",
      "frequency": null,
      "coverage": "2008-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_9bbcd0c9b0351c7f41c9bfdcdc746668/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_007b79018e47094e8cd62bf6f6d9ed8e",
      "slug": "d_007b79018e47094e8cd62bf6f6d9ed8e",
      "title": "Cumulative HDB Commercial Properties Completed Since 1960",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_007b79018e47094e8cd62bf6f6d9ed8e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_007b79018e47094e8cd62bf6f6d9ed8e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_007b79018e47094e8cd62bf6f6d9ed8e&limit=10",
      "frequency": null,
      "coverage": "2008-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_007b79018e47094e8cd62bf6f6d9ed8e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_caa8f8f91cb000f4b2c4a52fd22d516c",
      "slug": "d_caa8f8f91cb000f4b2c4a52fd22d516c",
      "title": "Cumulative Dwelling Units Completed Since 1960",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Housing & Development Board",
      "source": "Housing & Development Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_caa8f8f91cb000f4b2c4a52fd22d516c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_caa8f8f91cb000f4b2c4a52fd22d516c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_caa8f8f91cb000f4b2c4a52fd22d516c&limit=10",
      "frequency": null,
      "coverage": "2008-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Data refers to dwelling units constructed by HDB and dwelling units constructed by private developers under the Design, Build and Sell Scheme (DBSS). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Housing & Development Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_caa8f8f91cb000f4b2c4a52fd22d516c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_dcda79be4aded5f9e769b8e23ff69b47",
      "slug": "d_dcda79be4aded5f9e769b8e23ff69b47",
      "title": "Listing of Registered Contractors",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Building and Construction Authority",
      "source": "Building and Construction Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_dcda79be4aded5f9e769b8e23ff69b47/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_dcda79be4aded5f9e769b8e23ff69b47/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_dcda79be4aded5f9e769b8e23ff69b47&limit=10",
      "frequency": null,
      "coverage": "2025-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Listing of Registered Contractors. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Building and Construction Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_dcda79be4aded5f9e769b8e23ff69b47/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_19573c579879be15623f2e1e3854926d",
      "slug": "d_19573c579879be15623f2e1e3854926d",
      "title": "Listing of Licensed Builders",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Building and Construction Authority",
      "source": "Building and Construction Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_19573c579879be15623f2e1e3854926d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_19573c579879be15623f2e1e3854926d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_19573c579879be15623f2e1e3854926d&limit=10",
      "frequency": null,
      "coverage": "2025-2026",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Listing of Licensed Builders. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Building and Construction Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_19573c579879be15623f2e1e3854926d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_a347a40f7b073e56227a29eb3c9387ff",
      "slug": "d_a347a40f7b073e56227a29eb3c9387ff",
      "title": "Listing of Public Sector Panels of Consultants",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Building and Construction Authority",
      "source": "Building and Construction Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_a347a40f7b073e56227a29eb3c9387ff/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_a347a40f7b073e56227a29eb3c9387ff/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_a347a40f7b073e56227a29eb3c9387ff&limit=10",
      "frequency": null,
      "coverage": "2025-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Listing of Public Sector Panels of Consultants. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Building and Construction Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_a347a40f7b073e56227a29eb3c9387ff/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_82ad188aa90781534e972334c201fd7d",
      "slug": "d_82ad188aa90781534e972334c201fd7d",
      "title": "Students In Schools - Primary Schools",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_82ad188aa90781534e972334c201fd7d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_82ad188aa90781534e972334c201fd7d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_82ad188aa90781534e972334c201fd7d&limit=10",
      "frequency": null,
      "coverage": "1980-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_82ad188aa90781534e972334c201fd7d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_190a5d7d5a612705bf13bb4cc37fc34e",
      "slug": "d_190a5d7d5a612705bf13bb4cc37fc34e",
      "title": "Number of Pre-University schools by level and type",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_190a5d7d5a612705bf13bb4cc37fc34e/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_190a5d7d5a612705bf13bb4cc37fc34e/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_190a5d7d5a612705bf13bb4cc37fc34e&limit=10",
      "frequency": null,
      "coverage": "1999-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "(1) Mixed Level schools comprise Primary & Secondary schools (P1-S4/5) and Secondary & Junior College schools (S1-JC2 or S3-JC2). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_190a5d7d5a612705bf13bb4cc37fc34e/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_ba2e1015fb724a04877e289fcaf7c415",
      "slug": "d_ba2e1015fb724a04877e289fcaf7c415",
      "title": "Number of Mixed Level Schools by Level and Type",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_ba2e1015fb724a04877e289fcaf7c415/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_ba2e1015fb724a04877e289fcaf7c415/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_ba2e1015fb724a04877e289fcaf7c415&limit=10",
      "frequency": null,
      "coverage": "1999-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "(1) Mixed Level schools comprise Primary & Secondary schools (P1-S4/5) and Secondary & Junior College schools (S1-JC2 or S3-JC2). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_ba2e1015fb724a04877e289fcaf7c415/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_041568b8e59c3cba17a178a68d4dcb7c",
      "slug": "d_041568b8e59c3cba17a178a68d4dcb7c",
      "title": "Number of Secondary Schools by Level and Type",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_041568b8e59c3cba17a178a68d4dcb7c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_041568b8e59c3cba17a178a68d4dcb7c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_041568b8e59c3cba17a178a68d4dcb7c&limit=10",
      "frequency": null,
      "coverage": "1999-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "(1) Mixed Level schools comprise Primary & Secondary schools (P1-S4/5) and Secondary & Junior College schools (S1-JC2 or S3-JC2). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_041568b8e59c3cba17a178a68d4dcb7c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_217c93afee788f476404c42fe4de0249",
      "slug": "d_217c93afee788f476404c42fe4de0249",
      "title": "Number of Primary Schools by Level and Type",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_217c93afee788f476404c42fe4de0249/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_217c93afee788f476404c42fe4de0249/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_217c93afee788f476404c42fe4de0249&limit=10",
      "frequency": null,
      "coverage": "1999-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "(1) Mixed Level schools comprise Primary & Secondary schools (P1-S4/5) and Secondary & Junior College schools (S1-JC2 or S3-JC2). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_217c93afee788f476404c42fe4de0249/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_ee8c56dc61e074a695f6dab0da546dfe",
      "slug": "d_ee8c56dc61e074a695f6dab0da546dfe",
      "title": "Students In Schools - Pre-University",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_ee8c56dc61e074a695f6dab0da546dfe/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_ee8c56dc61e074a695f6dab0da546dfe/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_ee8c56dc61e074a695f6dab0da546dfe&limit=10",
      "frequency": null,
      "coverage": "1981-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "(1) Pre-University includes Junior Colleges, Centralised Institute and Pre-U centres. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_ee8c56dc61e074a695f6dab0da546dfe/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_485ba9d40c6270a9ac1baf20e80d3e98",
      "slug": "d_485ba9d40c6270a9ac1baf20e80d3e98",
      "title": "Students In Schools - Secondary Schools",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_485ba9d40c6270a9ac1baf20e80d3e98/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_485ba9d40c6270a9ac1baf20e80d3e98/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_485ba9d40c6270a9ac1baf20e80d3e98&limit=10",
      "frequency": null,
      "coverage": "1981-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "(1) Since 2008, Autonomous schools have been grouped under Government and Government-Aided schools. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_485ba9d40c6270a9ac1baf20e80d3e98/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bb5f828263a942a9af869eccf9b0068d",
      "slug": "d_bb5f828263a942a9af869eccf9b0068d",
      "title": "Number of Classes and Class Size by Level",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bb5f828263a942a9af869eccf9b0068d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bb5f828263a942a9af869eccf9b0068d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bb5f828263a942a9af869eccf9b0068d&limit=10",
      "frequency": null,
      "coverage": "1982-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "(1) Class size is the average number of students per class, calculated by dividing the number of students enrolled by the number of classes in that level. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bb5f828263a942a9af869eccf9b0068d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c60f4952deb240f91b4c966544271197",
      "slug": "d_c60f4952deb240f91b4c966544271197",
      "title": "Secondary Enrolment by Level and Course",
      "category": "Education",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Education",
      "source": "Ministry of Education via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c60f4952deb240f91b4c966544271197/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c60f4952deb240f91b4c966544271197/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c60f4952deb240f91b4c966544271197&limit=10",
      "frequency": null,
      "coverage": "1980-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "(1) As cohorts progress over the years, the numbers across courses may fluctuate as students have opportunities to transfer laterally across courses. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Education via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c60f4952deb240f91b4c966544271197/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b2d044a38a87a3f04d1802103b27f1bb",
      "slug": "d_b2d044a38a87a3f04d1802103b27f1bb",
      "title": "Monthly Concession Passes (Dollars) (Effective 27 December 2025)",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Public Transport Council",
      "source": "Public Transport Council via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b2d044a38a87a3f04d1802103b27f1bb/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b2d044a38a87a3f04d1802103b27f1bb/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b2d044a38a87a3f04d1802103b27f1bb&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Public Transport Council via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b2d044a38a87a3f04d1802103b27f1bb/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_828dcf144fe4f82c85c53d15a19e920f",
      "slug": "d_828dcf144fe4f82c85c53d15a19e920f",
      "title": "Fares for Trunk Bus Services (Cents) (Effective 27 December 2025)",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Public Transport Council",
      "source": "Public Transport Council via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_828dcf144fe4f82c85c53d15a19e920f/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_828dcf144fe4f82c85c53d15a19e920f/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_828dcf144fe4f82c85c53d15a19e920f&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Public Transport Council via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_828dcf144fe4f82c85c53d15a19e920f/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_5c9bcc72089fb094f654ebf10854feda",
      "slug": "d_5c9bcc72089fb094f654ebf10854feda",
      "title": "Fares for Feeder Bus Services (Cents) (Effective 27 December 2025)",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Public Transport Council",
      "source": "Public Transport Council via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_5c9bcc72089fb094f654ebf10854feda/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_5c9bcc72089fb094f654ebf10854feda/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_5c9bcc72089fb094f654ebf10854feda&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Public Transport Council via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_5c9bcc72089fb094f654ebf10854feda/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_2ca29f673b89e0cfddbb7c74516fa4d3",
      "slug": "d_2ca29f673b89e0cfddbb7c74516fa4d3",
      "title": "Fares for MRT and LRT (Cents) (Effective 27 December 2025)",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Public Transport Council",
      "source": "Public Transport Council via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_2ca29f673b89e0cfddbb7c74516fa4d3/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_2ca29f673b89e0cfddbb7c74516fa4d3/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_2ca29f673b89e0cfddbb7c74516fa4d3&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Public Transport Council via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_2ca29f673b89e0cfddbb7c74516fa4d3/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bf2ed06b8fcda382b0f83133b174e07f",
      "slug": "d_bf2ed06b8fcda382b0f83133b174e07f",
      "title": "Fares for Express Bus Services (Cents) (Effective 27 December 2025)",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Public Transport Council",
      "source": "Public Transport Council via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bf2ed06b8fcda382b0f83133b174e07f/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bf2ed06b8fcda382b0f83133b174e07f/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bf2ed06b8fcda382b0f83133b174e07f&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Public Transport Council via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bf2ed06b8fcda382b0f83133b174e07f/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_e89cd21c636e5b7588b73cec0090de00",
      "slug": "d_e89cd21c636e5b7588b73cec0090de00",
      "title": "Breakdown by Use of SLA Managed Properties",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_e89cd21c636e5b7588b73cec0090de00/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_e89cd21c636e5b7588b73cec0090de00/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_e89cd21c636e5b7588b73cec0090de00&limit=10",
      "frequency": null,
      "coverage": "2011-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview of the estimated gross floor area breakdown by residential, commercial, industrial, social/civic insittution and vacant properties manged by SLA in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_e89cd21c636e5b7588b73cec0090de00/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_0c31f4f020f352c9c0c2b120d352b456",
      "slug": "d_0c31f4f020f352c9c0c2b120d352b456",
      "title": "Electronic Searches (DIPS, STARS)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority",
      "source": "Singapore Land Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_0c31f4f020f352c9c0c2b120d352b456/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_0c31f4f020f352c9c0c2b120d352b456/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_0c31f4f020f352c9c0c2b120d352b456&limit=10",
      "frequency": null,
      "coverage": "2008-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Overview of the number of electronic searches for Document Imaging and Processing System (DIPS) and Singapore Titles Automated Registration System (STARS) in aggregate form. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Singapore Land Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_0c31f4f020f352c9c0c2b120d352b456/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_66c194105cb00ce79a024b0221ab055a",
      "slug": "d_66c194105cb00ce79a024b0221ab055a",
      "title": "Hospital Admission Rate by Sex",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_66c194105cb00ce79a024b0221ab055a/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_66c194105cb00ce79a024b0221ab055a/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_66c194105cb00ce79a024b0221ab055a&limit=10",
      "frequency": null,
      "coverage": "2009-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Hospital Admission Rate by Sex. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_66c194105cb00ce79a024b0221ab055a/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_dd32a9abff167b63efc11fb2f25cb341",
      "slug": "d_dd32a9abff167b63efc11fb2f25cb341",
      "title": "Hospital Admission Rate by Age and Sex",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_dd32a9abff167b63efc11fb2f25cb341/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_dd32a9abff167b63efc11fb2f25cb341/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_dd32a9abff167b63efc11fb2f25cb341&limit=10",
      "frequency": null,
      "coverage": "2009-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Hospital Admission Rate by Age and Sex. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_dd32a9abff167b63efc11fb2f25cb341/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_2fcb043ef09016ae757bc396cd8f5027",
      "slug": "d_2fcb043ef09016ae757bc396cd8f5027",
      "title": "Total Annual New Registration By Make",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_2fcb043ef09016ae757bc396cd8f5027/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_2fcb043ef09016ae757bc396cd8f5027/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_2fcb043ef09016ae757bc396cd8f5027&limit=10",
      "frequency": null,
      "coverage": "2005-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Figures include all cars exempted from tax or the Vehicle Quota System. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_2fcb043ef09016ae757bc396cd8f5027/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_d3f4d708e1d0a37b4365414e2fad3a07",
      "slug": "d_d3f4d708e1d0a37b4365414e2fad3a07",
      "title": "New Registration of Cars by Make",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_d3f4d708e1d0a37b4365414e2fad3a07/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_d3f4d708e1d0a37b4365414e2fad3a07/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_d3f4d708e1d0a37b4365414e2fad3a07&limit=10",
      "frequency": null,
      "coverage": "2016-2025",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Monthly New Car Registrations in Singapore by Make (2016–2025) shows the number of newly registered cars in Singapore by make, fuel type, importer type, and vehicle type, from January 2016 to May 2025. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_d3f4d708e1d0a37b4365414e2fad3a07/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_75248cf2fbf340de6a746dc91ec9223c",
      "slug": "d_75248cf2fbf340de6a746dc91ec9223c",
      "title": "Public Transport Utilisation - Average Public Transport Ridership",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_75248cf2fbf340de6a746dc91ec9223c/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_75248cf2fbf340de6a746dc91ec9223c/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_75248cf2fbf340de6a746dc91ec9223c&limit=10",
      "frequency": null,
      "coverage": "1995-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Public Transport Ridership in Singapore (1995–2024) provides the average daily ridership for MRT, LRT, and public buses in Singapore from 1995 to 2024. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_75248cf2fbf340de6a746dc91ec9223c/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_20d3fc7f08caa581c5586df51a8993c5",
      "slug": "d_20d3fc7f08caa581c5586df51a8993c5",
      "title": "Annual Car Population by Make",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_20d3fc7f08caa581c5586df51a8993c5/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_20d3fc7f08caa581c5586df51a8993c5/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_20d3fc7f08caa581c5586df51a8993c5&limit=10",
      "frequency": null,
      "coverage": "2005-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Explore the annual car population in Singapore by make, fuel type, and year (2005–2024). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_20d3fc7f08caa581c5586df51a8993c5/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_2873f3b1b2a836103f51f696350b98fa",
      "slug": "d_2873f3b1b2a836103f51f696350b98fa",
      "title": "Annual Motor Vehicle Population by Vehicle Type",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_2873f3b1b2a836103f51f696350b98fa/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_2873f3b1b2a836103f51f696350b98fa/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_2873f3b1b2a836103f51f696350b98fa&limit=10",
      "frequency": null,
      "coverage": "2005-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "* Off peak cars include weekend cars and revised off peak cars which was implemented on 25 Jan 2010. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_2873f3b1b2a836103f51f696350b98fa/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_2ae2e6beb458d059318c1c14ad899f98",
      "slug": "d_2ae2e6beb458d059318c1c14ad899f98",
      "title": "Listing of Licensed Chinese Proprietary Medicine Products",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Sciences Authority",
      "source": "Health Sciences Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_2ae2e6beb458d059318c1c14ad899f98/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_2ae2e6beb458d059318c1c14ad899f98/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_2ae2e6beb458d059318c1c14ad899f98&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Explore the official list of licensed Chinese Proprietary Medicine (CPM) products approved by the Health Sciences Authority (HSA) in Singapore. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Sciences Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_2ae2e6beb458d059318c1c14ad899f98/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bf50ce0f3f42f69d7acd50635afa62da",
      "slug": "d_bf50ce0f3f42f69d7acd50635afa62da",
      "title": "Listing of Companies Licensed to Import, Wholesale and Manufacture Health Products",
      "category": "Economy & business",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Sciences Authority",
      "source": "Health Sciences Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bf50ce0f3f42f69d7acd50635afa62da/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bf50ce0f3f42f69d7acd50635afa62da/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bf50ce0f3f42f69d7acd50635afa62da&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Access the official list of companies licensed by the Health Sciences Authority (HSA) to import, wholesale, and/or manufacture health products in Singapore. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Sciences Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bf50ce0f3f42f69d7acd50635afa62da/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_767279312753558cbf19d48344577084",
      "slug": "d_767279312753558cbf19d48344577084",
      "title": "Listing of Registered Therapeutic Products",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Sciences Authority",
      "source": "Health Sciences Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_767279312753558cbf19d48344577084/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_767279312753558cbf19d48344577084/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_767279312753558cbf19d48344577084&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Access the latest official listing of registered therapeutic products in Singapore, published by the Health Sciences Authority (HSA). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Sciences Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_767279312753558cbf19d48344577084/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b1d236af9430bbe874b4dd97aa97a684",
      "slug": "d_b1d236af9430bbe874b4dd97aa97a684",
      "title": "Listing of poison license holder",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Sciences Authority",
      "source": "Health Sciences Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b1d236af9430bbe874b4dd97aa97a684/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b1d236af9430bbe874b4dd97aa97a684/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b1d236af9430bbe874b4dd97aa97a684&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Access the official list of companies and individuals licensed under the Poisons Act by the Health Sciences Authority (HSA) in Singapore. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Sciences Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b1d236af9430bbe874b4dd97aa97a684/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_bc50d72a9d61457964c6ea8d8ba7dce2",
      "slug": "d_bc50d72a9d61457964c6ea8d8ba7dce2",
      "title": "Listing of Licensed Pharmacies",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Sciences Authority",
      "source": "Health Sciences Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_bc50d72a9d61457964c6ea8d8ba7dce2/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_bc50d72a9d61457964c6ea8d8ba7dce2/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_bc50d72a9d61457964c6ea8d8ba7dce2&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Access the official listing of licensed pharmacies in Singapore, published by the Health Sciences Authority (HSA). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Sciences Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_bc50d72a9d61457964c6ea8d8ba7dce2/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_f51622e1a40887490d48969869522bc7",
      "slug": "d_f51622e1a40887490d48969869522bc7",
      "title": "Listing of Licensed Tobacco Importers and Wholesalers",
      "category": "Economy & business",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Sciences Authority",
      "source": "Health Sciences Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_f51622e1a40887490d48969869522bc7/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_f51622e1a40887490d48969869522bc7/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_f51622e1a40887490d48969869522bc7&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Explore the official list of companies licensed by the Health Sciences Authority (HSA) to import and wholesale tobacco products in Singapore. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Sciences Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_f51622e1a40887490d48969869522bc7/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c5822c4f3e210a3b0625e49b3faaac09",
      "slug": "d_c5822c4f3e210a3b0625e49b3faaac09",
      "title": "Listing of Licensed Tobacco Retailers",
      "category": "Economy & business",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Sciences Authority",
      "source": "Health Sciences Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c5822c4f3e210a3b0625e49b3faaac09/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c5822c4f3e210a3b0625e49b3faaac09/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c5822c4f3e210a3b0625e49b3faaac09&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Explore the official list of licensed tobacco retailers in Singapore, published by the Health Sciences Authority (HSA). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Sciences Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c5822c4f3e210a3b0625e49b3faaac09/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_0357d70f583189708514ca1d35772cc0",
      "slug": "d_0357d70f583189708514ca1d35772cc0",
      "title": "Arts Entertainment Classification Database (2022 to 2024)",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Info-communications Media Development Authority",
      "source": "Info-communications Media Development Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_0357d70f583189708514ca1d35772cc0/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_0357d70f583189708514ca1d35772cc0/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_0357d70f583189708514ca1d35772cc0&limit=10",
      "frequency": null,
      "coverage": "2022-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Records of arts events classified from 2022 to 2024. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Info-communications Media Development Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_0357d70f583189708514ca1d35772cc0/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_ea732695e6ebf7d9c60d05c3f90ffd65",
      "slug": "d_ea732695e6ebf7d9c60d05c3f90ffd65",
      "title": "HCS Website List as of 31 Mar 2025",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Health Promotion Board",
      "source": "Health Promotion Board via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_ea732695e6ebf7d9c60d05c3f90ffd65/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_ea732695e6ebf7d9c60d05c3f90ffd65/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_ea732695e6ebf7d9c60d05c3f90ffd65&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Promotion Board via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_ea732695e6ebf7d9c60d05c3f90ffd65/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c375edebfa33e2ac0e29469a4755fc97",
      "slug": "d_c375edebfa33e2ac0e29469a4755fc97",
      "title": "Top 5 Leading Cancers by Gender",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c375edebfa33e2ac0e29469a4755fc97/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c375edebfa33e2ac0e29469a4755fc97/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c375edebfa33e2ac0e29469a4755fc97&limit=10",
      "frequency": null,
      "coverage": "2011-2013",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Top 5 Leading cancers among Singapore residents. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c375edebfa33e2ac0e29469a4755fc97/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_a1ab62d65ae87130925c1f52a1d0c79d",
      "slug": "d_a1ab62d65ae87130925c1f52a1d0c79d",
      "title": "Top 4 Conditions of Polyclinic Attendances",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_a1ab62d65ae87130925c1f52a1d0c79d/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_a1ab62d65ae87130925c1f52a1d0c79d/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_a1ab62d65ae87130925c1f52a1d0c79d&limit=10",
      "frequency": null,
      "coverage": "2006-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Top 4 conditions of polyclinic attendances Ranking excludes well patients attending for preventive care and includes multiple diagnoses in a single attendance. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_a1ab62d65ae87130925c1f52a1d0c79d/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_5961507eed5bede3dc9ea02432153de4",
      "slug": "d_5961507eed5bede3dc9ea02432153de4",
      "title": "Top 10 Conditions of Hospitalisation",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_5961507eed5bede3dc9ea02432153de4/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_5961507eed5bede3dc9ea02432153de4/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_5961507eed5bede3dc9ea02432153de4&limit=10",
      "frequency": null,
      "coverage": "1990-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Top 10 conditions of hospitalisation The Tabulation List of The International Classification of Diseases - Tenth Revision (ICD10AM) has replaced the Ninth Revision as the adopted code set for the derivation of causes of . Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_5961507eed5bede3dc9ea02432153de4/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b7c2e74824c179995d15d73eac845ba1",
      "slug": "d_b7c2e74824c179995d15d73eac845ba1",
      "title": "Consumer Price Indices (CPI)",
      "category": "Economy & business",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b7c2e74824c179995d15d73eac845ba1/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b7c2e74824c179995d15d73eac845ba1/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b7c2e74824c179995d15d73eac845ba1&limit=10",
      "frequency": null,
      "coverage": "2008-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Consumer price indices (general and healthcare). Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b7c2e74824c179995d15d73eac845ba1/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c5d9b8fd490a8473c563f5e6b221585f",
      "slug": "d_c5d9b8fd490a8473c563f5e6b221585f",
      "title": "List of PHPCs under the National Covid-19 Vaccine Program",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c5d9b8fd490a8473c563f5e6b221585f/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c5d9b8fd490a8473c563f5e6b221585f/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c5d9b8fd490a8473c563f5e6b221585f&limit=10",
      "frequency": null,
      "coverage": "2021-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "removed 1 clinic name. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c5d9b8fd490a8473c563f5e6b221585f/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_26f6afadf2f86b2004f9a1e28f5564cc",
      "slug": "d_26f6afadf2f86b2004f9a1e28f5564cc",
      "title": "Average Speed During Peak Hours",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_26f6afadf2f86b2004f9a1e28f5564cc/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_26f6afadf2f86b2004f9a1e28f5564cc/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_26f6afadf2f86b2004f9a1e28f5564cc&limit=10",
      "frequency": null,
      "coverage": "2004-2023",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Average speed & congestion-free roads are for peak hour periods, i.e. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_26f6afadf2f86b2004f9a1e28f5564cc/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_3136f317a1f282a33fe7a2f6a907c047",
      "slug": "d_3136f317a1f282a33fe7a2f6a907c047",
      "title": "Average Daily Traffic Volume Entering the City",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_3136f317a1f282a33fe7a2f6a907c047/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_3136f317a1f282a33fe7a2f6a907c047/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_3136f317a1f282a33fe7a2f6a907c047&limit=10",
      "frequency": null,
      "coverage": "2004-2023",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Daily traffic volume is recorded between 7.30am-7.00pm on weekdays. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_3136f317a1f282a33fe7a2f6a907c047/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_e8e0db9cbd76e12eaa2bf071cc9ce964",
      "slug": "d_e8e0db9cbd76e12eaa2bf071cc9ce964",
      "title": "Life Expectancy at Birth",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_e8e0db9cbd76e12eaa2bf071cc9ce964/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_e8e0db9cbd76e12eaa2bf071cc9ce964/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_e8e0db9cbd76e12eaa2bf071cc9ce964&limit=10",
      "frequency": null,
      "coverage": "1990-2021",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Life expectancy at birth Data refers to Total population (Singapore) Source: Global Burden of Disease (GBD) 2021 Study. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_e8e0db9cbd76e12eaa2bf071cc9ce964/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_c93fe829a88716926223b5ad472e6044",
      "slug": "d_c93fe829a88716926223b5ad472e6044",
      "title": "Health Adjusted Life Expectancy at Birth",
      "category": "Population & society",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_c93fe829a88716926223b5ad472e6044/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_c93fe829a88716926223b5ad472e6044/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_c93fe829a88716926223b5ad472e6044&limit=10",
      "frequency": null,
      "coverage": "1990-2021",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Health adjusted life expectancy at birth Data refers to Total population (Singapore) Source: Global Burden of Disease (GBD) 2021 Study. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_c93fe829a88716926223b5ad472e6044/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_d7865f18a9f49f7120f1fb6b3581bcd4",
      "slug": "d_d7865f18a9f49f7120f1fb6b3581bcd4",
      "title": "Public Health Preparedness Clinic (PHPC)",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_d7865f18a9f49f7120f1fb6b3581bcd4/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_d7865f18a9f49f7120f1fb6b3581bcd4/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_d7865f18a9f49f7120f1fb6b3581bcd4&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "The latest PHPC offering the COVID vaccine. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_d7865f18a9f49f7120f1fb6b3581bcd4/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_05fffefe9045d234eb140d7db0acdeb9",
      "slug": "d_05fffefe9045d234eb140d7db0acdeb9",
      "title": "Social Values Survey data",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Culture, Community and Youth",
      "source": "Ministry of Culture, Community and Youth via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_05fffefe9045d234eb140d7db0acdeb9/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_05fffefe9045d234eb140d7db0acdeb9/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_05fffefe9045d234eb140d7db0acdeb9&limit=10",
      "frequency": null,
      "coverage": "2018-2019",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Contains the data collected for this survey. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Culture, Community and Youth via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_05fffefe9045d234eb140d7db0acdeb9/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_504d6c0e34ce4f56159ad643d89730ae",
      "slug": "d_504d6c0e34ce4f56159ad643d89730ae",
      "title": "Foster Families",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_504d6c0e34ce4f56159ad643d89730ae/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_504d6c0e34ce4f56159ad643d89730ae/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_504d6c0e34ce4f56159ad643d89730ae&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Number of foster families as of 31 December of the specified year. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_504d6c0e34ce4f56159ad643d89730ae/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_b85f15701092578c2aa0ae8cd263b210",
      "slug": "d_b85f15701092578c2aa0ae8cd263b210",
      "title": "Children in out-of-home care",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_b85f15701092578c2aa0ae8cd263b210/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_b85f15701092578c2aa0ae8cd263b210/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_b85f15701092578c2aa0ae8cd263b210&limit=10",
      "frequency": null,
      "coverage": "2013-2023",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Table of all children in out-of-home care as of 31 December of the specified year, regardless of the year the child’s case was opened. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_b85f15701092578c2aa0ae8cd263b210/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_dd1328b6dfb51e11dd38c27bdf9b01da",
      "slug": "d_dd1328b6dfb51e11dd38c27bdf9b01da",
      "title": "Take-up Rate of Government Paid Leave Schemes",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Social and Family Development",
      "source": "Ministry of Social and Family Development via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_dd1328b6dfb51e11dd38c27bdf9b01da/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_dd1328b6dfb51e11dd38c27bdf9b01da/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_dd1328b6dfb51e11dd38c27bdf9b01da&limit=10",
      "frequency": null,
      "coverage": "2016-2021",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Take-up Rate of Government Paid Maternity, Paternity and Childcare leave. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Social and Family Development via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_dd1328b6dfb51e11dd38c27bdf9b01da/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_01d45cd7b2113dc0c433bcd5218b67b8",
      "slug": "d_01d45cd7b2113dc0c433bcd5218b67b8",
      "title": "Health Diseases and Conditions",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_01d45cd7b2113dc0c433bcd5218b67b8/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_01d45cd7b2113dc0c433bcd5218b67b8/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_01d45cd7b2113dc0c433bcd5218b67b8&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_01d45cd7b2113dc0c433bcd5218b67b8/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_586ee0cbc5c79ff8167a46132a405239",
      "slug": "d_586ee0cbc5c79ff8167a46132a405239",
      "title": "Healthcare Schemes and Subsidies",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_586ee0cbc5c79ff8167a46132a405239/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_586ee0cbc5c79ff8167a46132a405239/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_586ee0cbc5c79ff8167a46132a405239&limit=10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Healthcare Schemes and Subsidies. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_586ee0cbc5c79ff8167a46132a405239/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_f431af082e77221c453895ebdc3e57ba",
      "slug": "d_f431af082e77221c453895ebdc3e57ba",
      "title": "7-day Moving Average Daily Estimated Numbers of COVID-19 Infections",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_f431af082e77221c453895ebdc3e57ba/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_f431af082e77221c453895ebdc3e57ba/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_f431af082e77221c453895ebdc3e57ba&limit=10",
      "frequency": null,
      "coverage": "2023-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_f431af082e77221c453895ebdc3e57ba/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_dc5ff5746a3fc254d3b44be97b8aadee",
      "slug": "d_dc5ff5746a3fc254d3b44be97b8aadee",
      "title": "Number of pawnbroking licenses",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Law",
      "source": "Ministry of Law via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_dc5ff5746a3fc254d3b44be97b8aadee/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_dc5ff5746a3fc254d3b44be97b8aadee/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_dc5ff5746a3fc254d3b44be97b8aadee&limit=10",
      "frequency": null,
      "coverage": "2013-2022",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Snapshot of the number of pawnbroking licensees per year. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Law via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_dc5ff5746a3fc254d3b44be97b8aadee/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_ac42b0ea4ae0528bc9dbef90f0658f2b",
      "slug": "d_ac42b0ea4ae0528bc9dbef90f0658f2b",
      "title": "Average daily adult ICU bed utilisation by Epi-week",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_ac42b0ea4ae0528bc9dbef90f0658f2b/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_ac42b0ea4ae0528bc9dbef90f0658f2b/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_ac42b0ea4ae0528bc9dbef90f0658f2b&limit=10",
      "frequency": null,
      "coverage": "2023-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_ac42b0ea4ae0528bc9dbef90f0658f2b/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_98e8d8ba612a748413c439550c3c6942",
      "slug": "d_98e8d8ba612a748413c439550c3c6942",
      "title": "Number of new COVID-19 hospitalisations / ICU admissions by Epi-week",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_98e8d8ba612a748413c439550c3c6942/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_98e8d8ba612a748413c439550c3c6942/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_98e8d8ba612a748413c439550c3c6942&limit=10",
      "frequency": null,
      "coverage": "2023-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_98e8d8ba612a748413c439550c3c6942/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_713e8c4fd88c64a7b7e55e9c2643e936",
      "slug": "d_713e8c4fd88c64a7b7e55e9c2643e936",
      "title": "Progress of COVID-19 vaccination",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_713e8c4fd88c64a7b7e55e9c2643e936/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_713e8c4fd88c64a7b7e55e9c2643e936/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_713e8c4fd88c64a7b7e55e9c2643e936&limit=10",
      "frequency": null,
      "coverage": "2020-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_713e8c4fd88c64a7b7e55e9c2643e936/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_50062b19eb6a2137964646f39c3b9b8f",
      "slug": "d_50062b19eb6a2137964646f39c3b9b8f",
      "title": "Total value of pawnbroking loans granted",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Law",
      "source": "Ministry of Law via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_50062b19eb6a2137964646f39c3b9b8f/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_50062b19eb6a2137964646f39c3b9b8f/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_50062b19eb6a2137964646f39c3b9b8f&limit=10",
      "frequency": null,
      "coverage": "2013-2022",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Total value of pawnbroking loans granted per year. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Law via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_50062b19eb6a2137964646f39c3b9b8f/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_23973ebf68e41a63aa4da7be0c156210",
      "slug": "d_23973ebf68e41a63aa4da7be0c156210",
      "title": "Total amount/value of outstanding pawnbroking loans",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Law",
      "source": "Ministry of Law via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_23973ebf68e41a63aa4da7be0c156210/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_23973ebf68e41a63aa4da7be0c156210/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_23973ebf68e41a63aa4da7be0c156210&limit=10",
      "frequency": null,
      "coverage": "2013-2022",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Total amount/value of outstanding pawnbroking loans per year. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Law via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_23973ebf68e41a63aa4da7be0c156210/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_11e68bba3b3c76733475a72d09759eeb",
      "slug": "d_11e68bba3b3c76733475a72d09759eeb",
      "title": "Number of COVID-19 infections by Epi-week",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_11e68bba3b3c76733475a72d09759eeb/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_11e68bba3b3c76733475a72d09759eeb/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_11e68bba3b3c76733475a72d09759eeb&limit=10",
      "frequency": null,
      "coverage": "2023-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_11e68bba3b3c76733475a72d09759eeb/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_0d1da54a73733d33e40f662f757af537",
      "slug": "d_0d1da54a73733d33e40f662f757af537",
      "title": "Average daily hospitalised / ICU cases by Epi-week",
      "category": "Health",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Health",
      "source": "Ministry of Health via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_0d1da54a73733d33e40f662f757af537/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_0d1da54a73733d33e40f662f757af537/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_0d1da54a73733d33e40f662f757af537&limit=10",
      "frequency": null,
      "coverage": "2023-2024",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Health via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_0d1da54a73733d33e40f662f757af537/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_fe963befd0a503e6de3883d50e3f4597",
      "slug": "d_fe963befd0a503e6de3883d50e3f4597",
      "title": "Number of Performing Arts Activities",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Ministry of Culture, Community and Youth",
      "source": "Ministry of Culture, Community and Youth via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_fe963befd0a503e6de3883d50e3f4597/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_fe963befd0a503e6de3883d50e3f4597/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_fe963befd0a503e6de3883d50e3f4597&limit=10",
      "frequency": null,
      "coverage": "2013-2019",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Performing Arts refer to folk, traditional, classical and contemporary forms of dance, music (pop/rock concerts included) and theatre. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ministry of Culture, Community and Youth via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_fe963befd0a503e6de3883d50e3f4597/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_fe4922bfe352a1250edac15bd1453799",
      "slug": "d_fe4922bfe352a1250edac15bd1453799",
      "title": "Length of Roads (Kilometres)",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_fe4922bfe352a1250edac15bd1453799/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_fe4922bfe352a1250edac15bd1453799/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_fe4922bfe352a1250edac15bd1453799&limit=10",
      "frequency": null,
      "coverage": "2005-2017",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_fe4922bfe352a1250edac15bd1453799/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_fd59b378382d9120f872ee08c7b26380",
      "slug": "d_fd59b378382d9120f872ee08c7b26380",
      "title": "Supply of Commercial Properties in the Pipeline, Quarterly",
      "category": "Housing & property",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Urban Redevelopment Authority",
      "source": "Urban Redevelopment Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_fd59b378382d9120f872ee08c7b26380/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_fd59b378382d9120f872ee08c7b26380/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_fd59b378382d9120f872ee08c7b26380&limit=10",
      "frequency": null,
      "coverage": "2014-2018",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Urban Redevelopment Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_fd59b378382d9120f872ee08c7b26380/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_fcc02bc884c54a09e8665443bff2f4c2",
      "slug": "d_fcc02bc884c54a09e8665443bff2f4c2",
      "title": "Individual Internet Usage",
      "category": "Government data",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Info-communications Media Development Authority",
      "source": "Info-communications Media Development Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_fcc02bc884c54a09e8665443bff2f4c2/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_fcc02bc884c54a09e8665443bff2f4c2/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_fcc02bc884c54a09e8665443bff2f4c2&limit=10",
      "frequency": null,
      "coverage": "2000-2018",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore open government dataset. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Info-communications Media Development Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_fcc02bc884c54a09e8665443bff2f4c2/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "d_f9fc45b610aa9d100db3abef789e3ef5",
      "slug": "d_f9fc45b610aa9d100db3abef789e3ef5",
      "title": "Annual Goods Vehicle and Bus Population By Make",
      "category": "Transport",
      "group": "Government & open data",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority",
      "source": "Land Transport Authority via data.gov.sg",
      "sourceUrl": "https://data.gov.sg/datasets/d_f9fc45b610aa9d100db3abef789e3ef5/view",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.sg/datasets/d_f9fc45b610aa9d100db3abef789e3ef5/view",
      "baseUrl": "https://data.gov.sg/api/action/datastore_search?resource_id=d_f9fc45b610aa9d100db3abef789e3ef5&limit=10",
      "frequency": null,
      "coverage": "2005-2017",
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Figures include tax exempted, VQS exempted and vehicles registered for off the road use. Keyless JSON via data.gov.sg datastore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Land Transport Authority via data.gov.sg",
        "sourceUrl": "https://data.gov.sg/datasets/d_f9fc45b610aa9d100db3abef789e3ef5/view",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "weather/forecast",
      "slug": "weather-forecast",
      "title": "7-day weather forecast (live)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MET Malaysia via data.gov.my",
      "source": "MET Malaysia via data.gov.my",
      "sourceUrl": "https://api.data.gov.my/weather/forecast/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.data.gov.my/weather/forecast/",
      "baseUrl": "https://api.data.gov.my/weather/forecast/",
      "frequency": "DAILY",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MET Malaysia via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/weather/forecast/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "weather/warning",
      "slug": "weather-warning",
      "title": "Weather warnings (live)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MET Malaysia via data.gov.my",
      "source": "MET Malaysia via data.gov.my",
      "sourceUrl": "https://api.data.gov.my/weather/warning/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.data.gov.my/weather/warning/",
      "baseUrl": "https://api.data.gov.my/weather/warning/",
      "frequency": "AS ISSUED",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MET Malaysia via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/weather/warning/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "weather/warning/earthquake",
      "slug": "weather-warning-earthquake",
      "title": "Earthquake warnings (live)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "MET Malaysia via data.gov.my",
      "source": "MET Malaysia via data.gov.my",
      "sourceUrl": "https://api.data.gov.my/weather/warning/earthquake/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.data.gov.my/weather/warning/earthquake/",
      "baseUrl": "https://api.data.gov.my/weather/warning/earthquake/",
      "frequency": "AS ISSUED",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "MET Malaysia via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/weather/warning/earthquake/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "flood-warning",
      "slug": "flood-warning",
      "title": "River water levels & flood warnings (live)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "JPS via data.gov.my",
      "source": "JPS via data.gov.my",
      "sourceUrl": "https://api.data.gov.my/flood-warning/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.data.gov.my/flood-warning/",
      "baseUrl": "https://api.data.gov.my/flood-warning/",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": null,
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JPS via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/flood-warning/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gtfs-static/prasarana",
      "slug": "gtfs-static-prasarana",
      "title": "Transit schedules ~ Rapid KL LRT/MRT/monorail/bus (Prasarana GTFS)",
      "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-static/prasarana?category=rapid-rail-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-static/prasarana?category=rapid-rail-kl",
      "baseUrl": "https://api.data.gov.my/gtfs-static/prasarana?category=rapid-rail-kl",
      "frequency": "STATIC FEED",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Needs a ?category= (rapid-rail-kl, rapid-bus-kl, rapid-bus-mrtfeeder, rapid-bus-penang, rapid-bus-kuantan). Response is a GTFS ZIP feed (a bundle of .txt tables), not JSON.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Prasarana via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/gtfs-static/prasarana?category=rapid-rail-kl",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gtfs-static/ktmb",
      "slug": "gtfs-static-ktmb",
      "title": "Train schedules ~ KTMB (GTFS)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "KTMB via data.gov.my",
      "source": "KTMB via data.gov.my",
      "sourceUrl": "https://api.data.gov.my/gtfs-static/ktmb",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.data.gov.my/gtfs-static/ktmb",
      "baseUrl": "https://api.data.gov.my/gtfs-static/ktmb",
      "frequency": "STATIC FEED",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Response is a GTFS ZIP feed (a bundle of .txt tables), not JSON.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "KTMB via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/gtfs-static/ktmb",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gtfs-realtime/vehicle-position/prasarana",
      "slug": "gtfs-realtime-vehicle-position-prasarana",
      "title": "Live bus positions ~ Rapid KL & Rapid Penang (Prasarana GTFS-R)",
      "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 ~ decode with a GTFS-RT library.",
      "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,
        "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": "gtfs-realtime/vehicle-position/ktmb",
      "slug": "gtfs-realtime-vehicle-position-ktmb",
      "title": "Live train positions ~ KTMB (GTFS-R)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "KTMB via data.gov.my",
      "source": "KTMB via data.gov.my",
      "sourceUrl": "https://api.data.gov.my/gtfs-realtime/vehicle-position/ktmb",
      "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/ktmb",
      "baseUrl": "https://api.data.gov.my/gtfs-realtime/vehicle-position/ktmb",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Response is GTFS-realtime Protobuf, not JSON ~ decode with a GTFS-RT library. Feed is empty outside operating hours.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "KTMB via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/gtfs-realtime/vehicle-position/ktmb",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gtfs-static/mybas-johor",
      "slug": "gtfs-static-mybas-johor",
      "title": "Bus schedules ~ myBAS Johor Bahru (GTFS)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "myBAS (Causeway Link) via data.gov.my",
      "source": "myBAS (Causeway Link) via data.gov.my",
      "sourceUrl": "https://api.data.gov.my/gtfs-static/mybas-johor",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.data.gov.my/gtfs-static/mybas-johor",
      "baseUrl": "https://api.data.gov.my/gtfs-static/mybas-johor",
      "frequency": "STATIC FEED",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Response is a GTFS ZIP feed (a bundle of .txt tables), not JSON.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "myBAS (Causeway Link) via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/gtfs-static/mybas-johor",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "gtfs-realtime/vehicle-position/mybas-johor",
      "slug": "gtfs-realtime-vehicle-position-mybas-johor",
      "title": "Live bus positions ~ myBAS Johor (GTFS-R)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "MY"
      ],
      "provider": "myBAS (Causeway Link) via data.gov.my",
      "source": "myBAS (Causeway Link) via data.gov.my",
      "sourceUrl": "https://api.data.gov.my/gtfs-realtime/vehicle-position/mybas-johor",
      "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/mybas-johor",
      "baseUrl": "https://api.data.gov.my/gtfs-realtime/vehicle-position/mybas-johor",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Response is GTFS-realtime Protobuf, not JSON ~ decode with a GTFS-RT library.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "myBAS (Causeway Link) via data.gov.my",
        "sourceUrl": "https://api.data.gov.my/gtfs-realtime/vehicle-position/mybas-johor",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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,
        "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,
        "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,
        "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,
        "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,
        "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,
        "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,
        "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,
        "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,
        "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,
        "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": "sgid-singpass",
      "slug": "sgid-singpass",
      "title": "sgID ~ free OpenID-for-Singpass login & verified personal data",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "Open Government Products (GovTech Singapore)",
      "source": "Open Government Products (GovTech Singapore)",
      "sourceUrl": "https://docs.id.gov.sg/",
      "tier": "open",
      "kind": "portal",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://docs.id.gov.sg/",
      "baseUrl": "https://id.gov.sg",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Free, self-serve OpenID Connect layer over Singpass: register an app in minutes and pull Singpass-authenticated, Myinfo-verified attributes (name, NRIC, address). SG-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Open Government Products (GovTech Singapore)",
        "sourceUrl": "https://docs.id.gov.sg/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": null,
        "rateLimit": null,
        "caveat": "sgID is self-serve, but the payload is real NRIC-linked personal data. Keep the client secret server-side, request the narrowest scopes, and treat stored NRIC and address fields as PDPA-regulated with minimal retention."
      },
      "setup": {
        "level": "authenticated",
        "label": "OAUTH CREDENTIALS SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "onemap-sg",
      "slug": "onemap-sg",
      "title": "OneMap ~ Singapore's official map: geocoding, routing & themes",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "Singapore Land Authority (SLA)",
      "source": "Singapore Land Authority (SLA)",
      "sourceUrl": "https://www.onemap.gov.sg/apidocs/",
      "tier": "open",
      "kind": "portal",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.onemap.gov.sg/apidocs/",
      "baseUrl": "https://www.onemap.gov.sg/api",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "National authoritative map by SLA: address search/geocoding, reverse geocode, multi-mode routing (drive/walk/cycle/public transport), planning-area and population queries, plus map themes (hawker centres, schools). Free token after registration; search is open. SG-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Singapore Land Authority (SLA)",
        "sourceUrl": "https://www.onemap.gov.sg/apidocs/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": null,
        "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": "lta-datamall",
      "slug": "lta-datamall",
      "title": "LTA DataMall ~ Singapore real-time bus, train & traffic data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "Land Transport Authority (Singapore)",
      "source": "Land Transport Authority (Singapore)",
      "sourceUrl": "https://datamall.lta.gov.sg/content/datamall/en/dynamic-data.html",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://datamall.lta.gov.sg/content/datamall/en/dynamic-data.html",
      "baseUrl": "https://datamall2.mytransport.sg/ltaodataservice",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Official LTA feeds: bus arrival, bus routes/stops, train service alerts, taxi availability, ERP rates, carpark availability and live traffic. Free AccountKey header via registration. SG-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Land Transport Authority (Singapore)",
        "sourceUrl": "https://datamall.lta.gov.sg/content/datamall/en/dynamic-data.html",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": null,
        "rateLimit": null,
        "caveat": "Your AccountKey is rate-limited and must stay server-side. Most endpoints page 500 rows at a time, live feeds can go stale during disruptions, and ERP or fare values change with policy — cache politely and handle gaps instead of showing zeros."
      },
      "setup": {
        "level": "authenticated",
        "label": "API KEY SETUP",
        "summary": "Register once for a free AccountKey, send it as a header on every call, and page through results 500 rows at a time."
      }
    },
    {
      "id": "data-gov-sg",
      "slug": "data-gov-sg",
      "title": "data.gov.sg ~ Singapore open data & real-time APIs",
      "category": "Government services",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "GovTech Singapore / Open Government Products",
      "source": "GovTech Singapore / Open Government Products",
      "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://guide.data.gov.sg/developer-guide/api-overview",
      "baseUrl": "https://api-open.data.gov.sg",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Singapore's central open-data portal: thousands of official datasets (HDB resale, population, economy, transport) over a keyless REST API, plus real-time feeds for weather, PSI haze, taxi and carpark availability. No key needed for public access. SG-first.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "GovTech Singapore / Open Government Products",
        "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "Everything is keyless: datasets through the datastore search API, live feeds under api.data.gov.sg. Pick the dataset first, then copy its resource id."
      }
    },
    {
      "id": "data-gov-sg-weather",
      "slug": "data-gov-sg-weather",
      "title": "NEA Weather Forecast (data.gov.sg) ~ 2hr / 24hr / 4-day SG forecasts",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency (NEA) via data.gov.sg",
      "source": "National Environment Agency (NEA) via data.gov.sg",
      "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://guide.data.gov.sg/developer-guide/api-overview",
      "baseUrl": "https://api.data.gov.sg/v1/environment",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Keyless real-time NEA feeds: 2-hour nowcast, 24-hour and 4-day forecasts, plus air temperature, humidity, rainfall and wind by station across Singapore. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency (NEA) via data.gov.sg",
        "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "data-gov-sg-psi",
      "slug": "data-gov-sg-psi",
      "title": "NEA PSI & Air Quality (data.gov.sg) ~ live haze readings",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "National Environment Agency (NEA) via data.gov.sg",
      "source": "National Environment Agency (NEA) via data.gov.sg",
      "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://guide.data.gov.sg/developer-guide/api-overview",
      "baseUrl": "https://api.data.gov.sg/v1/environment/psi",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Keyless real-time PSI and PM2.5 readings across Singapore's north/south/east/west/central regions, the canonical source for haze conditions. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Environment Agency (NEA) via data.gov.sg",
        "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "data-gov-sg-carpark",
      "slug": "data-gov-sg-carpark",
      "title": "Carpark Availability (data.gov.sg) ~ live HDB carpark lots",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "HDB via data.gov.sg",
      "source": "HDB via data.gov.sg",
      "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://guide.data.gov.sg/developer-guide/api-overview",
      "baseUrl": "https://api.data.gov.sg/v1/transport/carpark-availability",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Keyless real-time count of available lots across Singapore's HDB and public carparks, updated continuously. Pair with the static carpark-info dataset for locations. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "HDB via data.gov.sg",
        "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "data-gov-sg-traffic-images",
      "slug": "data-gov-sg-traffic-images",
      "title": "Traffic Images (data.gov.sg) ~ live Singapore road cameras",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "LTA via data.gov.sg",
      "source": "LTA via data.gov.sg",
      "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://guide.data.gov.sg/developer-guide/api-overview",
      "baseUrl": "https://api.data.gov.sg/v1/transport/traffic-images",
      "frequency": "REALTIME",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Keyless real-time stills from LTA traffic cameras across Singapore's expressways and checkpoints ~ each camera returns a timestamped image URL and location. SG-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "LTA via data.gov.sg",
        "sourceUrl": "https://guide.data.gov.sg/developer-guide/api-overview",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "singstat-tablebuilder",
      "slug": "singstat-tablebuilder",
      "title": "SingStat Table Builder API ~ official Singapore statistics",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "Department of Statistics Singapore (DOS)",
      "source": "Department of Statistics Singapore (DOS)",
      "sourceUrl": "https://tablebuilder.singstat.gov.sg/view-api/for-developers",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://tablebuilder.singstat.gov.sg/view-api/for-developers",
      "baseUrl": "https://tablebuilder.singstat.gov.sg/api/table",
      "frequency": "VARIES",
      "coverage": null,
      "lastVerified": null,
      "lastChecked": null,
      "rateLimit": null,
      "note": "Singapore's national statistics API: GDP, CPI, population, trade, labour and more as structured time-series tables, queryable keyless by table ID (JSON/CSV). SG-first.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Department of Statistics Singapore (DOS)",
        "sourceUrl": "https://tablebuilder.singstat.gov.sg/view-api/for-developers",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": null,
        "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": "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,
        "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,
        "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": "paynet-duitnow",
      "slug": "paynet-duitnow",
      "title": "PayNet DuitNow ~ national real-time payments (QR, Transfer, Request)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Payments Network Malaysia (PayNet)",
      "source": "Payments Network Malaysia (PayNet)",
      "sourceUrl": "https://docs.developer.paynet.my/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.developer.paynet.my/docs",
      "baseUrl": "https://api.paynet.my",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Malaysia's national rails: DuitNow QR, Transfer, Request, Online Banking/Wallet. Sandbox + certification; partner onboarding required.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Payments Network Malaysia (PayNet)",
        "sourceUrl": "https://docs.developer.paynet.my/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "rateLimit": null,
        "caveat": "There is no self-serve key: DuitNow access comes through PayNet partner onboarding or an acquiring bank, with certification per rail before go-live. This moves real money — plan settlement reconciliation, refunds, timeouts and duplicate-payment handling up front."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "DuitNow access is a PayNet partnership, not a public signup. Expect onboarding, per-rail certification and bank involvement before the first real payment."
      }
    },
    {
      "id": "billplz",
      "slug": "billplz",
      "title": "Billplz ~ payment collection & FPX bill API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Billplz",
      "source": "Billplz",
      "sourceUrl": "https://www.billplz.com/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.billplz.com/api",
      "baseUrl": "https://www.billplz.com/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "FPX + cards. HTTP Basic auth (API key as username); full sandbox at billplz-sandbox.com.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Billplz",
        "sourceUrl": "https://www.billplz.com/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "toyyibpay",
      "slug": "toyyibpay",
      "title": "toyyibPay ~ FPX bill creation & collection API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "toyyibPay",
      "source": "toyyibPay",
      "sourceUrl": "https://toyyibpay.com/apireference/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://toyyibpay.com/apireference/",
      "baseUrl": "https://toyyibpay.com/index.php/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "createBill / getBillTransactions; auth via userSecretKey; sandbox at dev.toyyibpay.com.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "toyyibPay",
        "sourceUrl": "https://toyyibpay.com/apireference/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "chip",
      "slug": "chip",
      "title": "CHIP (chip-in.asia) ~ payment collection & subscriptions API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "CHIP (Asia Payment Network)",
      "source": "CHIP (Asia Payment Network)",
      "sourceUrl": "https://docs.chip-in.asia/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.chip-in.asia/",
      "baseUrl": "https://gate.chip-in.asia/api/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer secret key; purchases, billing, subscriptions, webhooks; test mode available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "CHIP (Asia Payment Network)",
        "sourceUrl": "https://docs.chip-in.asia/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "curlec-razorpay",
      "slug": "curlec-razorpay",
      "title": "Curlec by Razorpay ~ payment gateway & recurring billing",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Curlec (Razorpay)",
      "source": "Curlec (Razorpay)",
      "sourceUrl": "https://curlec.com/docs/api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "key id + secret"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://curlec.com/docs/api/",
      "baseUrl": "https://api.razorpay.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "HTTP Basic (key_id:key_secret); FPX, cards, DuitNow, subscriptions; test mode.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Curlec (Razorpay)",
        "sourceUrl": "https://curlec.com/docs/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "senangpay",
      "slug": "senangpay",
      "title": "senangPay ~ payment gateway & recurring/tokenisation API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "senangPay (Simplepay Gateway)",
      "source": "senangPay (Simplepay Gateway)",
      "sourceUrl": "https://developer.senangpay.my/integration-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://developer.senangpay.my/integration-api",
      "baseUrl": "https://app.senangpay.my/apiv1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Merchant ID + secret-key SHA256 hash; payment endpoint /payment/{merchantID}; tokenisation & recurring APIs.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "senangPay (Simplepay Gateway)",
        "sourceUrl": "https://developer.senangpay.my/integration-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "fiuu",
      "slug": "fiuu",
      "title": "Fiuu (ex-Razer MS / MOLPay) ~ payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Fiuu",
      "source": "Fiuu",
      "sourceUrl": "https://github.com/FiuuPayment",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://github.com/FiuuPayment",
      "baseUrl": "https://api.fiuu.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Hosted + seamless server-to-server + recurring; merchant/verify key with signature; official spec PDFs + Postman collection.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Fiuu",
        "sourceUrl": "https://github.com/FiuuPayment",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "stripe-malaysia",
      "slug": "stripe-malaysia",
      "title": "Stripe ~ full payments API (Malaysia-supported)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Stripe",
      "source": "Stripe",
      "sourceUrl": "https://docs.stripe.com/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.stripe.com/api",
      "baseUrl": "https://api.stripe.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Global, supports MY merchants & MYR. Secret key (HTTP Basic); cards, FPX, GrabPay; test mode.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Stripe",
        "sourceUrl": "https://docs.stripe.com/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "grabpay",
      "slug": "grabpay",
      "title": "GrabPay ~ e-wallet charge, QR & tokenisation API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY",
        "ID",
        "SG",
        "PH"
      ],
      "provider": "Grab",
      "source": "Grab",
      "sourceUrl": "https://developer.grab.com/docs/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.grab.com/docs/",
      "baseUrl": "https://api.grab.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "One-time charge, merchant/consumer QR, tokenisation; OAuth2/JWT; partner approval required.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Grab",
        "sourceUrl": "https://developer.grab.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "lhdn-myinvois",
      "slug": "lhdn-myinvois",
      "title": "LHDN MyInvois ~ regulated e-invoicing integration",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Lembaga Hasil Dalam Negeri (LHDN)",
      "source": "Lembaga Hasil Dalam Negeri (LHDN)",
      "sourceUrl": "https://sdk.myinvois.hasil.gov.my/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://sdk.myinvois.hasil.gov.my/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-01",
      "lastChecked": "2026-07-01",
      "rateLimit": null,
      "note": "Not copy-paste-ready. Requires MyTax/MyInvois onboarding, sandbox/preprod and production credentials, OAuth2 client credentials, signed document submission, and official SDK/API steps.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Lembaga Hasil Dalam Negeri (LHDN)",
        "sourceUrl": "https://sdk.myinvois.hasil.gov.my/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-01",
        "rateLimit": null,
        "caveat": "This is a statutory LHDN tax integration, not a normal API. Complete MyTax/MyInvois onboarding, prove document signing and validation in sandbox/preprod first, and treat rejected or cancelled e-invoices as compliance events that need an audit trail."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Use this as an implementation checklist, not as a shortcut around the official MyInvois SDK and onboarding flow."
      }
    },
    {
      "id": "pos-malaysia-api",
      "slug": "pos-malaysia-api",
      "title": "Pos Malaysia API ~ parcel tracking, postage rates & booking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Pos Malaysia Berhad",
      "source": "Pos Malaysia Berhad",
      "sourceUrl": "https://api-doc.pos.com.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://api-doc.pos.com.my/",
      "baseUrl": "https://api.pos.com.my",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Official Pos Malaysia API docs (Postman collection). Requires a Pos business/partner account; not self-serve.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Pos Malaysia Berhad",
        "sourceUrl": "https://api-doc.pos.com.my/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "easyparcel-my-api",
      "slug": "easyparcel-my-api",
      "title": "EasyParcel API ~ multi-courier rates, booking, tracking & labels",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "MY",
        "SG"
      ],
      "provider": "EasyParcel (Web Bytes Sdn Bhd)",
      "source": "EasyParcel (Web Bytes Sdn Bhd)",
      "sourceUrl": "https://developers.easyparcel.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://developers.easyparcel.com/",
      "baseUrl": "https://connect.easyparcel.my/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Aggregator over many Malaysian and Singaporean couriers. Free to integrate; pay per shipment. API key from EasyParcel account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "EasyParcel (Web Bytes Sdn Bhd)",
        "sourceUrl": "https://developers.easyparcel.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "lalamove-api",
      "slug": "lalamove-api",
      "title": "Lalamove API ~ on-demand delivery quotes, orders & tracking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "MY",
        "TH",
        "SG",
        "PH",
        "VN"
      ],
      "provider": "Lalamove",
      "source": "Lalamove",
      "sourceUrl": "https://developers.lalamove.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.lalamove.com/",
      "baseUrl": "https://rest.lalamove.com/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Public REST docs; MY market supported. HMAC-SHA256 signed requests with API key/secret. Free sandbox.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Lalamove",
        "sourceUrl": "https://developers.lalamove.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "ninjavan-api",
      "slug": "ninjavan-api",
      "title": "Ninja Van API ~ order creation, pickup, waybill & tracking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "MY",
        "ID",
        "SG",
        "PH",
        "VN"
      ],
      "provider": "Ninja Van",
      "source": "Ninja Van",
      "sourceUrl": "https://api-docs.ninjavan.co/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://api-docs.ninjavan.co/",
      "baseUrl": "https://api.ninjavan.co",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Public docs; MY supported. OAuth2 client-credentials; Client ID/Key issued by your Ninja Van account manager.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Ninja Van",
        "sourceUrl": "https://api-docs.ninjavan.co/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "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",
        "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": "tracking-my-api",
      "slug": "tracking-my-api",
      "title": "Tracking.my API ~ Malaysian multi-courier tracking & webhooks",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Tracking.my",
      "source": "Tracking.my",
      "sourceUrl": "https://www.tracking.my/tracking-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.tracking.my/tracking-api",
      "baseUrl": "https://api.tracking.my",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "MY-focused aggregator; auto-detects 80%+ couriers. API key from the seller dashboard. Free trial then paid.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Tracking.my",
        "sourceUrl": "https://www.tracking.my/tracking-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "mydigital-id-sso",
      "slug": "mydigital-id-sso",
      "title": "MyDigital ID SSO ~ national digital identity sign-in & verification",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "MyDigital ID Sdn Bhd",
      "source": "MyDigital ID Sdn Bhd",
      "sourceUrl": "https://developer.digital-id.my/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.digital-id.my/",
      "baseUrl": "https://oid.digital-id.my",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Official national digital-ID developer portal (SSO + identity verification). Onboarding/agreement required for credentials.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "MyDigital ID Sdn Bhd",
        "sourceUrl": "https://developer.digital-id.my/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "umobile-open-gateway",
      "slug": "umobile-open-gateway",
      "title": "U Mobile Open Gateway ~ GSMA network APIs (SIM Swap, Device Location, Number Verify)",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "U Mobile",
      "source": "U Mobile",
      "sourceUrl": "https://opgw.u.com.my/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://opgw.u.com.my/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "First public GSMA Open Gateway / CAMARA portal by a MY telco. Sandbox for testing; production needs onboarding.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "U Mobile",
        "sourceUrl": "https://opgw.u.com.my/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "luno-api",
      "slug": "luno-api",
      "title": "Luno API ~ crypto wallet, trading & market data",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Luno",
      "source": "Luno",
      "sourceUrl": "https://www.luno.com/en/developers/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "key id + secret"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.luno.com/en/developers/api",
      "baseUrl": "https://api.luno.com/api/1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Operates in MY (BTC/MYR, ETH/MYR). HTTP Basic with API key ID+secret; public market data free; websocket feed.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Luno",
        "sourceUrl": "https://www.luno.com/en/developers/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "mx-global-openapi",
      "slug": "mx-global-openapi",
      "title": "MX Global Open API ~ MY crypto exchange trading",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "MX Global Sdn Bhd",
      "source": "MX Global Sdn Bhd",
      "sourceUrl": "https://openapi.mx.exchange/index.html",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://openapi.mx.exchange/index.html",
      "baseUrl": "https://openapi.mx.exchange",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "SC-Malaysia-registered exchange; MYR pairs; HMAC-SHA256 signed requests (keyId + secret).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "MX Global Sdn Bhd",
        "sourceUrl": "https://openapi.mx.exchange/index.html",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "sinegy-api",
      "slug": "sinegy-api",
      "title": "SINEGY Exchange API ~ MY regulated digital-asset exchange",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "SINEGY",
      "source": "SINEGY",
      "sourceUrl": "https://exchange.sinegy.com/exchange-documentation/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://exchange.sinegy.com/exchange-documentation/api",
      "baseUrl": "https://api.sinegy.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "SC-Malaysia-regulated exchange (BTC/MYR, ETH/MYR); public API documentation; key-based auth.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "SINEGY",
        "sourceUrl": "https://exchange.sinegy.com/exchange-documentation/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "moceanapi-sms",
      "slug": "moceanapi-sms",
      "title": "MoceanAPI ~ SMS messaging API (Malaysia-based)",
      "category": "Communications",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Mocean (MoceanAPI)",
      "source": "Mocean (MoceanAPI)",
      "sourceUrl": "https://moceanapi.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://moceanapi.com/docs",
      "baseUrl": "https://rest.moceanapi.com/rest/2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Malaysian SMS provider; Bearer API token; SMS across MY + 200 countries.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Mocean (MoceanAPI)",
        "sourceUrl": "https://moceanapi.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "isms-malaysia",
      "slug": "isms-malaysia",
      "title": "iSMS Malaysia ~ bulk SMS / OTP HTTP API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "iSMS (MobiWeb)",
      "source": "iSMS (MobiWeb)",
      "sourceUrl": "https://www.isms.com.my/sms_api.php",
      "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.isms.com.my/sms_api.php",
      "baseUrl": "https://www.isms.com.my/isms_send_all_id.php",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Malaysian bulk SMS gateway; HTTP GET/POST with account username + password params.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "iSMS (MobiWeb)",
        "sourceUrl": "https://www.isms.com.my/sms_api.php",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "onewaysms-malaysia",
      "slug": "onewaysms-malaysia",
      "title": "OneWaySMS ~ Malaysia bulk SMS gateway API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "OneWaySMS",
      "source": "OneWaySMS",
      "sourceUrl": "https://www.onewaysms.com.my/api.pdf",
      "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.onewaysms.com.my/api.pdf",
      "baseUrl": "https://gateway.onewaysms.com.my:10002",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Malaysian SMS gateway; HTTP API with username/password + sender ID params (docs are a PDF).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "OneWaySMS",
        "sourceUrl": "https://www.onewaysms.com.my/api.pdf",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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-sms",
      "slug": "twilio-sms",
      "title": "Twilio Programmable Messaging ~ SMS/MMS API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Twilio",
      "source": "Twilio",
      "sourceUrl": "https://www.twilio.com/docs/messaging/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.twilio.com/docs/messaging/api",
      "baseUrl": "https://api.twilio.com/2010-04-01",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Global, works for MY; offers MY numbers but recommends global numbers for A2P due to local carrier filtering.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Twilio",
        "sourceUrl": "https://www.twilio.com/docs/messaging/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "shopee-open-platform",
      "slug": "shopee-open-platform",
      "title": "Shopee Open Platform API ~ marketplace seller integration",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY",
        "TH",
        "ID",
        "SG",
        "PH",
        "VN"
      ],
      "provider": "Shopee",
      "source": "Shopee",
      "sourceUrl": "https://open.shopee.com/developer-guide/20",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://open.shopee.com/developer-guide/20",
      "baseUrl": "https://partner.shopeemobile.com/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Covers Shopee MY sellers; partner_id + HMAC sign + OAuth access token (4h, refreshable); app approval required.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Shopee",
        "sourceUrl": "https://open.shopee.com/developer-guide/20",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "lazada-open-platform",
      "slug": "lazada-open-platform",
      "title": "Lazada Open Platform API ~ seller / marketplace integration",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "MY",
        "TH",
        "ID",
        "SG",
        "PH",
        "VN"
      ],
      "provider": "Lazada",
      "source": "Lazada",
      "sourceUrl": "https://open.lazada.com/doc/api.htm",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://open.lazada.com/doc/api.htm",
      "baseUrl": "https://api.lazada.com.my/rest",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Lazada MY seller APIs; app key + signature + OAuth access token.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Lazada",
        "sourceUrl": "https://open.lazada.com/doc/api.htm",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "mapbox-geocoding",
      "slug": "mapbox-geocoding",
      "title": "Mapbox Geocoding API ~ forward/reverse geocoding",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Mapbox",
      "source": "Mapbox",
      "sourceUrl": "https://docs.mapbox.com/api/search/geocoding/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.mapbox.com/api/search/geocoding/",
      "baseUrl": "https://api.mapbox.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Global, works for MY; public access token (pk.*) as query param; generous free tier then usage-based.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Mapbox",
        "sourceUrl": "https://docs.mapbox.com/api/search/geocoding/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "calendarific-holidays",
      "slug": "calendarific-holidays",
      "title": "Calendarific ~ Malaysia public holidays API",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Calendarific",
      "source": "Calendarific",
      "sourceUrl": "https://calendarific.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://calendarific.com/api-documentation",
      "baseUrl": "https://calendarific.com/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Global, works for MY; full MY federal + state holidays (country=MY); API key as URL param; free tier 1,000 req/day.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Calendarific",
        "sourceUrl": "https://calendarific.com/api-documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "clerk-auth",
      "slug": "clerk-auth",
      "title": "Clerk",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Clerk",
      "source": "Clerk",
      "sourceUrl": "https://clerk.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://clerk.com/docs",
      "baseUrl": "https://api.clerk.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Drop-in auth with prebuilt UI components, multi-framework SDKs, organizations and billing. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Clerk",
        "sourceUrl": "https://clerk.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "auth0",
      "slug": "auth0",
      "title": "Auth0",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Okta (Auth0)",
      "source": "Okta (Auth0)",
      "sourceUrl": "https://auth0.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://auth0.com/docs",
      "baseUrl": "https://{your-tenant}.auth0.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Identity platform with authentication, fine-grained authorization and SSO across many SDKs and platforms. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Okta (Auth0)",
        "sourceUrl": "https://auth0.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "supabase-auth",
      "slug": "supabase-auth",
      "title": "Supabase Auth",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Supabase",
      "source": "Supabase",
      "sourceUrl": "https://supabase.com/docs/guides/auth",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://supabase.com/docs/guides/auth",
      "baseUrl": "https://{project-id}.supabase.co/auth/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Postgres-backed auth with password, magic link, OTP, social login and SSO, integrated with Row Level Security. Billed per monthly active user with a free tier. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Supabase",
        "sourceUrl": "https://supabase.com/docs/guides/auth",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "firebase-auth",
      "slug": "firebase-auth",
      "title": "Firebase Authentication",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Google",
      "source": "Google",
      "sourceUrl": "https://firebase.google.com/docs/auth",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://firebase.google.com/docs/auth",
      "baseUrl": "https://identitytoolkit.googleapis.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Sign-in via email, phone and federated providers (Google, Apple, Facebook, GitHub) with FirebaseUI. Unlimited users on the free Spark plan. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Google",
        "sourceUrl": "https://firebase.google.com/docs/auth",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "workos",
      "slug": "workos",
      "title": "WorkOS",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "WorkOS",
      "source": "WorkOS",
      "sourceUrl": "https://workos.com/docs/sso",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://workos.com/docs/sso",
      "baseUrl": "https://api.workos.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Enterprise-ready SSO (SAML/OIDC), Directory Sync and AuthKit for B2B apps, with SDKs for Go, PHP, Java and C#. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "WorkOS",
        "sourceUrl": "https://workos.com/docs/sso",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "stytch",
      "slug": "stytch",
      "title": "Stytch",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Stytch",
      "source": "Stytch",
      "sourceUrl": "https://stytch.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://stytch.com/docs",
      "baseUrl": "https://api.stytch.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Authentication and authorization with passwordless, multi-tenant and consumer flows, SSO/SCIM, device intelligence and M2M auth. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Stytch",
        "sourceUrl": "https://stytch.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "kinde",
      "slug": "kinde",
      "title": "Kinde",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Kinde",
      "source": "Kinde",
      "sourceUrl": "https://docs.kinde.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.kinde.com/",
      "baseUrl": "https://{your-domain}.kinde.com/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Auth and access management with sign-up/sign-in flows, Management and Account APIs, billing, feature flags and M2M apps. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Kinde",
        "sourceUrl": "https://docs.kinde.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "resend",
      "slug": "resend",
      "title": "Resend",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Resend",
      "source": "Resend",
      "sourceUrl": "https://resend.com/docs/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://resend.com/docs/introduction",
      "baseUrl": "https://api.resend.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Email API for developers with SDKs across many languages, domain management and event webhooks. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Resend",
        "sourceUrl": "https://resend.com/docs/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "sendgrid",
      "slug": "sendgrid",
      "title": "SendGrid",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Twilio",
      "source": "Twilio",
      "sourceUrl": "https://www.twilio.com/docs/sendgrid",
      "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.twilio.com/docs/sendgrid",
      "baseUrl": "https://api.sendgrid.com/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Transactional and marketing email via Mail Send API with dynamic templates, event webhooks and inbound parse. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Twilio",
        "sourceUrl": "https://www.twilio.com/docs/sendgrid",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "postmark",
      "slug": "postmark",
      "title": "Postmark",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Postmark (ActiveCampaign)",
      "source": "Postmark (ActiveCampaign)",
      "sourceUrl": "https://postmarkapp.com/developer",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://postmarkapp.com/developer",
      "baseUrl": "https://api.postmarkapp.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Fast transactional and broadcast email with Message Streams, templates, inbound processing and webhooks. Paid with a trial. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Postmark (ActiveCampaign)",
        "sourceUrl": "https://postmarkapp.com/developer",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "mailgun",
      "slug": "mailgun",
      "title": "Mailgun",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Sinch",
      "source": "Sinch",
      "sourceUrl": "https://documentation.mailgun.com/docs/mailgun/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://documentation.mailgun.com/docs/mailgun/",
      "baseUrl": "https://api.mailgun.net/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "APIs to send, receive and track email with SDKs and inbound routing. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Sinch",
        "sourceUrl": "https://documentation.mailgun.com/docs/mailgun/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "loops",
      "slug": "loops",
      "title": "Loops",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Loops",
      "source": "Loops",
      "sourceUrl": "https://loops.so/docs/api-reference/intro",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://loops.so/docs/api-reference/intro",
      "baseUrl": "https://app.loops.so/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Email platform API for contacts, campaigns, transactional email and event-triggered workflows, with official SDKs. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Loops",
        "sourceUrl": "https://loops.so/docs/api-reference/intro",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "onesignal",
      "slug": "onesignal",
      "title": "OneSignal",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "OneSignal",
      "source": "OneSignal",
      "sourceUrl": "https://documentation.onesignal.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://documentation.onesignal.com/docs",
      "baseUrl": "https://api.onesignal.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Omnichannel messaging covering web and mobile push, email, SMS and in-app messages with segmentation and journeys. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "OneSignal",
        "sourceUrl": "https://documentation.onesignal.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "knock",
      "slug": "knock",
      "title": "Knock",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Knock",
      "source": "Knock",
      "sourceUrl": "https://docs.knock.app/",
      "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.knock.app/",
      "baseUrl": "https://api.knock.app/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Notifications infrastructure with a workflow builder delivering email, SMS, push, chat and in-app feeds, plus preference management. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Knock",
        "sourceUrl": "https://docs.knock.app/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "supabase",
      "slug": "supabase",
      "title": "Supabase",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Supabase",
      "source": "Supabase",
      "sourceUrl": "https://supabase.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://supabase.com/docs",
      "baseUrl": "https://{project-id}.supabase.co",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Open-source backend platform: full Postgres database, realtime, file storage, edge functions and auto-generated REST/GraphQL APIs. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Supabase",
        "sourceUrl": "https://supabase.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "firebase",
      "slug": "firebase",
      "title": "Firebase",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Google",
      "source": "Google",
      "sourceUrl": "https://firebase.google.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://firebase.google.com/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "App platform with Firestore and Realtime Database (NoSQL), Cloud Storage and Cloud Functions on managed Google Cloud infrastructure. Free Spark plan then pay-as-you-go. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Google",
        "sourceUrl": "https://firebase.google.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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-workers",
      "slug": "cloudflare-workers",
      "title": "Cloudflare Workers",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Cloudflare",
      "source": "Cloudflare",
      "sourceUrl": "https://developers.cloudflare.com/workers/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.cloudflare.com/workers/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Serverless platform at the edge with storage primitives: D1 (SQL), KV (key-value), R2 (object storage, zero egress) and Durable Objects. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Cloudflare",
        "sourceUrl": "https://developers.cloudflare.com/workers/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "vercel",
      "slug": "vercel",
      "title": "Vercel",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Vercel",
      "source": "Vercel",
      "sourceUrl": "https://vercel.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://vercel.com/docs",
      "baseUrl": "https://api.vercel.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Deploy and scale apps with serverless Functions, routing middleware, Blob/Edge Config storage and Marketplace database integrations. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Vercel",
        "sourceUrl": "https://vercel.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "neon",
      "slug": "neon",
      "title": "Neon",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Neon (Databricks)",
      "source": "Neon (Databricks)",
      "sourceUrl": "https://neon.com/docs/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://neon.com/docs/introduction",
      "baseUrl": "https://console.neon.tech/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Serverless Postgres with branching, autoscaling, scale-to-zero and instant restore, plus an HTTPS Data API. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Neon (Databricks)",
        "sourceUrl": "https://neon.com/docs/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "upstash",
      "slug": "upstash",
      "title": "Upstash",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Upstash",
      "source": "Upstash",
      "sourceUrl": "https://upstash.com/docs/redis/overall/getstarted",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://upstash.com/docs/redis/overall/getstarted",
      "baseUrl": "https://{endpoint}.upstash.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Serverless Redis with per-request pricing, global replication and a REST API for edge and serverless runtimes. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Upstash",
        "sourceUrl": "https://upstash.com/docs/redis/overall/getstarted",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "planetscale",
      "slug": "planetscale",
      "title": "PlanetScale",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "PlanetScale",
      "source": "PlanetScale",
      "sourceUrl": "https://planetscale.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://planetscale.com/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Fully managed Vitess (MySQL) and Postgres clusters on NVMe with branching, non-blocking schema changes and connection pooling. Paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PlanetScale",
        "sourceUrl": "https://planetscale.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "turso",
      "slug": "turso",
      "title": "Turso",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Turso",
      "source": "Turso",
      "sourceUrl": "https://docs.turso.tech/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.turso.tech/introduction",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "SQLite/libSQL database for edge and on-device use with native vector search, plus Turso Cloud offering branching and backups. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Turso",
        "sourceUrl": "https://docs.turso.tech/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "appwrite",
      "slug": "appwrite",
      "title": "Appwrite",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Appwrite",
      "source": "Appwrite",
      "sourceUrl": "https://appwrite.io/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://appwrite.io/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Open-source backend with auth, databases, storage, functions and messaging via REST/GraphQL/Realtime APIs; cloud or self-hosted. Free tier then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Appwrite",
        "sourceUrl": "https://appwrite.io/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "pocketbase",
      "slug": "pocketbase",
      "title": "PocketBase",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "PocketBase",
      "source": "PocketBase",
      "sourceUrl": "https://pocketbase.io/docs/",
      "tier": "open",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://pocketbase.io/docs/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Open-source single-file backend with embedded SQLite, realtime subscriptions, built-in auth and an admin dashboard; self-hosted and free. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "PocketBase",
        "sourceUrl": "https://pocketbase.io/docs/",
        "sourceType": "Curated source",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "openai-api",
      "slug": "openai-api",
      "title": "OpenAI API ~ GPT models, embeddings, images, audio",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "OpenAI",
      "source": "OpenAI",
      "sourceUrl": "https://developers.openai.com/api/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.openai.com/api/reference/overview",
      "baseUrl": "https://api.openai.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer API key; chat, embeddings, image and audio endpoints. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "OpenAI",
        "sourceUrl": "https://developers.openai.com/api/reference/overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "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",
        "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": "google-gemini-api",
      "slug": "google-gemini-api",
      "title": "Google Gemini API ~ multimodal LLM",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Google",
      "source": "Google",
      "sourceUrl": "https://ai.google.dev/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "x-goog-api-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://ai.google.dev/api",
      "baseUrl": "https://generativelanguage.googleapis.com/v1beta",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "x-goog-api-key header; has a free tier. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Google",
        "sourceUrl": "https://ai.google.dev/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "groq-api",
      "slug": "groq-api",
      "title": "Groq API ~ fast LLM inference",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Groq",
      "source": "Groq",
      "sourceUrl": "https://console.groq.com/docs/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://console.groq.com/docs/api-reference",
      "baseUrl": "https://api.groq.com/openai/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer key, OpenAI-compatible; low-latency inference. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Groq",
        "sourceUrl": "https://console.groq.com/docs/api-reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "mistral-api",
      "slug": "mistral-api",
      "title": "Mistral AI API ~ open and frontier LLMs",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Mistral AI",
      "source": "Mistral AI",
      "sourceUrl": "https://docs.mistral.ai/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.mistral.ai/api/",
      "baseUrl": "https://api.mistral.ai/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer key; chat and embeddings. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Mistral AI",
        "sourceUrl": "https://docs.mistral.ai/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "cohere-api",
      "slug": "cohere-api",
      "title": "Cohere API ~ LLMs, embeddings, rerank",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Cohere",
      "source": "Cohere",
      "sourceUrl": "https://docs.cohere.com/reference/about",
      "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.cohere.com/reference/about",
      "baseUrl": "https://api.cohere.com/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer key; strong embeddings and rerank for RAG. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Cohere",
        "sourceUrl": "https://docs.cohere.com/reference/about",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "perplexity-api",
      "slug": "perplexity-api",
      "title": "Perplexity API ~ web-grounded answers and search",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Perplexity",
      "source": "Perplexity",
      "sourceUrl": "https://docs.perplexity.ai/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://docs.perplexity.ai/api-reference",
      "baseUrl": "https://api.perplexity.ai",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer key; LLM responses with live web search. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Perplexity",
        "sourceUrl": "https://docs.perplexity.ai/api-reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "openrouter-api",
      "slug": "openrouter-api",
      "title": "OpenRouter API ~ one endpoint for many LLMs",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "OpenRouter",
      "source": "OpenRouter",
      "sourceUrl": "https://openrouter.ai/docs/quickstart",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://openrouter.ai/docs/quickstart",
      "baseUrl": "https://openrouter.ai/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer key, OpenAI-compatible; routes across many model providers. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "OpenRouter",
        "sourceUrl": "https://openrouter.ai/docs/quickstart",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "huggingface-inference-providers",
      "slug": "huggingface-inference-providers",
      "title": "Hugging Face Inference Providers ~ run open models",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Hugging Face",
      "source": "Hugging Face",
      "sourceUrl": "https://huggingface.co/docs/inference-providers/index",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://huggingface.co/docs/inference-providers/index",
      "baseUrl": "https://router.huggingface.co/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "HF token; one token across many providers, has free tier. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Hugging Face",
        "sourceUrl": "https://huggingface.co/docs/inference-providers/index",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "replicate-api",
      "slug": "replicate-api",
      "title": "Replicate API ~ run and host ML models",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Replicate",
      "source": "Replicate",
      "sourceUrl": "https://replicate.com/docs/reference/http",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://replicate.com/docs/reference/http",
      "baseUrl": "https://api.replicate.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer token; predictions for image, video, audio and LLM models. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Replicate",
        "sourceUrl": "https://replicate.com/docs/reference/http",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "elevenlabs-api",
      "slug": "elevenlabs-api",
      "title": "ElevenLabs API ~ text-to-speech and voices",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "ElevenLabs",
      "source": "ElevenLabs",
      "sourceUrl": "https://elevenlabs.io/docs/api-reference/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://elevenlabs.io/docs/api-reference/introduction",
      "baseUrl": "https://api.elevenlabs.io/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "API key; realistic TTS, voice cloning, dubbing. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ElevenLabs",
        "sourceUrl": "https://elevenlabs.io/docs/api-reference/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "assemblyai-api",
      "slug": "assemblyai-api",
      "title": "AssemblyAI API ~ speech-to-text and audio AI",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "AssemblyAI",
      "source": "AssemblyAI",
      "sourceUrl": "https://www.assemblyai.com/docs/api-reference/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://www.assemblyai.com/docs/api-reference/overview",
      "baseUrl": "https://api.assemblyai.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Authorization header API key; transcription plus real-time streaming. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "AssemblyAI",
        "sourceUrl": "https://www.assemblyai.com/docs/api-reference/overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "deepgram-api",
      "slug": "deepgram-api",
      "title": "Deepgram API ~ speech-to-text and audio",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Deepgram",
      "source": "Deepgram",
      "sourceUrl": "https://developers.deepgram.com/reference/deepgram-api-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://developers.deepgram.com/reference/deepgram-api-overview",
      "baseUrl": "https://api.deepgram.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Token-based API key; streaming and pre-recorded transcription. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Deepgram",
        "sourceUrl": "https://developers.deepgram.com/reference/deepgram-api-overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "stability-ai-api",
      "slug": "stability-ai-api",
      "title": "Stability AI API ~ Stable Diffusion image generation",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Stability AI",
      "source": "Stability AI",
      "sourceUrl": "https://platform.stability.ai/docs/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://platform.stability.ai/docs/api-reference",
      "baseUrl": "https://api.stability.ai/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer API key; text-to-image and image editing. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Stability AI",
        "sourceUrl": "https://platform.stability.ai/docs/api-reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "fal-ai-api",
      "slug": "fal-ai-api",
      "title": "fal.ai API ~ fast generative media models",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "fal",
      "source": "fal",
      "sourceUrl": "https://fal.ai/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://fal.ai/docs",
      "baseUrl": "https://queue.fal.run",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Authorization Key header; image, video, audio and 3D models. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "fal",
        "sourceUrl": "https://fal.ai/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "black-forest-labs-flux-api",
      "slug": "black-forest-labs-flux-api",
      "title": "Black Forest Labs FLUX API ~ image generation and editing",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Black Forest Labs",
      "source": "Black Forest Labs",
      "sourceUrl": "https://docs.bfl.ai/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "x-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.bfl.ai/",
      "baseUrl": "https://api.bfl.ai/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "x-key header; FLUX text-to-image and editing models. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Black Forest Labs",
        "sourceUrl": "https://docs.bfl.ai/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "together-ai-api",
      "slug": "together-ai-api",
      "title": "Together AI API ~ open-model LLM inference",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Together AI",
      "source": "Together AI",
      "sourceUrl": "https://docs.together.ai/docs/introduction",
      "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.together.ai/docs/introduction",
      "baseUrl": "https://api.together.ai/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Bearer key, OpenAI-compatible; many open models plus fine-tuning. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Together AI",
        "sourceUrl": "https://docs.together.ai/docs/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "higgsfield-api",
      "slug": "higgsfield-api",
      "title": "Higgsfield API ~ image, video and audio generation",
      "category": "AI",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Higgsfield",
      "source": "Higgsfield",
      "sourceUrl": "https://docs.higgsfield.ai/",
      "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.higgsfield.ai/",
      "baseUrl": "https://api.higgsfield.ai/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "API key; unified access to generative image, video and audio models. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Higgsfield",
        "sourceUrl": "https://docs.higgsfield.ai/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "unsplash",
      "slug": "unsplash",
      "title": "Unsplash API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Unsplash",
      "source": "Unsplash",
      "sourceUrl": "https://unsplash.com/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://unsplash.com/documentation",
      "baseUrl": "https://api.unsplash.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Free stock photo API, 8.5M+ images, 1000 req/hour on free tier. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Unsplash",
        "sourceUrl": "https://unsplash.com/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "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",
        "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": "cloudinary",
      "slug": "cloudinary",
      "title": "Cloudinary",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Cloudinary",
      "source": "Cloudinary",
      "sourceUrl": "https://cloudinary.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://cloudinary.com/documentation",
      "baseUrl": "https://api.cloudinary.com/v1_1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Image and video upload, transformation, and CDN delivery. Free tier available. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Cloudinary",
        "sourceUrl": "https://cloudinary.com/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "imagekit",
      "slug": "imagekit",
      "title": "ImageKit",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "ImageKit.io",
      "source": "ImageKit.io",
      "sourceUrl": "https://imagekit.io/docs/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://imagekit.io/docs/api-reference",
      "baseUrl": "https://api.imagekit.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Real-time image and video optimization, transformation, and delivery. Free tier available. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ImageKit.io",
        "sourceUrl": "https://imagekit.io/docs/api-reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "removebg",
      "slug": "removebg",
      "title": "remove.bg API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Kaleido / remove.bg",
      "source": "Kaleido / remove.bg",
      "sourceUrl": "https://www.remove.bg/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.remove.bg/api",
      "baseUrl": "https://api.remove.bg/v1.0",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Automatic background removal in one API call; first 50 calls/month free. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Kaleido / remove.bg",
        "sourceUrl": "https://www.remove.bg/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "figma-api",
      "slug": "figma-api",
      "title": "Figma REST API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Figma",
      "source": "Figma",
      "sourceUrl": "https://developers.figma.com/docs/rest-api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.figma.com/docs/rest-api/",
      "baseUrl": "https://api.figma.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Read files, layers, comments, variables, and webhooks; personal access tokens or OAuth2. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Figma",
        "sourceUrl": "https://developers.figma.com/docs/rest-api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "canva-connect",
      "slug": "canva-connect",
      "title": "Canva Connect API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Canva",
      "source": "Canva",
      "sourceUrl": "https://www.canva.dev/docs/connect/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.canva.dev/docs/connect/",
      "baseUrl": "https://api.canva.com/rest",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Programmatically create, edit, and export Canva designs via OAuth2; public integrations need Canva review. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Canva",
        "sourceUrl": "https://www.canva.dev/docs/connect/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-13",
        "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": "iconify",
      "slug": "iconify",
      "title": "Iconify API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Iconify",
      "source": "Iconify",
      "sourceUrl": "https://iconify.design/docs/api/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://iconify.design/docs/api/",
      "baseUrl": "https://api.iconify.design",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Open icon API serving 275k+ icons from 200+ open-source sets as SVG/JSON, no auth. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Iconify",
        "sourceUrl": "https://iconify.design/docs/api/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-13",
        "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": "bannerbear",
      "slug": "bannerbear",
      "title": "Bannerbear API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Bannerbear",
      "source": "Bannerbear",
      "sourceUrl": "https://developers.bannerbear.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://developers.bannerbear.com/",
      "baseUrl": "https://api.bannerbear.com/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Auto-generate images and videos from templates; free trial with 30 credits. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Bannerbear",
        "sourceUrl": "https://developers.bannerbear.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "placid",
      "slug": "placid",
      "title": "Placid REST API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Placid",
      "source": "Placid",
      "sourceUrl": "https://placid.app/docs/rest/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://placid.app/docs/rest/introduction",
      "baseUrl": "https://api.placid.app/api/rest",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Generate images, PDFs, and videos from templates via REST; free trial available. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Placid",
        "sourceUrl": "https://placid.app/docs/rest/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "urlbox",
      "slug": "urlbox",
      "title": "Urlbox Screenshot API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Urlbox",
      "source": "Urlbox",
      "sourceUrl": "https://urlbox.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://urlbox.com/docs",
      "baseUrl": "https://api.urlbox.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Render URLs/HTML to screenshots, PDFs, and video; free tier available. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Urlbox",
        "sourceUrl": "https://urlbox.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "screenshotone",
      "slug": "screenshotone",
      "title": "ScreenshotOne API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "ScreenshotOne",
      "source": "ScreenshotOne",
      "sourceUrl": "https://screenshotone.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://screenshotone.com/docs/",
      "baseUrl": "https://api.screenshotone.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Website screenshot and PDF API with access-key auth; free tier available. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ScreenshotOne",
        "sourceUrl": "https://screenshotone.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "google-maps-platform",
      "slug": "google-maps-platform",
      "title": "Google Maps Platform",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Google",
      "source": "Google",
      "sourceUrl": "https://developers.google.com/maps/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://developers.google.com/maps/documentation",
      "baseUrl": "https://maps.googleapis.com/maps/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Maps, Geocoding, Places, Routes, and Address Validation APIs; usage-based billing with monthly free usage. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Google",
        "sourceUrl": "https://developers.google.com/maps/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "here-platform",
      "slug": "here-platform",
      "title": "HERE Location Services",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "HERE Technologies",
      "source": "HERE Technologies",
      "sourceUrl": "https://docs.here.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.here.com/",
      "baseUrl": "https://geocode.search.hereapi.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Geocoding, search, routing, and maps APIs with API-key auth; free tier available. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "HERE Technologies",
        "sourceUrl": "https://docs.here.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "radar-maps",
      "slug": "radar-maps",
      "title": "Radar Maps Platform",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Radar",
      "source": "Radar",
      "sourceUrl": "https://docs.radar.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.radar.com/",
      "baseUrl": "https://api.radar.io/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Forward/reverse/IP geocoding, address validation, autocomplete, and routing; free tier available. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Radar",
        "sourceUrl": "https://docs.radar.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "nominatim-osm",
      "slug": "nominatim-osm",
      "title": "Nominatim (OpenStreetMap)",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "OpenStreetMap Foundation",
      "source": "OpenStreetMap Foundation",
      "sourceUrl": "https://nominatim.org/release-docs/latest/api/Overview/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://nominatim.org/release-docs/latest/api/Overview/",
      "baseUrl": "https://nominatim.openstreetmap.org",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Open geocoding/reverse-geocoding on OSM data, no auth. Public endpoint limited to 1 req/sec, no autocomplete, attribution required; self-host for heavy use. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "OpenStreetMap Foundation",
        "sourceUrl": "https://nominatim.org/release-docs/latest/api/Overview/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-13",
        "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": "malaysia-postcodes",
      "slug": "malaysia-postcodes",
      "title": "Malaysia Postcodes",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "AsyrafHussin (community)",
      "source": "AsyrafHussin (community)",
      "sourceUrl": "https://github.com/AsyrafHussin/malaysia-postcodes",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/AsyrafHussin/malaysia-postcodes",
      "baseUrl": "https://raw.githubusercontent.com/AsyrafHussin/malaysia-postcodes/master/all.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "MY-specific. Open-source MIT dataset of Malaysian postcodes with city and state, as JSON files plus an npm package (malaysia-postcodes). Static data, not a live geocoding service.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "AsyrafHussin (community)",
        "sourceUrl": "https://github.com/AsyrafHussin/malaysia-postcodes",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "bukku-einvoice",
      "slug": "bukku-einvoice",
      "title": "Bukku Accounting API (MyInvois e-Invoicing)",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Bukku (Bukku Tech Sdn Bhd)",
      "source": "Bukku (Bukku Tech Sdn Bhd)",
      "sourceUrl": "https://developers.bukku.my/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.bukku.my/",
      "baseUrl": "https://api.bukku.my",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "MY cloud accounting platform with a public REST API (Bearer token, 600 req/min) that submits e-invoices to LHDN MyInvois and the Peppol network. API access self-served from Control Panel > Integrations.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Bukku (Bukku Tech Sdn Bhd)",
        "sourceUrl": "https://developers.bukku.my/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "cleartax-myinvois",
      "slug": "cleartax-myinvois",
      "title": "ClearTax Malaysia E-Invoicing API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "ClearTax (Defmacro Software)",
      "source": "ClearTax (Defmacro Software)",
      "sourceUrl": "https://docs.cleartax.in/cleartax-docs/e-invoicing-malaysia-api/e-invoicing-malaysia-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://docs.cleartax.in/cleartax-docs/e-invoicing-malaysia-api/e-invoicing-malaysia-api-reference",
      "baseUrl": "https://api.my.cleartax.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Public REST API reference for LHDN-compliant e-invoicing: generate, upload, status, cancel, get PDF, search taxpayer TIN. Sandbox at api-sandbox.my.cleartax.com. Docs fully public; account needed to call live.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "ClearTax (Defmacro Software)",
        "sourceUrl": "https://docs.cleartax.in/cleartax-docs/e-invoicing-malaysia-api/e-invoicing-malaysia-api-reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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": "storecove-einvoice",
      "slug": "storecove-einvoice",
      "title": "Storecove E-Invoicing API (Malaysia / Peppol)",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Storecove",
      "source": "Storecove",
      "sourceUrl": "https://www.storecove.com/docs/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.storecove.com/docs/",
      "baseUrl": "https://api.storecove.com/api/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Single RESTful JSON API to send/receive e-invoices across 30+ frameworks incl. Malaysia (MY) LHDN + Peppol PINT. Bearer token auth; 30-day sandbox.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Storecove",
        "sourceUrl": "https://www.storecove.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-13",
        "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": "jakim-esolat",
      "slug": "jakim-esolat",
      "title": "JAKIM e-Solat Prayer Times API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "JAKIM",
      "source": "JAKIM",
      "sourceUrl": "https://www.e-solat.gov.my/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.e-solat.gov.my/",
      "baseUrl": "https://www.e-solat.gov.my/index.php?r=esolatApi/takwimsolat&period=today&zone=WLY01",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Official government prayer-time API returning JSON (imsak/fajr/syuruk/dhuhr/asr/maghrib/isha) per zone, with Hijri date. No auth. Verified returns live JSON; undocumented but stable public endpoint widely used.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JAKIM",
        "sourceUrl": "https://www.e-solat.gov.my/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "waktusolat-app",
      "slug": "waktusolat-app",
      "title": "Waktu Solat API (Malaysia Prayer Times)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "waktusolat.app",
      "source": "waktusolat.app",
      "sourceUrl": "https://api.waktusolat.app/docs",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.waktusolat.app/docs",
      "baseUrl": "https://api.waktusolat.app",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Free community REST wrapper over JAKIM e-Solat with developer-friendly docs. Endpoints /v2/solat/zone/{zone} and /v2/solat/gps/{lat}/{long}; zone detection by coordinates. Not officially affiliated with JAKIM.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "waktusolat.app",
        "sourceUrl": "https://api.waktusolat.app/docs",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-13",
        "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": "brankas-open-finance",
      "slug": "brankas-open-finance",
      "title": "Brankas Open Finance API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY",
        "ID",
        "SG",
        "PH"
      ],
      "provider": "Brankas",
      "source": "Brankas",
      "sourceUrl": "https://docs.brankas.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.brankas.com/",
      "baseUrl": "https://direct.bnk.to",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-13",
      "lastChecked": "2026-06-13",
      "rateLimit": null,
      "note": "Southeast Asia open-finance APIs (Direct account access, Disburse payments, Account Opening) covering Malaysia among other markets. x-api-key auth; sandbox keys via dashboard.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Brankas",
        "sourceUrl": "https://docs.brankas.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-13",
        "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",
        "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": "revenue-monster",
      "slug": "revenue-monster",
      "title": "Revenue Monster ~ Malaysia e-wallet & QR payments",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Revenue Monster",
      "source": "Revenue Monster",
      "sourceUrl": "https://doc.revenuemonster.my/docs/introduction/overview/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://doc.revenuemonster.my/docs/introduction/overview/",
      "baseUrl": "https://base.revenuemonster.my/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "MY-origin; OAuth client_credentials + RSA-signed requests; free self-serve sandbox and SDKs.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Revenue Monster",
        "sourceUrl": "https://doc.revenuemonster.my/docs/introduction/overview/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-15",
        "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.co.id/docs/core-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.ipay88.co.id/docs/core-api",
      "baseUrl": "https://payment.ipay88.com.my",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Long-running MY gateway; SHA256-signed Checkout/Requery endpoints, credentials via merchant onboarding.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Mobile88.Com Sdn Bhd",
        "sourceUrl": "https://www.ipay88.co.id/docs/core-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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": "shuftipro",
      "slug": "shuftipro",
      "title": "Shufti Pro ~ eKYC, AML, biometric verification",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Shufti Pro",
      "source": "Shufti Pro",
      "sourceUrl": "https://developers.shuftipro.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.shuftipro.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Global, works for MY; documented verification endpoints, SHA256 signature.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Shufti Pro",
        "sourceUrl": "https://developers.shuftipro.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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",
        "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",
        "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": "delyva",
      "slug": "delyva",
      "title": "Delyva ~ delivery quote, order & label API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Delyva",
      "source": "Delyva",
      "sourceUrl": "https://docs.api.delyva.com/?version=latest",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-Delyvax-Access-Token",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.api.delyva.com/?version=latest",
      "baseUrl": "https://api.delyva.com/v1.0",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "MY-origin; public docs, X-Delyvax-Access-Token header, self-serve key from portal.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Delyva",
        "sourceUrl": "https://docs.api.delyva.com/?version=latest",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "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": "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",
        "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",
        "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",
        "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",
        "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",
        "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": "shopify-admin",
      "slug": "shopify-admin",
      "title": "Shopify Admin API ~ store, products & orders API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Shopify",
      "source": "Shopify",
      "sourceUrl": "https://shopify.dev/docs/api/admin-rest",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://shopify.dev/docs/api/admin-rest",
      "baseUrl": "https://{shop}.myshopify.com/admin/api/2024-01",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY; OAuth access tokens, needs a paid store.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Shopify",
        "sourceUrl": "https://shopify.dev/docs/api/admin-rest",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-15",
        "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": "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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": "firebase-cloud-messaging",
      "slug": "firebase-cloud-messaging",
      "title": "Firebase Cloud Messaging ~ cross-platform push notifications",
      "category": "Communications",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Google (Firebase)",
      "source": "Google (Firebase)",
      "sourceUrl": "https://firebase.google.com/docs/cloud-messaging",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://firebase.google.com/docs/cloud-messaging",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Global, works for MY; OAuth2 service-account bearer, FCM HTTP v1.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Google (Firebase)",
        "sourceUrl": "https://firebase.google.com/docs/cloud-messaging",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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://docs.data.nasdaq.com/docs/getting-started",
      "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.data.nasdaq.com/docs/getting-started",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "Global, works for MY. REST + tables API; many free & premium commodity/energy/metals datasets.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Nasdaq",
        "sourceUrl": "https://docs.data.nasdaq.com/docs/getting-started",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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/apollo-api-faqs",
      "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/apollo-api-faqs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-15",
      "lastChecked": "2026-06-15",
      "rateLimit": null,
      "note": "B2B contact and company enrichment from 275M+ profiles. Endpoints: People Enrichment, Company Enrichment, People Search. Free tier available; bulk enrichment on paid plans.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Apollo.io",
        "sourceUrl": "https://docs.apollo.io/docs/apollo-api-faqs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-15",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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": "binance-spot-api",
      "slug": "binance-spot-api",
      "title": "Binance Spot API Market Data",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Binance",
      "source": "Binance",
      "sourceUrl": "https://github.com/binance/binance-spot-api-docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://github.com/binance/binance-spot-api-docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Public market data (OHLCV, order book, trades) is free with no auth. Private trading requires HMAC-SHA256-signed keys. Binance is not a licensed DAX under SC Malaysia — trading integration carries regulatory risk; read-only market data is safe.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Binance",
        "sourceUrl": "https://github.com/binance/binance-spot-api-docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "blockchain-com-data-api",
      "slug": "blockchain-com-data-api",
      "title": "Blockchain.com Bitcoin Data API",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Blockchain.com",
      "source": "Blockchain.com",
      "sourceUrl": "https://www.blockchain.com/explorer/api/blockchain_api",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.blockchain.com/explorer/api/blockchain_api",
      "baseUrl": "https://api.blockchain.info/stats",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": "10 req/sec per IP",
      "note": "Bitcoin-only. Query blocks, transactions, address balances and unspent outputs. Fully public, no API key required; 10 req/sec per IP. Zero onboarding friction for BTC wallets and monitors.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Blockchain.com",
        "sourceUrl": "https://www.blockchain.com/explorer/api/blockchain_api",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "rateLimit": "10 req/sec per IP",
        "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": "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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": "xai-grok",
      "slug": "xai-grok",
      "title": "xAI Grok API",
      "category": "AI",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "xAI",
      "source": "xAI",
      "sourceUrl": "https://docs.x.ai/docs/overview",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.x.ai/docs/overview",
      "baseUrl": "https://api.x.ai/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Grok 4/4.1 LLMs via OpenAI-compatible REST endpoint. Pay-per-token from $0.20/1M input tokens. New accounts get $25 promo credits. Strong reasoning and coding.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "xAI",
        "sourceUrl": "https://docs.x.ai/docs/overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-29",
        "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": "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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": "opencorporates",
      "slug": "opencorporates",
      "title": "OpenCorporates ~ open company registry data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "OpenCorporates",
      "source": "OpenCorporates",
      "sourceUrl": "https://api.opencorporates.com/documentation/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://api.opencorporates.com/documentation/API-Reference",
      "baseUrl": "https://api.opencorporates.com/v0.4",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-28",
      "lastChecked": "2026-06-28",
      "rateLimit": null,
      "note": "Largest open database of companies — aggregates Malaysian SSM (ROC/ROB) records alongside 130+ jurisdictions. REST API returns JSON; free API token via self-serve signup (rate-limited), paid plans for higher volume, and free access for open-data projects under the same open licence. MY data included.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "OpenCorporates",
        "sourceUrl": "https://api.opencorporates.com/documentation/API-Reference",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-28",
        "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": "opendosm",
      "slug": "opendosm",
      "title": "OpenDOSM ~ official Malaysian statistics",
      "category": "Government services",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Department of Statistics Malaysia (DOSM)",
      "source": "Department of Statistics Malaysia (DOSM)",
      "sourceUrl": "https://developer.data.gov.my/static-api/opendosm",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://developer.data.gov.my/static-api/opendosm",
      "baseUrl": "https://api.data.gov.my/opendosm?id=cpi_headline&limit=1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless REST API over DOSM's open statistics catalogue (GDP, household income, poverty, population, prices and more). GET /opendosm/?id=<dataset> returns JSON. Free and open, no auth. MY-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Department of Statistics Malaysia (DOSM)",
        "sourceUrl": "https://developer.data.gov.my/static-api/opendosm",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "gdex-open-platform",
      "slug": "gdex-open-platform",
      "title": "GDEX Open Platform (myGDEX) ~ consignment, pickup & tracking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "GD Express (GDEX)",
      "source": "GD Express (GDEX)",
      "sourceUrl": "https://myopenplatform.gdexpress.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://myopenplatform.gdexpress.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Direct integration with one of Malaysia's largest couriers: generate consignment notes, book pickups and track parcels via a subscription-key developer portal. MY-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "GD Express (GDEX)",
        "sourceUrl": "https://myopenplatform.gdexpress.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "borzo-malaysia-business-api",
      "slug": "borzo-malaysia-business-api",
      "title": "Borzo Malaysia Business API ~ same-day intracity delivery orders",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Borzo (ex-MrSpeedy / Dostavista)",
      "source": "Borzo (ex-MrSpeedy / Dostavista)",
      "sourceUrl": "https://borzodelivery.com/my/business-api/doc",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://borzodelivery.com/my/business-api/doc",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "On-demand same-day courier in KL/Malaysia: calculate fares, place and manage delivery orders, and subscribe to status webhooks. SEA, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Borzo (ex-MrSpeedy / Dostavista)",
        "sourceUrl": "https://borzodelivery.com/my/business-api/doc",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-29",
        "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": "2c2p-payment-gateway",
      "slug": "2c2p-payment-gateway",
      "title": "2C2P Payment Gateway ~ cards, FPX & e-wallets across SEA",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY",
        "TH",
        "ID",
        "SG",
        "PH",
        "VN"
      ],
      "provider": "2C2P",
      "source": "2C2P",
      "sourceUrl": "https://developer.2c2p.com/docs",
      "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.2c2p.com/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Major Southeast Asian gateway accepting cards, Malaysian FPX online banking, DuitNow and e-wallets, with hosted payment pages and tokenisation. SEA, works for MY.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "2C2P",
        "sourceUrl": "https://developer.2c2p.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "finverse-open-banking",
      "slug": "finverse-open-banking",
      "title": "Finverse ~ open-banking data aggregation (incl. MY banks)",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY",
        "ID",
        "SG",
        "PH",
        "VN"
      ],
      "provider": "Finverse",
      "source": "Finverse",
      "sourceUrl": "https://docs.finverse.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.finverse.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Consent-based account, balance and transaction data across Asian banks; covers major banks in Malaysia, Indonesia and Singapore. SEA (MY/ID/SG).",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Finverse",
        "sourceUrl": "https://docs.finverse.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "bizappay",
      "slug": "bizappay",
      "title": "BizAppay ~ FPX/DuitNow bill creation & payment links",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "BizAppay",
      "source": "BizAppay",
      "sourceUrl": "https://documenter.getpostman.com/view/6258355/SzmZdLp3?version=latest",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://documenter.getpostman.com/view/6258355/SzmZdLp3?version=latest",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Lightweight Malaysian gateway for FPX and DuitNow: create bills, payment links and recurring collections via a published Postman API. MY-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "BizAppay",
        "sourceUrl": "https://documenter.getpostman.com/view/6258355/SzmZdLp3?version=latest",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "bayarcash",
      "slug": "bayarcash",
      "title": "Bayarcash ~ real-time-settlement FPX, DuitNow & direct debit",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Bayarcash (Web Impian)",
      "source": "Bayarcash (Web Impian)",
      "sourceUrl": "https://docs.bayarcash.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.bayarcash.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Malaysian payment gateway billed as real-time settlement: FPX, DuitNow Online Banking/Wallets, DuitNow QR, direct debit and a PHP SDK. MY-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Bayarcash (Web Impian)",
        "sourceUrl": "https://docs.bayarcash.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-29",
        "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": "paydibs",
      "slug": "paydibs",
      "title": "PayDibs ~ Malaysian multi-channel payment gateway (v3 API)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "PayDibs",
      "source": "PayDibs",
      "sourceUrl": "https://v3api-docs.paydibs.com/docs/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://v3api-docs.paydibs.com/docs/introduction",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Malaysian gateway aggregating FPX, cards and e-wallets through a single v3 API with hosted and direct integration. MY-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PayDibs",
        "sourceUrl": "https://v3api-docs.paydibs.com/docs/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "opn-payments-omise",
      "slug": "opn-payments-omise",
      "title": "Opn Payments (Omise) ~ cards, FPX & Alipay+ for SEA",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY",
        "TH"
      ],
      "provider": "Opn (formerly Omise)",
      "source": "Opn (formerly Omise)",
      "sourceUrl": "https://docs.omise.co/",
      "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.omise.co/",
      "baseUrl": "https://api.omise.co",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Developer-friendly SEA gateway that expanded to Malaysia: cards, FPX, instalments and Alipay+, with Omise.js and server SDKs. SEA, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Opn (formerly Omise)",
        "sourceUrl": "https://docs.omise.co/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "payhalal",
      "slug": "payhalal",
      "title": "PayHalal ~ Shariah-compliant payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Souqa Fintech (PayHalal)",
      "source": "Souqa Fintech (PayHalal)",
      "sourceUrl": "https://souqa-fintech.gitbook.io/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://souqa-fintech.gitbook.io/api-docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "World's first Islamic/Shariah-compliant gateway (BNM-regulated acquirer): FPX, DuitNow QR, cards, e-wallets and Islamic BNPL, integrated via app-id + signed hash. MY-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Souqa Fintech (PayHalal)",
        "sourceUrl": "https://souqa-fintech.gitbook.io/api-docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "attom-data-property",
      "slug": "attom-data-property",
      "title": "ATTOM Property Data API ~ US property, AVM, sales & tax records",
      "category": "Property",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "ATTOM",
      "source": "ATTOM",
      "sourceUrl": "https://api.developer.attomdata.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://api.developer.attomdata.com/docs",
      "baseUrl": "https://api.gateway.attomdata.com/propertyapi/v1.0.0",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Deep US real-estate data: parcels, owners, AVM valuations, deeds, sales and tax history. Free trial key, then paid plans. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ATTOM",
        "sourceUrl": "https://api.developer.attomdata.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "rentcast",
      "slug": "rentcast",
      "title": "RentCast API ~ US property records, AVM value & rent estimates",
      "category": "Property",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "RentCast",
      "source": "RentCast",
      "sourceUrl": "https://developers.rentcast.io/reference/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.rentcast.io/reference/introduction",
      "baseUrl": "https://api.rentcast.io/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Property records, owner info, value (AVM) and rent estimates plus active listings across the US. Free tier (50 calls/mo) then paid. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "RentCast",
        "sourceUrl": "https://developers.rentcast.io/reference/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "estated-property",
      "slug": "estated-property",
      "title": "Estated Property Data API ~ US parcel, owner & valuation data",
      "category": "Property",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Estated",
      "source": "Estated",
      "sourceUrl": "https://estated.com/developers/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://estated.com/developers/docs",
      "baseUrl": "https://apis.estated.com/v4",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Single-endpoint lookups for US property characteristics, ownership, assessments and market value. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Estated",
        "sourceUrl": "https://estated.com/developers/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "mashvisor",
      "slug": "mashvisor",
      "title": "Mashvisor API ~ US real-estate investment & rental analytics",
      "category": "Property",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Mashvisor",
      "source": "Mashvisor",
      "sourceUrl": "https://www.mashvisor.com/data-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://www.mashvisor.com/data-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Investment-focused data: short/long-term rental income, cap rate, comps and neighborhood analytics for US markets (also via RapidAPI). Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Mashvisor",
        "sourceUrl": "https://www.mashvisor.com/data-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "housecanary",
      "slug": "housecanary",
      "title": "HouseCanary Property API ~ US valuations, market & rental analytics",
      "category": "Property",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "HouseCanary",
      "source": "HouseCanary",
      "sourceUrl": "https://api-docs.housecanary.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://api-docs.housecanary.com/",
      "baseUrl": "https://api.housecanary.com/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Institutional-grade US property valuations (AVM), value forecasts, rental AVM and market metrics. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "HouseCanary",
        "sourceUrl": "https://api-docs.housecanary.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "gleif-lei",
      "slug": "gleif-lei",
      "title": "GLEIF LEI API ~ global Legal Entity Identifier registry",
      "category": "Government services",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "GLEIF",
      "source": "GLEIF",
      "sourceUrl": "https://www.gleif.org/en/lei-data/gleif-api",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.gleif.org/en/lei-data/gleif-api",
      "baseUrl": "https://api.gleif.org/api/v1/lei-records?page[size]=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless lookup of 3.3M+ Legal Entity Identifiers worldwide with legal name, address, registration and ownership links. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "GLEIF",
        "sourceUrl": "https://www.gleif.org/en/lei-data/gleif-api",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "companies-house-uk",
      "slug": "companies-house-uk",
      "title": "Companies House API ~ UK company registry, filings & officers",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "UK Companies House",
      "source": "UK Companies House",
      "sourceUrl": "https://developer.company-information.service.gov.uk/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.company-information.service.gov.uk/",
      "baseUrl": "https://api.company-information.service.gov.uk",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Official UK company register: profiles, officers, filing history and charges. Free API key, HTTP-basic auth. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "UK Companies House",
        "sourceUrl": "https://developer.company-information.service.gov.uk/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "sec-edgar",
      "slug": "sec-edgar",
      "title": "SEC EDGAR APIs ~ US public-company filings & financial data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "U.S. Securities and Exchange Commission",
      "source": "U.S. Securities and Exchange Commission",
      "sourceUrl": "https://www.sec.gov/search-filings/edgar-application-programming-interfaces",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.sec.gov/search-filings/edgar-application-programming-interfaces",
      "baseUrl": "https://data.sec.gov",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless JSON APIs for US public-company submissions and XBRL financial concepts (requires a descriptive User-Agent). Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "U.S. Securities and Exchange Commission",
        "sourceUrl": "https://www.sec.gov/search-filings/edgar-application-programming-interfaces",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "federal-register",
      "slug": "federal-register",
      "title": "Federal Register API ~ US government documents, rules & notices",
      "category": "Government services",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "U.S. Office of the Federal Register / GPO",
      "source": "U.S. Office of the Federal Register / GPO",
      "sourceUrl": "https://www.federalregister.gov/developers/documentation/api/v1",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.federalregister.gov/developers/documentation/api/v1",
      "baseUrl": "https://www.federalregister.gov/api/v1/documents.json?per_page=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless API for US federal rules, proposed rules, notices and presidential documents with full-text search. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "U.S. Office of the Federal Register / GPO",
        "sourceUrl": "https://www.federalregister.gov/developers/documentation/api/v1",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "opensanctions",
      "slug": "opensanctions",
      "title": "OpenSanctions API ~ global sanctions, PEP & watchlist screening",
      "category": "Government services",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "OpenSanctions",
      "source": "OpenSanctions",
      "sourceUrl": "https://www.opensanctions.org/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.opensanctions.org/docs/api/",
      "baseUrl": "https://api.opensanctions.org",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Match entities against consolidated global sanctions lists, PEPs and watchlists; hosted API needs a key (data is open / self-hostable). Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "OpenSanctions",
        "sourceUrl": "https://www.opensanctions.org/docs/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "freshbooks",
      "slug": "freshbooks",
      "title": "FreshBooks Accounting API ~ invoicing, expenses & accounting",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "FreshBooks",
      "source": "FreshBooks",
      "sourceUrl": "https://www.freshbooks.com/api/start",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.freshbooks.com/api/start",
      "baseUrl": "https://api.freshbooks.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "OAuth2 REST API for invoices, expenses, clients, payments and accounting for small-business/freelancer books. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "FreshBooks",
        "sourceUrl": "https://www.freshbooks.com/api/start",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "wave-accounting",
      "slug": "wave-accounting",
      "title": "Wave Accounting GraphQL API ~ invoicing & small-business accounting",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Wave",
      "source": "Wave",
      "sourceUrl": "https://developer.waveapps.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.waveapps.com/",
      "baseUrl": "https://gql.waveapps.com/graphql/public",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "GraphQL API for businesses, invoices, customers and accounting transactions in Wave. OAuth2 with a free developer account. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Wave",
        "sourceUrl": "https://developer.waveapps.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "sage-accounting",
      "slug": "sage-accounting",
      "title": "Sage Accounting API ~ cloud bookkeeping, invoices & ledger",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Sage",
      "source": "Sage",
      "sourceUrl": "https://developer.sage.com/accounting/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.sage.com/accounting/",
      "baseUrl": "https://api.accounting.sage.com/v3.1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "REST API for Sage Accounting: contacts, sales/purchase invoices, ledger, banking and tax. OAuth2, subscription required. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Sage",
        "sourceUrl": "https://developer.sage.com/accounting/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "odoo-external-api",
      "slug": "odoo-external-api",
      "title": "Odoo External API ~ open-source ERP & accounting (XML-RPC/JSON-RPC)",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Odoo",
      "source": "Odoo",
      "sourceUrl": "https://www.odoo.com/documentation/17.0/developer/reference/external_api.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://www.odoo.com/documentation/17.0/developer/reference/external_api.html",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Programmatic access to any Odoo instance's accounting, inventory, CRM and ERP models via XML-RPC/JSON-RPC using an API key. Self-host (free) or Odoo Online. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Odoo",
        "sourceUrl": "https://www.odoo.com/documentation/17.0/developer/reference/external_api.html",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "dynamics-365-business-central",
      "slug": "dynamics-365-business-central",
      "title": "Microsoft Dynamics 365 Business Central API ~ ERP, finance & operations",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Microsoft",
      "source": "Microsoft",
      "sourceUrl": "https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/",
      "baseUrl": "https://api.businesscentral.dynamics.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "OData/REST API for Business Central ERP: accounts, journals, sales/purchase orders, items and customers. OAuth2 via Microsoft Entra. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Microsoft",
        "sourceUrl": "https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "financio",
      "slug": "financio",
      "title": "Financio Developer API ~ SEA cloud accounting & e-invoicing",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Financio (Asian Business Software Solutions)",
      "source": "Financio (Asian Business Software Solutions)",
      "sourceUrl": "https://developer.financio.co/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.financio.co/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Cloud accounting built for Malaysian/SEA SMEs (invoicing, bookkeeping, MyInvois e-invoicing); programmatic access via Financio's developer program. MY-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Financio (Asian Business Software Solutions)",
        "sourceUrl": "https://developer.financio.co/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "amadeus-self-service",
      "slug": "amadeus-self-service",
      "title": "Amadeus Self-Service APIs ~ flight search, booking, hotels & travel data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Amadeus",
      "source": "Amadeus",
      "sourceUrl": "https://developers.amadeus.com/self-service",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.amadeus.com/self-service",
      "baseUrl": "https://test.api.amadeus.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Self-serve travel APIs: flight offers search & booking, hotel search, airport/airline data and trip insights. Free test environment, pay-as-you-go in production. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Amadeus",
        "sourceUrl": "https://developers.amadeus.com/self-service",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "duffel",
      "slug": "duffel",
      "title": "Duffel API ~ flight & hotel search, booking & ticketing",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Duffel",
      "source": "Duffel",
      "sourceUrl": "https://duffel.com/docs/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://duffel.com/docs/api",
      "baseUrl": "https://api.duffel.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Modern travel API to search, book and ticket flights (and stays) across many airlines from one integration. Free test mode, transaction-based pricing. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Duffel",
        "sourceUrl": "https://duffel.com/docs/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-06-29",
        "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": "opensky-network",
      "slug": "opensky-network",
      "title": "OpenSky Network API ~ live ADS-B aircraft positions & flights",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "OpenSky Network",
      "source": "OpenSky Network",
      "sourceUrl": "https://openskynetwork.github.io/opensky-api/rest.html",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://openskynetwork.github.io/opensky-api/rest.html",
      "baseUrl": "https://opensky-network.org/api/states/all?lamin=1.2&lomin=103.6&lamax=1.5&lomax=104.1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": "anonymous access is rate-limited (free account raises it)",
      "note": "Keyless real-time aircraft state vectors and flight data from a community ADS-B network (anonymous access is rate-limited; free account raises limits). Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "OpenSky Network",
        "sourceUrl": "https://openskynetwork.github.io/opensky-api/rest.html",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "rateLimit": "anonymous access is rate-limited (free account raises it)",
        "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": "travelpayouts",
      "slug": "travelpayouts",
      "title": "Travelpayouts Data API ~ flight prices, fares & travel affiliate data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Travelpayouts",
      "source": "Travelpayouts",
      "sourceUrl": "https://travelpayouts.github.io/slate/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://travelpayouts.github.io/slate/",
      "baseUrl": "https://api.travelpayouts.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Cached cheapest fares, price calendars, popular routes and airline/airport data for travel affiliates. Free to join, token-based. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Travelpayouts",
        "sourceUrl": "https://travelpayouts.github.io/slate/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-29",
        "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": "transitland",
      "slug": "transitland",
      "title": "Transitland API ~ global public-transit feeds, routes & stops",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Interline / Transitland",
      "source": "Interline / Transitland",
      "sourceUrl": "https://www.transit.land/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.transit.land/documentation",
      "baseUrl": "https://transit.land/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Aggregated GTFS/GTFS-RT transit data (operators, routes, stops, schedules) worldwide, including Malaysian feeds. Free API key required. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Interline / Transitland",
        "sourceUrl": "https://www.transit.land/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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-meteo",
      "slug": "open-meteo",
      "title": "Open-Meteo ~ keyless weather forecast",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Open-Meteo",
      "source": "Open-Meteo",
      "sourceUrl": "https://open-meteo.com/en/docs",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://open-meteo.com/en/docs",
      "baseUrl": "https://api.open-meteo.com/v1/forecast?latitude=3.139&longitude=101.687&current=temperature_2m",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless weather: pass latitude/longitude to GET /forecast and get current conditions plus hourly/daily forecasts as JSON, no signup. Verified with KL coordinates. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Open-Meteo",
        "sourceUrl": "https://open-meteo.com/en/docs",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "open-meteo-air-quality",
      "slug": "open-meteo-air-quality",
      "title": "Open-Meteo Air Quality ~ PM2.5 & AQI",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Open-Meteo",
      "source": "Open-Meteo",
      "sourceUrl": "https://open-meteo.com/en/docs/air-quality-api",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://open-meteo.com/en/docs/air-quality-api",
      "baseUrl": "https://air-quality-api.open-meteo.com/v1/air-quality?latitude=3.139&longitude=101.687&current=pm2_5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless air-quality endpoint returning PM2.5, PM10 and pollutant forecasts by lat/long with no key — handy for Malaysia's haze season. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Open-Meteo",
        "sourceUrl": "https://open-meteo.com/en/docs/air-quality-api",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "frankfurter-fx",
      "slug": "frankfurter-fx",
      "title": "Frankfurter ~ keyless FX rates",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Frankfurter",
      "source": "Frankfurter",
      "sourceUrl": "https://frankfurter.dev/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://frankfurter.dev/",
      "baseUrl": "https://api.frankfurter.dev/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless foreign-exchange rates from ECB data: GET /latest?from=USD&to=MYR returns live conversion JSON, plus historical and time-series. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Frankfurter",
        "sourceUrl": "https://frankfurter.dev/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "world-bank-indicators",
      "slug": "world-bank-indicators",
      "title": "World Bank Indicators ~ open country stats",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "The World Bank",
      "source": "The World Bank",
      "sourceUrl": "https://datahelpdesk.worldbank.org/knowledgebase/articles/889392",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://datahelpdesk.worldbank.org/knowledgebase/articles/889392",
      "baseUrl": "https://api.worldbank.org/v2/country/MY/indicator/NY.GDP.MKTP.CD?format=json&per_page=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless access to thousands of development indicators (GDP, population, inflation) per country as JSON with ?format=json; Malaysia (MY) GDP series verified live. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "The World Bank",
        "sourceUrl": "https://datahelpdesk.worldbank.org/knowledgebase/articles/889392",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "aladhan-prayer-times",
      "slug": "aladhan-prayer-times",
      "title": "Aladhan ~ keyless prayer times",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Aladhan / Islamic Network",
      "source": "Aladhan / Islamic Network",
      "sourceUrl": "https://aladhan.com/prayer-times-api",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://aladhan.com/prayer-times-api",
      "baseUrl": "https://api.aladhan.com/v1/timingsByCity?city=Kuala%20Lumpur&country=Malaysia&method=3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless Islamic prayer-times API: GET /timings/{date}?latitude=&longitude=&method= returns Fajr-Isha times as JSON; verified for Kuala Lumpur. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Aladhan / Islamic Network",
        "sourceUrl": "https://aladhan.com/prayer-times-api",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "zippopotam-postal",
      "slug": "zippopotam-postal",
      "title": "Zippopotam.us ~ keyless postcode lookup",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Zippopotam.us",
      "source": "Zippopotam.us",
      "sourceUrl": "https://api.zippopotam.us/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.zippopotam.us/",
      "baseUrl": "https://api.zippopotam.us",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless postal-code lookup: GET /MY/50000 returns place name, state and lat/long as JSON. Verified live for Malaysian postcodes. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Zippopotam.us",
        "sourceUrl": "https://api.zippopotam.us/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "usgs-earthquakes",
      "slug": "usgs-earthquakes",
      "title": "USGS Earthquakes ~ real-time seismic feed",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "U.S. Geological Survey",
      "source": "U.S. Geological Survey",
      "sourceUrl": "https://earthquake.usgs.gov/fdsnws/event/1/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://earthquake.usgs.gov/fdsnws/event/1/",
      "baseUrl": "https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&limit=5&orderby=time",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless earthquake feed in GeoJSON (magnitude, place, coordinates, time), filterable by time/region — useful for Sabah and SE-Asia seismic events. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "U.S. Geological Survey",
        "sourceUrl": "https://earthquake.usgs.gov/fdsnws/event/1/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "sunrise-sunset",
      "slug": "sunrise-sunset",
      "title": "Sunrise-Sunset ~ keyless solar times",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Sunrise-Sunset.org",
      "source": "Sunrise-Sunset.org",
      "sourceUrl": "https://sunrise-sunset.org/api",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://sunrise-sunset.org/api",
      "baseUrl": "https://api.sunrise-sunset.org",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless sunrise/sunset, solar-noon, day-length and twilight times for any lat/long as JSON, no signup. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Sunrise-Sunset.org",
        "sourceUrl": "https://sunrise-sunset.org/api",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "wikipedia-rest-summary",
      "slug": "wikipedia-rest-summary",
      "title": "Wikipedia REST ~ keyless page summaries",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Wikimedia",
      "source": "Wikimedia",
      "sourceUrl": "https://en.wikipedia.org/api/rest_v1/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://en.wikipedia.org/api/rest_v1/",
      "baseUrl": "https://en.wikipedia.org/api/rest_v1/page/summary/Kuala_Lumpur",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless page summaries: GET /page/summary/{title} returns title, extract, thumbnail and links as JSON — great for instant info cards. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Wikimedia",
        "sourceUrl": "https://en.wikipedia.org/api/rest_v1/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "free-dictionary",
      "slug": "free-dictionary",
      "title": "Free Dictionary API ~ keyless word lookup",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "dictionaryapi.dev",
      "source": "dictionaryapi.dev",
      "sourceUrl": "https://dictionaryapi.dev/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://dictionaryapi.dev/",
      "baseUrl": "https://api.dictionaryapi.dev/api/v2/entries/en/hello",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless English dictionary: GET /entries/en/{word} returns definitions, phonetics, pronunciation audio and synonyms as JSON. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "dictionaryapi.dev",
        "sourceUrl": "https://dictionaryapi.dev/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "open-food-facts",
      "slug": "open-food-facts",
      "title": "Open Food Facts ~ keyless product database",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Open Food Facts",
      "source": "Open Food Facts",
      "sourceUrl": "https://world.openfoodfacts.org/data",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://world.openfoodfacts.org/data",
      "baseUrl": "https://world.openfoodfacts.org",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless barcode lookup: GET /api/v2/product/{barcode}.json returns ingredients, nutrition and Nutri-Score; covers many Malaysian-market products. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Open Food Facts",
        "sourceUrl": "https://world.openfoodfacts.org/data",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "nationalize-io",
      "slug": "nationalize-io",
      "title": "Nationalize.io ~ name to nationality",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Nationalize.io",
      "source": "Nationalize.io",
      "sourceUrl": "https://nationalize.io/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://nationalize.io/",
      "baseUrl": "https://api.nationalize.io/?name=ahmad",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-30",
      "lastChecked": "2026-06-30",
      "rateLimit": null,
      "note": "Keyless name-to-nationality predictor: GET /?name=ahmad returns most-likely country probabilities as JSON (Malaysia ranks high for local names). Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Nationalize.io",
        "sourceUrl": "https://nationalize.io/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-30",
        "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": "themealdb",
      "slug": "themealdb",
      "title": "TheMealDB ~ keyless recipe database",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "TheMealDB",
      "source": "TheMealDB",
      "sourceUrl": "https://www.themealdb.com/api.php",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.themealdb.com/api.php",
      "baseUrl": "https://www.themealdb.com/api/json/v1/1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless recipes via public test key '1': random meals, search, and filter by area including a full 'Malaysian' set (Apam Balik, Ayam Percik, Nasi Lemak). Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "TheMealDB",
        "sourceUrl": "https://www.themealdb.com/api.php",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "the-color-api",
      "slug": "the-color-api",
      "title": "The Color API ~ keyless colour data",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "The Color API",
      "source": "The Color API",
      "sourceUrl": "https://www.thecolorapi.com/docs",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.thecolorapi.com/docs",
      "baseUrl": "https://www.thecolorapi.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless colour utility: GET /id?hex=24B1E0 returns colour names, RGB/HSL/CMYK and matching schemes as JSON — handy for design tooling. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "The Color API",
        "sourceUrl": "https://www.thecolorapi.com/docs",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "pokeapi",
      "slug": "pokeapi",
      "title": "PokeAPI ~ keyless Pokemon data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "PokeAPI",
      "source": "PokeAPI",
      "sourceUrl": "https://pokeapi.co/docs/v2",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://pokeapi.co/docs/v2",
      "baseUrl": "https://pokeapi.co/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless Pokemon dataset: GET /pokemon/{name} returns stats, types, moves and sprites as JSON — a fun, rock-solid demo API. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PokeAPI",
        "sourceUrl": "https://pokeapi.co/docs/v2",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "electiondata-my",
      "slug": "electiondata-my",
      "title": "ElectionData.MY ~ open Malaysian election results, seats, candidates & parties",
      "category": "Government services",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "ElectionData.MY",
      "source": "ElectionData.MY",
      "sourceUrl": "https://electiondata.my/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://electiondata.my/openapi",
      "baseUrl": "https://api.electiondata.my/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Programmatic REST/JSON access to comprehensive Malaysian election data from 1954 to present ~ seats, candidates, parties, results and by-elections. CC0 public domain, free with no hard rate limit and no premium tier; needs a free API key (email OTP from the API Console) sent as a Bearer token. Versioned, currently beta. Boundary/geospatial data is served via the separate open data lake, not this API. MY-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ElectionData.MY",
        "sourceUrl": "https://electiondata.my/openapi",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "kbank-k-api",
      "slug": "kbank-k-api",
      "title": "KBank K API ~ open banking, Thai QR & transfers",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "Kasikornbank (KBank)",
      "source": "Kasikornbank (KBank)",
      "sourceUrl": "https://apiportal.kasikornbank.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://apiportal.kasikornbank.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Kasikornbank open-banking APIs: Thai QR / PromptPay payments, bill payment, fund transfer, slip verification and merchant (KGP) services. OAuth2 + two-way SSL; free sandbox, partner onboarding for production. TH-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Kasikornbank (KBank)",
        "sourceUrl": "https://apiportal.kasikornbank.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "scb-developer-api",
      "slug": "scb-developer-api",
      "title": "SCB Developer API ~ payments, Thai QR & profile",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "Siam Commercial Bank (SCB)",
      "source": "Siam Commercial Bank (SCB)",
      "sourceUrl": "https://developer.scb/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.scb/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Thailand's first bank open API: Thai QR / PromptPay payments, deeplinks to SCB Easy, recurring payments, customer profile sharing and authentication. Partner onboarding required. TH-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Siam Commercial Bank (SCB)",
        "sourceUrl": "https://developer.scb/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "ndid-thailand",
      "slug": "ndid-thailand",
      "title": "NDID ~ Thailand national digital identity (eKYC)",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "National Digital ID (NDID)",
      "source": "National Digital ID (NDID)",
      "sourceUrl": "https://ndidplatform.github.io/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://ndidplatform.github.io/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Thailand's blockchain-based national digital-ID & eKYC network (34M+ users; banks and telcos act as identity providers, 60+ institutions). Open-source platform docs; joining as a Relying Party needs network onboarding. TH-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "National Digital ID (NDID)",
        "sourceUrl": "https://ndidplatform.github.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-29",
        "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": "longdo-map",
      "slug": "longdo-map",
      "title": "Longdo Map ~ Thai maps, geocoding & routing",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "Longdo (Metamedia Technology)",
      "source": "Longdo (Metamedia Technology)",
      "sourceUrl": "https://map.longdo.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://map.longdo.com/docs/",
      "baseUrl": "https://api.longdo.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Thai-native mapping: tiles, geocoding/reverse-geocoding, place search and routing with far stronger Thai address & POI coverage than global maps. Free API key via the console. TH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Longdo (Metamedia Technology)",
        "sourceUrl": "https://map.longdo.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "thailand-post",
      "slug": "thailand-post",
      "title": "Thailand Post ~ parcel & EMS tracking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "Thailand Post",
      "source": "Thailand Post",
      "sourceUrl": "https://track.thailandpost.co.th/developerGuide",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://track.thailandpost.co.th/developerGuide",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Official Thailand Post tracking API: look up domestic parcels and EMS by barcode with full status history, from the national postal carrier. Token via the developer portal. TH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Thailand Post",
        "sourceUrl": "https://track.thailandpost.co.th/developerGuide",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-29",
        "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": "midtrans",
      "slug": "midtrans",
      "title": "Midtrans ~ Indonesian payment gateway (Snap, GoPay, QRIS, VA)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Midtrans (GoTo Financial)",
      "source": "Midtrans (GoTo Financial)",
      "sourceUrl": "https://docs.midtrans.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.midtrans.com/",
      "baseUrl": "https://api.midtrans.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Indonesia's leading gateway: Snap drop-in checkout, GoPay, QRIS, ShopeePay, bank VA (BCA/BNI/Mandiri), cards, Akulaku/Kredivo paylater and Indomaret/Alfamart cash; HTTP Basic server key. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Midtrans (GoTo Financial)",
        "sourceUrl": "https://docs.midtrans.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "doku",
      "slug": "doku",
      "title": "DOKU ~ Indonesian payments (VA, e-wallet, QRIS, cards)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "DOKU",
      "source": "DOKU",
      "sourceUrl": "https://developers.doku.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.doku.com/",
      "baseUrl": "https://api.doku.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Veteran Indonesian gateway with the Jokul API and Bank Indonesia SNAP: virtual accounts, OVO/DANA/ShopeePay/LinkAja e-wallets, QRIS, cards and installments; HMAC-signed requests. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "DOKU",
        "sourceUrl": "https://developers.doku.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "flip-for-business",
      "slug": "flip-for-business",
      "title": "Flip for Business ~ Indonesian disbursement & accept-payment API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Flip (PT Fliptech Lentera Inspirasi Pertiwi)",
      "source": "Flip (PT Fliptech Lentera Inspirasi Pertiwi)",
      "sourceUrl": "https://docs.flip.id/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.flip.id/",
      "baseUrl": "https://bigflip.id/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Money-movement API: disburse to every Indonesian bank and e-wallets (OVO/GoPay/DANA), plus accept-payment links and bill checks; HTTP Basic secret key. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Flip (PT Fliptech Lentera Inspirasi Pertiwi)",
        "sourceUrl": "https://docs.flip.id/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "duitku",
      "slug": "duitku",
      "title": "Duitku ~ Indonesian payment gateway (QRIS, VA, e-wallet, retail)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Duitku (PT Integra Pratama Niagatama)",
      "source": "Duitku (PT Integra Pratama Niagatama)",
      "sourceUrl": "https://docs.duitku.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.duitku.com/",
      "baseUrl": "https://passport.duitku.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Indonesian aggregator gateway: QRIS, bank VA, OVO/ShopeePay/DANA/LinkAja e-wallets, Alfamart/Indomaret retail and paylater; merchant code + API key + signature. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Duitku (PT Integra Pratama Niagatama)",
        "sourceUrl": "https://docs.duitku.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "faspay",
      "slug": "faspay",
      "title": "Faspay ~ veteran Indonesian payment gateway (VA, QRIS, e-wallet)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Faspay (PT Media Indonusa)",
      "source": "Faspay (PT Media Indonusa)",
      "sourceUrl": "https://docs.faspay.co.id/",
      "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.faspay.co.id/",
      "baseUrl": "https://web.faspay.co.id",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "One of Indonesia's oldest gateways (Faspay Business/Billing): bank virtual accounts, QRIS, e-wallets, cards and retail; signature-based auth. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Faspay (PT Media Indonusa)",
        "sourceUrl": "https://docs.faspay.co.id/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "ipaymu",
      "slug": "ipaymu",
      "title": "iPaymu ~ Indonesian payment gateway for online & POS",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "iPaymu (PT Inti Prima Mandiri Utama)",
      "source": "iPaymu (PT Inti Prima Mandiri Utama)",
      "sourceUrl": "https://ipaymu.com/api-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://ipaymu.com/api-documentation",
      "baseUrl": "https://my.ipaymu.com/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Indonesian gateway for web checkout, payment links and POS: QRIS, bank VA, e-wallets, cards and COD; HMAC-SHA256 signature with VA + API key. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "iPaymu (PT Inti Prima Mandiri Utama)",
        "sourceUrl": "https://ipaymu.com/api-documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "rajaongkir-komerce",
      "slug": "rajaongkir-komerce",
      "title": "RajaOngkir (Komerce) ~ Indonesian shipping-cost & tracking API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Komerce / RajaOngkir",
      "source": "Komerce / RajaOngkir",
      "sourceUrl": "https://dev-collaborator.komerce.id/docs/intro/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://dev-collaborator.komerce.id/docs/intro/",
      "baseUrl": "https://rajaongkir.komerce.id/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve API key from the collaborator.komerce.id dashboard, free tier included; docs moved to the Komerce developer portal after the RajaOngkir acquisition. The de-facto ongkir aggregator for Indonesian e-commerce. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Komerce / RajaOngkir",
        "sourceUrl": "https://dev-collaborator.komerce.id/docs/intro/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "biteship",
      "slug": "biteship",
      "title": "Biteship ~ multi-courier shipping aggregator API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Biteship (PT Biteship Karya Indonesia)",
      "source": "Biteship (PT Biteship Karya Indonesia)",
      "sourceUrl": "https://biteship.com/en/docs/intro",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://biteship.com/en/docs/intro",
      "baseUrl": "https://api.biteship.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Self-serve developer keys aggregating 30+ Indonesian couriers (JNE, J&T, SiCepat, AnterAja, GoSend). ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Biteship (PT Biteship Karya Indonesia)",
        "sourceUrl": "https://biteship.com/en/docs/intro",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "anteraja-developer",
      "slug": "anteraja-developer",
      "title": "AnterAja API ~ rates, order, pickup & tracking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "AnterAja (PT Tri Adi Bersama)",
      "source": "AnterAja (PT Tri Adi Bersama)",
      "sourceUrl": "https://developer.anteraja.id/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.anteraja.id/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Public API docs (v2.1.0) but base path and access keys require contacting AnterAja's integration team. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "AnterAja (PT Tri Adi Bersama)",
        "sourceUrl": "https://developer.anteraja.id/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-29",
        "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": "jnt-express-id",
      "slug": "jnt-express-id",
      "title": "J&T Express Indonesia API ~ order, waybill & tracking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "J&T Express Indonesia",
      "source": "J&T Express Indonesia",
      "sourceUrl": "https://developer.jet.co.id/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.jet.co.id/documentation",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Public developer portal; production access needs a cooperation agreement and signed (MD5+base64) requests. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "J&T Express Indonesia",
        "sourceUrl": "https://developer.jet.co.id/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-29",
        "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": "briapi",
      "slug": "briapi",
      "title": "BRIAPI ~ Bank BRI open banking (BRIVA, QRIS, direct debit, transfers)",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Bank Rakyat Indonesia (BRI)",
      "source": "Bank Rakyat Indonesia (BRI)",
      "sourceUrl": "https://developers.bri.co.id/en",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.bri.co.id/en",
      "baseUrl": "https://sandbox.partner.api.bri.co.id",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Indonesia's largest bank; OAuth2 + signature, free sandbox, production needs partnership. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Bank Rakyat Indonesia (BRI)",
        "sourceUrl": "https://developers.bri.co.id/en",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "bank-mandiri-api",
      "slug": "bank-mandiri-api",
      "title": "Bank Mandiri API ~ virtual account, QRIS & direct debit (SNAP)",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Bank Mandiri",
      "source": "Bank Mandiri",
      "sourceUrl": "https://developer.bankmandiri.co.id/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.bankmandiri.co.id/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "BI SNAP open-banking standard; sandbox after developer registration, production by partnership. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Bank Mandiri",
        "sourceUrl": "https://developer.bankmandiri.co.id/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "bni-digital-services",
      "slug": "bni-digital-services",
      "title": "BNI Digital Services ~ open banking (SNAP), VA, disbursement & cash mgmt",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Bank Negara Indonesia (BNI)",
      "source": "Bank Negara Indonesia (BNI)",
      "sourceUrl": "https://digitalservices.bni.co.id/en/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://digitalservices.bni.co.id/en/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "280+ APIs incl SNAP open banking, VA, disbursement; sandbox + SDKs (Java/PHP/Python). ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Bank Negara Indonesia (BNI)",
        "sourceUrl": "https://digitalservices.bni.co.id/en/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "privy-id",
      "slug": "privy-id",
      "title": "Privy ~ certified e-signature & eKYC (Dukcapil-backed)",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "PT Privy Identitas Digital",
      "source": "PT Privy Identitas Digital",
      "sourceUrl": "https://privy.id/digital-signature",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://privy.id/digital-signature",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "OJK-registered e-sign + eKYC with liveness and direct Dukcapil access; 50M+ verified users. ID-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "PT Privy Identitas Digital",
        "sourceUrl": "https://privy.id/digital-signature",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "vida-digital-identity",
      "slug": "vida-digital-identity",
      "title": "VIDA ~ digital signature & identity verification (licensed CA)",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "PT Indonesia Digital Identity (VIDA)",
      "source": "PT Indonesia Digital Identity (VIDA)",
      "sourceUrl": "https://docs.vida.id/",
      "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.vida.id/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Kominfo-licensed root CA (WebTrust/ISO 27001/CSC); host-to-host e-sign + biometric eKYC API. ID-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "PT Indonesia Digital Identity (VIDA)",
        "sourceUrl": "https://docs.vida.id/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "verihubs",
      "slug": "verihubs",
      "title": "Verihubs ~ eKYC, KTP OCR, face match & liveness",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Verihubs",
      "source": "Verihubs",
      "sourceUrl": "https://docs.verihubs.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.verihubs.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Indonesian eKYC infra: e-KTP OCR, face match, liveness, Dukcapil check, OTP; Web + mobile SDKs. ID-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Verihubs",
        "sourceUrl": "https://docs.verihubs.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "kredibel-verification",
      "slug": "kredibel-verification",
      "title": "Kredibel ~ Dukcapil NIK demography & biometric verification",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Kredibel",
      "source": "Kredibel",
      "sourceUrl": "https://docs.kredibel.io/api-references/identity-verification/full-verification",
      "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.kredibel.io/api-references/identity-verification/full-verification",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Verifies NIK demography and selfie biometrics against Indonesia's Dukcapil population database. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Kredibel",
        "sourceUrl": "https://docs.kredibel.io/api-references/identity-verification/full-verification",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "tokopedia-seller-api",
      "slug": "tokopedia-seller-api",
      "title": "Tokopedia Seller API ~ marketplace product, order & logistics",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Tokopedia (GoTo)",
      "source": "Tokopedia (GoTo)",
      "sourceUrl": "https://developer.tokopedia.com/openapi/partner/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.tokopedia.com/openapi/partner/",
      "baseUrl": "https://fs.tokopedia.net",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Open Platform for Tokopedia sellers: products, orders, logistics and webhooks; now under GoTo/TikTok Shop. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Tokopedia (GoTo)",
        "sourceUrl": "https://developer.tokopedia.com/openapi/partner/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "blibli-seller-api",
      "slug": "blibli-seller-api",
      "title": "Blibli Seller API ~ marketplace product, order & promo",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Blibli (Global Digital Niaga)",
      "source": "Blibli (Global Digital Niaga)",
      "sourceUrl": "https://seller-api.blibli.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://seller-api.blibli.com/",
      "baseUrl": "https://api.blibli.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "REST API for large Blibli sellers: product, order fulfilment, seller promo and webhooks. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Blibli (Global Digital Niaga)",
        "sourceUrl": "https://seller-api.blibli.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "mekari-developers-api",
      "slug": "mekari-developers-api",
      "title": "Mekari Developers API ~ Jurnal accounting & Talenta HR",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Mekari",
      "source": "Mekari",
      "sourceUrl": "https://developers.mekari.com/docs/kb/",
      "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.mekari.com/docs/kb/",
      "baseUrl": "https://api.mekari.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Unified HMAC API across Mekari SaaS: Jurnal (accounting), Talenta (HR/payroll) and Qontak. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Mekari",
        "sourceUrl": "https://developers.mekari.com/docs/kb/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "mekari-qontak-omnichannel",
      "slug": "mekari-qontak-omnichannel",
      "title": "Mekari Qontak ~ WhatsApp Business API & omnichannel CRM",
      "category": "Communications",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Mekari (Qontak)",
      "source": "Mekari (Qontak)",
      "sourceUrl": "https://docs.qontak.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.qontak.com/",
      "baseUrl": "https://service-chat.qontak.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Official WhatsApp Business API BSP plus omnichannel chat & CRM, popular with Indonesian SMBs. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Mekari (Qontak)",
        "sourceUrl": "https://docs.qontak.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "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": "qiscus-omnichannel-api",
      "slug": "qiscus-omnichannel-api",
      "title": "Qiscus ~ omnichannel chat & WhatsApp Business API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Qiscus",
      "source": "Qiscus",
      "sourceUrl": "https://documentation.qiscus.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://documentation.qiscus.com/",
      "baseUrl": "https://multichannel.qiscus.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Indonesian conversational platform: WhatsApp BSP, multichannel inbox and in-app Chat SDK. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Qiscus",
        "sourceUrl": "https://documentation.qiscus.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "taptalk-onetalk-api",
      "slug": "taptalk-onetalk-api",
      "title": "TapTalk OneTalk ~ WhatsApp & omnichannel messaging",
      "category": "Communications",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "TapTalk.io",
      "source": "TapTalk.io",
      "sourceUrl": "https://docs.taptalk.io/",
      "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.taptalk.io/",
      "baseUrl": "https://api.sendtalk.taptalk.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Indonesian WhatsApp BSP: OneTalk omnichannel inbox + SendTalk send API, with green-tick support. ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "TapTalk.io",
        "sourceUrl": "https://docs.taptalk.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "kata-ai-platform",
      "slug": "kata-ai-platform",
      "title": "Kata.ai ~ Bahasa Indonesia conversational AI & chatbot",
      "category": "AI",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Kata.ai",
      "source": "Kata.ai",
      "sourceUrl": "https://docs.kata.ai/",
      "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.kata.ai/",
      "baseUrl": "https://api.kata.ai",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Indonesian NLP/conversational-AI platform for Bahasa chatbots plus WhatsApp Business API (Omnichat). ID-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Kata.ai",
        "sourceUrl": "https://docs.kata.ai/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "nets-developer",
      "slug": "nets-developer",
      "title": "NETS Developer ~ eNETS & NETS QR online payments",
      "category": "Payments",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "NETS",
      "source": "NETS",
      "sourceUrl": "https://developer.nets.com.sg/docs/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://developer.nets.com.sg/docs/overview/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore's domestic rails: eNETS (cards, direct debit) and NETS QR accepted by NETSPay, DBS PayLah!, OCBC PayAnyone and UOB. API key + secret with HMAC signing; merchant onboarding required. SG-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "NETS",
        "sourceUrl": "https://developer.nets.com.sg/docs/overview/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "singpass-myinfo",
      "slug": "singpass-myinfo",
      "title": "Singpass Myinfo ~ consent-based KYC personal-data retrieval",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "GovTech Singapore (Singpass)",
      "source": "GovTech Singapore (Singpass)",
      "sourceUrl": "https://docs.developer.singpass.gov.sg/docs/products/singpass-myinfo",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://docs.developer.singpass.gov.sg/docs/products/singpass-myinfo",
      "baseUrl": "https://api.myinfo.gov.sg",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "National KYC source: with user consent, retrieve verified identity, demographic, income (NOA), CPF and HDB data straight from government records after Singpass login. Partner onboarding + app registration required; sandbox available. SG-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "GovTech Singapore (Singpass)",
        "sourceUrl": "https://docs.developer.singpass.gov.sg/docs/products/singpass-myinfo",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "rateLimit": null,
        "caveat": "You are pulling government-verified personal data (NRIC, income, CPF). Production access is approval-gated; request only the attributes you need, honour each consent scope, and treat everything you store as PDPA-regulated with minimal retention."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "singpass-myinfo-business",
      "slug": "singpass-myinfo-business",
      "title": "Singpass Myinfo Business ~ verified company & entity KYB data",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "GovTech Singapore (Singpass)",
      "source": "GovTech Singapore (Singpass)",
      "sourceUrl": "https://docs.corppass.gov.sg/products/myinfo-business",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://docs.corppass.gov.sg/products/myinfo-business",
      "baseUrl": "https://api.myinfo.gov.sg",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "KYB counterpart to Myinfo: with a Corppass-authorised user's consent, retrieve ACRA-verified company profile, shareholders, capital and financials. Partner onboarding + app registration required; sandbox available. SG-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "GovTech Singapore (Singpass)",
        "sourceUrl": "https://docs.corppass.gov.sg/products/myinfo-business",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "rateLimit": null,
        "caveat": "Corppass-authorised entity data is still regulated data. Production access is approval-gated; request the narrowest attribute scopes, log consent, and meet PDPA obligations for anything you persist."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "singpass-login",
      "slug": "singpass-login",
      "title": "Singpass Login (NDI) ~ national OIDC authentication",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "GovTech Singapore (Singpass)",
      "source": "GovTech Singapore (Singpass)",
      "sourceUrl": "https://docs.developer.singpass.gov.sg/docs/products/singpass-login",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://docs.developer.singpass.gov.sg/docs/products/singpass-login",
      "baseUrl": "https://api.singpass.gov.sg",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "OpenID Connect authentication against National Digital Identity: trigger a Singpass login and get a verified user identity (NRIC/FIN) without pulling full Myinfo attributes. Partner onboarding required; sandbox available. SG-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "GovTech Singapore (Singpass)",
        "sourceUrl": "https://docs.developer.singpass.gov.sg/docs/products/singpass-login",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-06-29",
        "rateLimit": null,
        "caveat": "National identity login is production-gated by Singpass onboarding. Keep OIDC client secrets server-side and validate every token (issuer, audience, expiry, nonce) exactly as documented before trusting an identity claim."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "singpass-face-verification",
      "slug": "singpass-face-verification",
      "title": "Singpass Face Verification ~ biometric liveness identity check",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "GovTech Singapore (Singpass)",
      "source": "GovTech Singapore (Singpass)",
      "sourceUrl": "https://docs.biometrics.singpass.gov.sg/",
      "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.biometrics.singpass.gov.sg/",
      "baseUrl": "https://api.singpass.gov.sg",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Cloud face-match against the national biometric database with liveness/presentation-attack detection, for remote identity proofing without a physical token. Web/iOS/Android SDKs; partner onboarding + per-transaction pricing; sandbox available. SG-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "GovTech Singapore (Singpass)",
        "sourceUrl": "https://docs.biometrics.singpass.gov.sg/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "rateLimit": null,
        "caveat": "Biometric verification is the highest-stakes Singpass product: production access is approval-gated, results must be verified server-side, and stored face data or match scores carry PDPA duties — keep retention minimal and documented."
      },
      "setup": {
        "level": "regulated",
        "label": "REGULATED SETUP",
        "summary": "Treat this as an onboarding and compliance flow, not a copy-paste endpoint."
      }
    },
    {
      "id": "detrack-delivery-api",
      "slug": "detrack-delivery-api",
      "title": "Detrack ~ delivery management, live tracking & e-proof-of-delivery API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "SG",
        "MY"
      ],
      "provider": "Detrack",
      "source": "Detrack",
      "sourceUrl": "https://www.detrack.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.detrack.com/api/",
      "baseUrl": "https://app.detrack.com/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore-built delivery management SaaS with a public REST API (v2) and electronic proof-of-delivery; free tier available. SG-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Detrack",
        "sourceUrl": "https://www.detrack.com/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "shippit-api",
      "slug": "shippit-api",
      "title": "Shippit ~ multi-carrier shipping rates, labels & tracking API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "SG",
        "MY"
      ],
      "provider": "Shippit",
      "source": "Shippit",
      "sourceUrl": "https://developer.shippit.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.shippit.com/",
      "baseUrl": "https://app.shippit.com/api/3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Multi-carrier shipping aggregator covering Singapore, Malaysia and Australia couriers from a single API: quotes, orders, labels, bookings, returns and tracking. SEA, works for SG.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Shippit",
        "sourceUrl": "https://developer.shippit.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "pickupp-api",
      "slug": "pickupp-api",
      "title": "Pickupp ~ on-demand last-mile delivery quotes, orders & tracking API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "SG",
        "MY"
      ],
      "provider": "Pickupp",
      "source": "Pickupp",
      "sourceUrl": "https://api-docs.pickupp.io/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://api-docs.pickupp.io/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore on-demand last-mile platform with self-serve API token, a sandbox (UAT), webhooks and airway-bill generation. SG-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Pickupp",
        "sourceUrl": "https://api-docs.pickupp.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-06-29",
        "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": "parcel-perform-api",
      "slug": "parcel-perform-api",
      "title": "Parcel Perform ~ multi-carrier tracking & delivery-experience API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "SG",
        "MY"
      ],
      "provider": "Parcel Perform",
      "source": "Parcel Perform",
      "sourceUrl": "https://developers.parcelperform.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.parcelperform.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore-HQ'd delivery-experience platform; public docs for tracking, shipments and webhooks (enterprise account). SG-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Parcel Perform",
        "sourceUrl": "https://developers.parcelperform.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "toku-cpaas",
      "slug": "toku-cpaas",
      "title": "Toku ~ programmable voice, SMS & WhatsApp CPaaS",
      "category": "Communications",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "Toku",
      "source": "Toku",
      "sourceUrl": "https://apidocs.toku.co/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://apidocs.toku.co/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Singapore-headquartered cloud communications: programmable voice, SMS, virtual numbers and WhatsApp with in-region SG infrastructure. SG-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Toku",
        "sourceUrl": "https://apidocs.toku.co/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "8x8-cpaas",
      "slug": "8x8-cpaas",
      "title": "8x8 Connect (Wavecell) ~ SMS, voice & chat-app CPaaS",
      "category": "Communications",
      "group": "Build",
      "country": [
        "SG"
      ],
      "provider": "8x8",
      "source": "8x8",
      "sourceUrl": "https://developer.8x8.com/connect/docs",
      "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.8x8.com/connect/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "CPaaS built on Singapore-founded Wavecell: SMS, programmable voice, chat apps and OTP verification with strong Asia routing. SEA, works for SG.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "8x8",
        "sourceUrl": "https://developer.8x8.com/connect/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "air4thai",
      "slug": "air4thai",
      "title": "Air4Thai ~ live air quality & PM2.5 station feed",
      "category": "Government services",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "Pollution Control Department (PCD)",
      "source": "Pollution Control Department (PCD)",
      "sourceUrl": "http://air4thai.pcd.go.th/webV3/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "http://air4thai.pcd.go.th/webV3/",
      "baseUrl": "http://air4thai.pcd.go.th/services/getNewAQI_JSON.php",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Official Pollution Control Department feed of live AQI, PM2.5/PM10, O3, CO, NO2 and SO2 from hundreds of ground stations with Thai+English station names and coordinates; one keyless GET returns JSON for every station. HTTP-only. TH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Pollution Control Department (PCD)",
        "sourceUrl": "http://air4thai.pcd.go.th/webV3/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "promptpay-io",
      "slug": "promptpay-io",
      "title": "PromptPay.io ~ instant PromptPay QR code generator",
      "category": "Payments",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "promptpay.io (dtinth)",
      "source": "promptpay.io (dtinth)",
      "sourceUrl": "https://github.com/dtinth/promptpay-qr",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/dtinth/promptpay-qr",
      "baseUrl": "https://promptpay.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Free hosted generator that turns a Thai phone number, national ID or tax ID (plus optional amount) into a scannable EMVCo PromptPay QR PNG over a plain URL like /0899999999.png?amount=99.50. No key, no money touched. TH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "promptpay.io (dtinth)",
        "sourceUrl": "https://github.com/dtinth/promptpay-qr",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "bitkub-public",
      "slug": "bitkub-public",
      "title": "Bitkub Public API ~ THB crypto market data",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "Bitkub",
      "source": "Bitkub",
      "sourceUrl": "https://github.com/bitkub/bitkub-official-api-docs",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/bitkub/bitkub-official-api-docs",
      "baseUrl": "https://api.bitkub.com/api/market/ticker",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless market endpoints (ticker, depth, recent trades, server time) from Thailand's largest crypto exchange, all priced in THB. Private trading needs API keys. TH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bitkub",
        "sourceUrl": "https://github.com/bitkub/bitkub-official-api-docs",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "indodax-public-api",
      "slug": "indodax-public-api",
      "title": "Indodax Public API ~ keyless IDR crypto tickers",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Indodax",
      "source": "Indodax",
      "sourceUrl": "https://github.com/btcid/indodax-official-api-docs",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/btcid/indodax-official-api-docs",
      "baseUrl": "https://indodax.com/api/ticker/btcidr",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Indonesia's largest crypto exchange; keyless public endpoints GET /ticker/{pair}, /tickers, /trades/{pair}, /depth/{pair} return live JSON for hundreds of *_idr pairs. Private trading needs API keys. ID-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Indodax",
        "sourceUrl": "https://github.com/btcid/indodax-official-api-docs",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "thailand-geography-json",
      "slug": "thailand-geography-json",
      "title": "Thailand Geography JSON ~ provinces, districts & postcodes",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "thailand-geography-data (open source)",
      "source": "thailand-geography-data (open source)",
      "sourceUrl": "https://github.com/thailand-geography-data/thailand-geography-json",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/thailand-geography-data/thailand-geography-json",
      "baseUrl": "https://cdn.jsdelivr.net/gh/thailand-geography-data/thailand-geography-json@1/src/geography.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Maintained open dataset of all 77 provinces, 928 districts, 7,436 subdistricts and postal codes as bilingual (Thai/English) JSON served over the jsDelivr CDN, no key. TH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "thailand-geography-data (open source)",
        "sourceUrl": "https://github.com/thailand-geography-data/thailand-geography-json",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "thailandformats-holidays",
      "slug": "thailandformats-holidays",
      "title": "Thailand Formats Holidays API ~ keyless public-holiday calendar",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "Thailand Formats",
      "source": "Thailand Formats",
      "sourceUrl": "https://thailandformats.com/holidays/2026",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://thailandformats.com/holidays/2026",
      "baseUrl": "https://thailandformats.com/api/v1/holidays/2026",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "GET a year and get back Thai public holidays as JSON, including substitution days and a handy alcohol-ban flag, no key needed. TH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Thailand Formats",
        "sourceUrl": "https://thailandformats.com/holidays/2026",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "emsifa-wilayah-indonesia",
      "slug": "emsifa-wilayah-indonesia",
      "title": "API Wilayah Indonesia (emsifa) ~ provinces to villages",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "Emsifa (community)",
      "source": "Emsifa (community)",
      "sourceUrl": "https://github.com/emsifa/api-wilayah-indonesia",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/emsifa/api-wilayah-indonesia",
      "baseUrl": "https://www.emsifa.com/api-wilayah-indonesia/api/provinces.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless static-JSON dataset of Indonesia's full administrative hierarchy from BPS codes: GET /provinces.json, /regencies/{prov}.json, /districts/{reg}.json, /villages/{dist}.json return JSON. Static data, not live geocoding. ID-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Emsifa (community)",
        "sourceUrl": "https://github.com/emsifa/api-wilayah-indonesia",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "kodepos-indonesia",
      "slug": "kodepos-indonesia",
      "title": "KodePos Indonesia ~ postal-code search with coordinates",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "KodePos (community)",
      "source": "KodePos (community)",
      "sourceUrl": "https://kodepos.vercel.app/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://kodepos.vercel.app/",
      "baseUrl": "https://kodepos.vercel.app/search?q=11480",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless JSON search over Indonesia's postal codes: query by code or place name to get village, district, regency and province plus latitude/longitude and timezone. Free, no auth. ID-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "KodePos (community)",
        "sourceUrl": "https://kodepos.vercel.app/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "libur-indonesia",
      "slug": "libur-indonesia",
      "title": "Hari Libur Nasional API ~ Indonesian public holidays & cuti bersama",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "libur.deno.dev (community)",
      "source": "libur.deno.dev (community)",
      "sourceUrl": "https://libur.deno.dev/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://libur.deno.dev/",
      "baseUrl": "https://libur.deno.dev/api?year=2026",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless JSON API listing Indonesia's national holidays and joint-leave (cuti bersama) days by year, each flagged is_national_holiday. Free, no auth, GET with a year query. ID-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "libur.deno.dev (community)",
        "sourceUrl": "https://libur.deno.dev/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "equran-id",
      "slug": "equran-id",
      "title": "EQuran.id ~ Indonesian Quran, tafsir & audio API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "ID"
      ],
      "provider": "EQuran.id (community)",
      "source": "EQuran.id (community)",
      "sourceUrl": "https://equran.id/apidev/v2",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://equran.id/apidev/v2",
      "baseUrl": "https://equran.id/api/v2/surat",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Keyless JSON API for the full Qur'an: 114 surah with Arabic text, Latin transliteration, Indonesian translation (arti), Kemenag tafsir and per-ayat/per-qari recitation audio; GET /surat/{1-114}, /tafsir/{n}. Free, no auth. ID-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "EQuran.id (community)",
        "sourceUrl": "https://equran.id/apidev/v2",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-06-29",
        "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": "tat-data-api",
      "slug": "tat-data-api",
      "title": "TAT Data API ~ official Thai tourism attractions & events",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "Tourism Authority of Thailand",
      "source": "Tourism Authority of Thailand",
      "sourceUrl": "https://tatdataapi.io",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://tatdataapi.io",
      "baseUrl": "https://tatdataapi.io/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Tourism Authority of Thailand's official open-data API for attractions, accommodation, events and suggested routes; free with a registered subscription key and JSON responses. TH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Tourism Authority of Thailand",
        "sourceUrl": "https://tatdataapi.io",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "iapp-thai-holiday",
      "slug": "iapp-thai-holiday",
      "title": "iApp Thai Holiday Data API ~ public + Bank of Thailand holidays",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "TH"
      ],
      "provider": "iApp Technology",
      "source": "iApp Technology",
      "sourceUrl": "https://iapp.co.th/docs/data/holiday/thai",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://iapp.co.th/docs/data/holiday/thai",
      "baseUrl": "https://api.iapp.co.th/v3/store/data/thai-holiday",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-06-29",
      "lastChecked": "2026-06-29",
      "rateLimit": null,
      "note": "Filter public, financial-institution (BOT bank) or combined holidays by date range; auth via an apikey header, billed per request. TH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "iApp Technology",
        "sourceUrl": "https://iapp.co.th/docs/data/holiday/thai",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-06-29",
        "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": "radio-browser",
      "slug": "radio-browser",
      "title": "Radio Browser ~ keyless directory of world radio streams",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Radio Browser (community)",
      "source": "Radio Browser (community)",
      "sourceUrl": "https://api.radio-browser.info/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.radio-browser.info/",
      "baseUrl": "https://de1.api.radio-browser.info/json/stations/bycountry/malaysia?limit=20",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Community-run index of 50k+ internet radio stations with live stream URLs, searchable by country, tag, language or name. Keyless JSON; several mirror hosts (de1/fi1/at1). Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Radio Browser (community)",
        "sourceUrl": "https://api.radio-browser.info/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "adsb-lol",
      "slug": "adsb-lol",
      "title": "adsb.lol ~ live aircraft over any point (keyless ADS-B)",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "adsb.lol (community)",
      "source": "adsb.lol (community)",
      "sourceUrl": "https://api.adsb.lol/docs",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.adsb.lol/docs",
      "baseUrl": "https://api.adsb.lol/v2/lat/3.139/lon/101.687/dist/25",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Community ADS-B network: GET /v2/lat/{lat}/lon/{lon}/dist/{nm} returns every aircraft near a point right now ~ callsign, registration, altitude, speed, heading. Keyless JSON. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "adsb.lol (community)",
        "sourceUrl": "https://api.adsb.lol/docs",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "open-meteo-marine",
      "slug": "open-meteo-marine",
      "title": "Open-Meteo Marine ~ keyless wave, swell & sea forecasts",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Open-Meteo",
      "source": "Open-Meteo",
      "sourceUrl": "https://open-meteo.com/en/docs/marine-weather-api",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://open-meteo.com/en/docs/marine-weather-api",
      "baseUrl": "https://marine-api.open-meteo.com/v1/marine?latitude=4.13&longitude=103.39&hourly=wave_height",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Marine sibling of Open-Meteo: hourly wave height, direction, period and swell for any ocean coordinates, keyless JSON, free for non-commercial use. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Open-Meteo",
        "sourceUrl": "https://open-meteo.com/en/docs/marine-weather-api",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "wheretheiss",
      "slug": "wheretheiss",
      "title": "Where The ISS At? ~ live space station position",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Where The ISS At?",
      "source": "Where The ISS At?",
      "sourceUrl": "https://wheretheiss.at/w/developer",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://wheretheiss.at/w/developer",
      "baseUrl": "https://api.wheretheiss.at/v1/satellites/25544",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless JSON position of the International Space Station: latitude, longitude, altitude, velocity and visibility, updated live. About 1 request/second is fine. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Where The ISS At?",
        "sourceUrl": "https://wheretheiss.at/w/developer",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "launch-library-2",
      "slug": "launch-library-2",
      "title": "Launch Library 2 ~ upcoming rocket launches worldwide",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "The Space Devs",
      "source": "The Space Devs",
      "sourceUrl": "https://thespacedevs.com/llapi",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://thespacedevs.com/llapi",
      "baseUrl": "https://ll.thespacedevs.com/2.3.0/launches/upcoming/?limit=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": "~15 requests/hour (free tier)",
      "note": "Free launch schedule API: upcoming and past launches with mission, rocket, pad, timing and status. Keyless but rate-limited (~15 requests/hour free) ~ cache responses. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "The Space Devs",
        "sourceUrl": "https://thespacedevs.com/llapi",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "rateLimit": "~15 requests/hour (free tier)",
        "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": "wttr-in",
      "slug": "wttr-in",
      "title": "wttr.in ~ weather you can curl",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "wttr.in (open source)",
      "source": "wttr.in (open source)",
      "sourceUrl": "https://github.com/chubin/wttr.in",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/chubin/wttr.in",
      "baseUrl": "https://wttr.in/Kuala+Lumpur?format=j1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": "rate-limited per IP (unspecified threshold)",
      "note": "The terminal-famous weather service: plain 'curl wttr.in/kuala-lumpur' draws ASCII weather art; add ?format=j1 for full JSON. Keyless, rate-limited per IP. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "wttr.in (open source)",
        "sourceUrl": "https://github.com/chubin/wttr.in",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "rateLimit": "rate-limited per IP (unspecified threshold)",
        "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": "open-notify-astros",
      "slug": "open-notify-astros",
      "title": "Open Notify ~ who is in space right now",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Open Notify (Nathan Bergey)",
      "source": "Open Notify (Nathan Bergey)",
      "sourceUrl": "http://open-notify.org/Open-Notify-API/People-In-Space/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "http://open-notify.org/Open-Notify-API/People-In-Space/",
      "baseUrl": "http://api.open-notify.org/astros.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Charming keyless feed of every human currently in space, with name and craft. http-only endpoint (no TLS) ~ call it server-side, not from an https page. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Open Notify (Nathan Bergey)",
        "sourceUrl": "http://open-notify.org/Open-Notify-API/People-In-Space/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "nasa-apod",
      "slug": "nasa-apod",
      "title": "NASA APOD ~ astronomy picture of the day",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "NASA",
      "source": "NASA",
      "sourceUrl": "https://api.nasa.gov/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.nasa.gov/",
      "baseUrl": "https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": "~30 requests/hour per IP on the shared demo key",
      "note": "NASA's daily space photo with a scientist-written explanation. The public DEMO_KEY works (~30 requests/hour per IP); a personal key is free and instant on api.nasa.gov. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "NASA",
        "sourceUrl": "https://api.nasa.gov/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "rateLimit": "~30 requests/hour per IP on the shared demo key",
        "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": "jikan",
      "slug": "jikan",
      "title": "Jikan ~ keyless MyAnimeList anime & manga data",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Jikan (community)",
      "source": "Jikan (community)",
      "sourceUrl": "https://docs.api.jikan.moe/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://docs.api.jikan.moe/",
      "baseUrl": "https://api.jikan.moe/v4/top/anime?limit=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": "~3 requests/second",
      "note": "The standard unofficial MyAnimeList API: search anime/manga, top charts, seasonal lists, characters and scores as keyless JSON. Rate limit ~3 requests/second. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Jikan (community)",
        "sourceUrl": "https://docs.api.jikan.moe/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "rateLimit": "~3 requests/second",
        "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": "itunes-search",
      "slug": "itunes-search",
      "title": "iTunes Search ~ keyless music, app & podcast lookup",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Apple",
      "source": "Apple",
      "sourceUrl": "https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/iTuneSearchAPI/index.html",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/iTuneSearchAPI/index.html",
      "baseUrl": "https://itunes.apple.com/search?term=siti+nurhaliza&limit=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Apple's classic keyless search across songs, albums, apps, podcasts and audiobooks, with artwork and 30-second preview URLs. Response header says text/javascript but the body is JSON. ~20 calls/min. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Apple",
        "sourceUrl": "https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/iTuneSearchAPI/index.html",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "deezer-api",
      "slug": "deezer-api",
      "title": "Deezer ~ keyless music search, charts & previews",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Deezer",
      "source": "Deezer",
      "sourceUrl": "https://developers.deezer.com/api",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://developers.deezer.com/api",
      "baseUrl": "https://api.deezer.com/search?q=yuna",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Deezer's public data ~ track/artist/album search, charts, playlists and 30-second previews ~ is keyless JSON; OAuth is only needed for user-account actions. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Deezer",
        "sourceUrl": "https://developers.deezer.com/api",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "thesportsdb",
      "slug": "thesportsdb",
      "title": "TheSportsDB ~ teams, fixtures & scores (free test key)",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "TheSportsDB",
      "source": "TheSportsDB",
      "sourceUrl": "https://www.thesportsdb.com/api.php",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "freemium",
      "docs": "https://www.thesportsdb.com/api.php",
      "baseUrl": "https://www.thesportsdb.com/api/v1/json/3/searchteams.php?t=Arsenal",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Crowd-sourced sports database: teams, players, fixtures, results and badges via the public test key '3' baked into the URL path. A Patreon key lifts limits for production. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "TheSportsDB",
        "sourceUrl": "https://www.thesportsdb.com/api.php",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "openlibrary",
      "slug": "openlibrary",
      "title": "Open Library ~ keyless books, authors & covers",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Internet Archive",
      "source": "Internet Archive",
      "sourceUrl": "https://openlibrary.org/developers/api",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://openlibrary.org/developers/api",
      "baseUrl": "https://openlibrary.org/search.json?q=malaysia&limit=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "The Internet Archive's open book catalogue: search millions of titles, fetch author data and cover images by ISBN, all keyless JSON. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Internet Archive",
        "sourceUrl": "https://openlibrary.org/developers/api",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "gutendex",
      "slug": "gutendex",
      "title": "Gutendex ~ Project Gutenberg's free books as JSON",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Gutendex (community)",
      "source": "Gutendex (community)",
      "sourceUrl": "https://gutendex.com/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://gutendex.com/",
      "baseUrl": "https://gutendex.com/books/?search=austen",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless JSON index of Project Gutenberg's 70k+ public-domain ebooks with search, subjects, authors and direct download links in multiple formats. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Gutendex (community)",
        "sourceUrl": "https://gutendex.com/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "tmdb",
      "slug": "tmdb",
      "title": "TMDB ~ movies & TV metadata (free key)",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "The Movie Database (TMDB)",
      "source": "The Movie Database (TMDB)",
      "sourceUrl": "https://developer.themoviedb.org/docs/getting-started",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.themoviedb.org/docs/getting-started",
      "baseUrl": "https://api.themoviedb.org/3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "The standard movie/TV metadata API: titles, posters, cast, ratings, trailers and watch providers. Free key issued near-instantly; attribution required in your app. Global, works for MY.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "The Movie Database (TMDB)",
        "sourceUrl": "https://developer.themoviedb.org/docs/getting-started",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "met-museum",
      "slug": "met-museum",
      "title": "The Met Collection ~ 470k+ open-access artworks",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "The Metropolitan Museum of Art",
      "source": "The Metropolitan Museum of Art",
      "sourceUrl": "https://metmuseum.github.io/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://metmuseum.github.io/",
      "baseUrl": "https://collectionapi.metmuseum.org/public/collection/v1/objects/436535",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "The Met's open-access collection API: search 470k+ artworks and fetch high-resolution public-domain images with artist, period and medium metadata. Keyless JSON. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "The Metropolitan Museum of Art",
        "sourceUrl": "https://metmuseum.github.io/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "artic-museum",
      "slug": "artic-museum",
      "title": "Art Institute of Chicago ~ artworks with IIIF images",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Art Institute of Chicago",
      "source": "Art Institute of Chicago",
      "sourceUrl": "https://api.artic.edu/docs/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.artic.edu/docs/",
      "baseUrl": "https://api.artic.edu/api/v1/artworks/search?q=monet&limit=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Modern museum API with full-text search, rich metadata and IIIF image URLs you can resize on the fly. Keyless JSON, thoughtful docs. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Art Institute of Chicago",
        "sourceUrl": "https://api.artic.edu/docs/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "dicebear",
      "slug": "dicebear",
      "title": "DiceBear ~ generated avatars from any seed (SVG)",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "DiceBear",
      "source": "DiceBear",
      "sourceUrl": "https://www.dicebear.com/how-to-use/http-api/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.dicebear.com/how-to-use/http-api/",
      "baseUrl": "https://api.dicebear.com/9.x/pixel-art/svg?seed=pasar",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Deterministic avatar generator: same seed always draws the same face, across 30+ art styles (pixel-art, bottts, lorelei...). Returns SVG/PNG images, not JSON. Keyless. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DiceBear",
        "sourceUrl": "https://www.dicebear.com/how-to-use/http-api/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "lorem-picsum",
      "slug": "lorem-picsum",
      "title": "Lorem Picsum ~ placeholder photos with one URL",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Lorem Picsum",
      "source": "Lorem Picsum",
      "sourceUrl": "https://picsum.photos/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://picsum.photos/",
      "baseUrl": "https://picsum.photos/v2/list?page=1&limit=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "The 'lorem ipsum' of photos: https://picsum.photos/400/300 returns a real photo at that size (grayscale, blur and seed options). The /v2/list endpoint is keyless JSON of the image catalogue. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Lorem Picsum",
        "sourceUrl": "https://picsum.photos/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "xkcd",
      "slug": "xkcd",
      "title": "xkcd ~ every comic's metadata as JSON",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "xkcd (Randall Munroe)",
      "source": "xkcd (Randall Munroe)",
      "sourceUrl": "https://xkcd.com/json.html",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://xkcd.com/json.html",
      "baseUrl": "https://xkcd.com/info.0.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Latest comic at /info.0.json, any comic at /{num}/info.0.json ~ title, image URL and the famous alt-text. Keyless; no CORS headers, so fetch it server-side. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "xkcd (Randall Munroe)",
        "sourceUrl": "https://xkcd.com/json.html",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "jsonplaceholder",
      "slug": "jsonplaceholder",
      "title": "JSONPlaceholder ~ fake REST API for prototypes",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Typicode",
      "source": "Typicode",
      "sourceUrl": "https://jsonplaceholder.typicode.com/guide/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://jsonplaceholder.typicode.com/guide/",
      "baseUrl": "https://jsonplaceholder.typicode.com/todos/1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "The classic fake REST API: /posts, /comments, /users, /todos with full GET/POST/PUT/DELETE semantics (writes are faked). Keyless. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Typicode",
        "sourceUrl": "https://jsonplaceholder.typicode.com/guide/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "dummyjson",
      "slug": "dummyjson",
      "title": "DummyJSON ~ fake products, users, carts & auth",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "DummyJSON",
      "source": "DummyJSON",
      "sourceUrl": "https://dummyjson.com/docs",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://dummyjson.com/docs",
      "baseUrl": "https://dummyjson.com/products/1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Richer fake data than JSONPlaceholder: realistic products with images and prices, users, carts, posts, plus a mock login flow returning JWT-style tokens. Keyless. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DummyJSON",
        "sourceUrl": "https://dummyjson.com/docs",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "randomuser",
      "slug": "randomuser",
      "title": "RandomUser ~ realistic fake user profiles with photos",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "RandomUser.me",
      "source": "RandomUser.me",
      "sourceUrl": "https://randomuser.me/documentation",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://randomuser.me/documentation",
      "baseUrl": "https://randomuser.me/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Generates realistic user profiles ~ names, emails, addresses, phone numbers and portrait photos ~ with locale, gender and seed options. Keyless JSON. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "RandomUser.me",
        "sourceUrl": "https://randomuser.me/documentation",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "thedogapi",
      "slug": "thedogapi",
      "title": "TheDogAPI ~ random dog photos & breed data",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "TheDogAPI (That API Company)",
      "source": "TheDogAPI (That API Company)",
      "sourceUrl": "https://www.thedogapi.com/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "freemium",
      "docs": "https://www.thedogapi.com/",
      "baseUrl": "https://api.thedogapi.com/v1/images/search",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Random dog images and 250+ breeds with temperament data. Basic image search is keyless; a free key unlocks breed filters, favourites and higher limits. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "TheDogAPI (That API Company)",
        "sourceUrl": "https://www.thedogapi.com/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "cataas",
      "slug": "cataas",
      "title": "Cataas ~ cat pictures as a service",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Cataas",
      "source": "Cataas",
      "sourceUrl": "https://cataas.com/doc.html",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://cataas.com/doc.html",
      "baseUrl": "https://cataas.com/cat?json=true",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Cat as a service: /cat returns a random cat image, /cat/says/{text} captions it, and ?json=true returns metadata as JSON instead. Keyless. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Cataas",
        "sourceUrl": "https://cataas.com/doc.html",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "http-cat",
      "slug": "http-cat",
      "title": "HTTP Cats ~ every status code as a cat photo",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "http.cat",
      "source": "http.cat",
      "sourceUrl": "https://http.cat/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://http.cat/",
      "baseUrl": "https://http.cat/404",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "https://http.cat/404 returns a cat photo illustrating that HTTP status code ~ works for every code from 100 to 599. Returns an image, not JSON. Keyless. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "http.cat",
        "sourceUrl": "https://http.cat/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "catfact-ninja",
      "slug": "catfact-ninja",
      "title": "Cat Facts ~ random cat facts JSON",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "catfact.ninja",
      "source": "catfact.ninja",
      "sourceUrl": "https://catfact.ninja/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://catfact.ninja/",
      "baseUrl": "https://catfact.ninja/fact",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "A single keyless endpoint returning a random cat fact, plus paginated /facts and /breeds endpoints. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "catfact.ninja",
        "sourceUrl": "https://catfact.ninja/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "jokeapi",
      "slug": "jokeapi",
      "title": "JokeAPI ~ programming jokes with safe-mode",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "JokeAPI (Sv443)",
      "source": "JokeAPI (Sv443)",
      "sourceUrl": "https://sv443.net/jokeapi/v2/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://sv443.net/jokeapi/v2/",
      "baseUrl": "https://v2.jokeapi.dev/joke/Programming?safe-mode",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless jokes filtered by category (Programming, Pun...) and format. Always keep ?safe-mode in the URL to exclude dark or offensive content. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "JokeAPI (Sv443)",
        "sourceUrl": "https://sv443.net/jokeapi/v2/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "opentdb",
      "slug": "opentdb",
      "title": "Open Trivia DB ~ keyless quiz questions",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Open Trivia Database",
      "source": "Open Trivia Database",
      "sourceUrl": "https://opentdb.com/api_config.php",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://opentdb.com/api_config.php",
      "baseUrl": "https://opentdb.com/api.php?amount=5&type=multiple",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Thousands of multiple-choice and true/false trivia questions across 24 categories and 3 difficulties, keyless JSON. Answers come HTML-encoded ~ decode before display. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Open Trivia Database",
        "sourceUrl": "https://opentdb.com/api_config.php",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "uselessfacts",
      "slug": "uselessfacts",
      "title": "Useless Facts ~ a random fact on every call",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "uselessfacts.jsph.pl",
      "source": "uselessfacts.jsph.pl",
      "sourceUrl": "https://uselessfacts.jsph.pl/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://uselessfacts.jsph.pl/",
      "baseUrl": "https://uselessfacts.jsph.pl/api/v2/facts/random",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless random facts (mostly true, always useless), with a daily-fact endpoint and language option. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "uselessfacts.jsph.pl",
        "sourceUrl": "https://uselessfacts.jsph.pl/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "datamuse",
      "slug": "datamuse",
      "title": "Datamuse ~ rhymes, synonyms & word associations",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Datamuse",
      "source": "Datamuse",
      "sourceUrl": "https://www.datamuse.com/api/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.datamuse.com/api/",
      "baseUrl": "https://api.datamuse.com/words?rel_rhy=code&max=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "A word-finding query engine: rhymes (rel_rhy), synonyms (ml), sounds-like, starts-with and more, up to 100k requests/day keyless. English-focused. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Datamuse",
        "sourceUrl": "https://www.datamuse.com/api/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "openfoodfacts",
      "slug": "openfoodfacts",
      "title": "Open Food Facts ~ barcode lookup for 3M+ food products",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Open Food Facts",
      "source": "Open Food Facts",
      "sourceUrl": "https://openfoodfacts.github.io/openfoodfacts-server/api/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://openfoodfacts.github.io/openfoodfacts-server/api/",
      "baseUrl": "https://world.openfoodfacts.org/api/v2/product/5449000000996.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Crowd-sourced database of 3M+ food products: scan any barcode for ingredients, nutrition, Nutri-Score and labels. Keyless for reads; includes many Malaysian supermarket products. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Open Food Facts",
        "sourceUrl": "https://openfoodfacts.github.io/openfoodfacts-server/api/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "zenquotes",
      "slug": "zenquotes",
      "title": "ZenQuotes ~ inspirational quotes JSON",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "ZenQuotes.io",
      "source": "ZenQuotes.io",
      "sourceUrl": "https://zenquotes.io/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://zenquotes.io/",
      "baseUrl": "https://zenquotes.io/api/random",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": "~5 requests per 30 seconds",
      "note": "Random, daily and author-filtered inspirational quotes as keyless JSON. Rate-limited to ~5 requests per 30 seconds ~ cache the daily quote. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "ZenQuotes.io",
        "sourceUrl": "https://zenquotes.io/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "rateLimit": "~5 requests per 30 seconds",
        "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": "adviceslip",
      "slug": "adviceslip",
      "title": "Advice Slip ~ random life advice",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Advice Slip",
      "source": "Advice Slip",
      "sourceUrl": "https://api.adviceslip.com/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.adviceslip.com/",
      "baseUrl": "https://api.adviceslip.com/advice",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "One keyless endpoint returning a random slip of life advice, plus search by keyword. Responses cache for a couple of seconds. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Advice Slip",
        "sourceUrl": "https://api.adviceslip.com/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "studio-ghibli",
      "slug": "studio-ghibli",
      "title": "Studio Ghibli API ~ films, characters & locations",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Ghibli API (community)",
      "source": "Ghibli API (community)",
      "sourceUrl": "https://ghibliapi.vercel.app/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://ghibliapi.vercel.app/",
      "baseUrl": "https://ghibliapi.vercel.app/films/58611129-2dbc-4a81-a72f-77ddfc1b1b49",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Community-maintained catalogue of Studio Ghibli films with descriptions, scores, people, species and locations as keyless JSON. A fan project, not official Ghibli. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Ghibli API (community)",
        "sourceUrl": "https://ghibliapi.vercel.app/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "cheapshark",
      "slug": "cheapshark",
      "title": "CheapShark ~ PC game deals across stores",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "CheapShark",
      "source": "CheapShark",
      "sourceUrl": "https://apidocs.cheapshark.com/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://apidocs.cheapshark.com/",
      "baseUrl": "https://www.cheapshark.com/api/1.0/deals?upperPrice=15&pageSize=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless price-comparison API for PC game deals across Steam, Epic, GOG, Fanatical and more, with historic lows and deal ratings. Prices in USD. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "CheapShark",
        "sourceUrl": "https://apidocs.cheapshark.com/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "freetogame",
      "slug": "freetogame",
      "title": "FreeToGame ~ free-to-play games database",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "FreeToGame",
      "source": "FreeToGame",
      "sourceUrl": "https://www.freetogame.com/api-doc",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.freetogame.com/api-doc",
      "baseUrl": "https://www.freetogame.com/api/games?platform=pc",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless catalogue of 400+ free-to-play PC and browser games with genre, platform and thumbnail data, filterable and sortable. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "FreeToGame",
        "sourceUrl": "https://www.freetogame.com/api-doc",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "wikimedia-onthisday",
      "slug": "wikimedia-onthisday",
      "title": "Wikipedia On This Day ~ historical events by date",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "Wikimedia Foundation",
      "source": "Wikimedia Foundation",
      "sourceUrl": "https://api.wikimedia.org/wiki/Feed_API/Reference/On_this_day",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.wikimedia.org/wiki/Feed_API/Reference/On_this_day",
      "baseUrl": "https://api.wikimedia.org/feed/v1/wikipedia/en/onthisday/selected/07/03",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Wikipedia's curated events, births and deaths for any calendar date as keyless JSON, with linked articles and thumbnails. Path is /onthisday/{type}/{MM}/{DD}. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Wikimedia Foundation",
        "sourceUrl": "https://api.wikimedia.org/wiki/Feed_API/Reference/On_this_day",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "qrserver",
      "slug": "qrserver",
      "title": "goQR.me ~ generate QR codes with one URL",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "goQR.me (DENSO WAVE licensed)",
      "source": "goQR.me (DENSO WAVE licensed)",
      "sourceUrl": "https://goqr.me/api/",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://goqr.me/api/",
      "baseUrl": "https://api.qrserver.com/v1/create-qr-code/?data=pasarapi.xyz&size=150x150",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Instant QR generation: /v1/create-qr-code/?data=...&size=300x300 returns a PNG image (not JSON). Also reads QR codes via /v1/read-qr-code/. Keyless. Global, works for MY.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "goQR.me (DENSO WAVE licensed)",
        "sourceUrl": "https://goqr.me/api/",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "paymongo",
      "slug": "paymongo",
      "title": "PayMongo ~ payments API for Philippine businesses",
      "category": "Payments",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "PayMongo",
      "source": "PayMongo",
      "sourceUrl": "https://docs.paymongo.com",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.paymongo.com",
      "baseUrl": "https://api.paymongo.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve signup with instant test keys; HTTP Basic using your secret key (sk_test_/sk_live_); live payments need business verification/activation and carry per-transaction fees. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PayMongo",
        "sourceUrl": "https://docs.paymongo.com",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "maya-business",
      "slug": "maya-business",
      "title": "Maya Business ~ e-wallet and card payments API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Maya (PayMaya)",
      "source": "Maya (PayMaya)",
      "sourceUrl": "https://developers.maya.ph",
      "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.maya.ph",
      "baseUrl": "https://pg.maya.ph",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Free full sandbox (pg-sandbox.paymaya.com) with published test keys; Basic auth with pk-/sk- key pairs; live keys after Maya Business onboarding, per-transaction fees. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Maya (PayMaya)",
        "sourceUrl": "https://developers.maya.ph",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "dragonpay",
      "slug": "dragonpay",
      "title": "Dragonpay ~ OTC and bank payment switch",
      "category": "Payments",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Dragonpay",
      "source": "Dragonpay",
      "sourceUrl": "https://www.dragonpay.ph/developers",
      "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.dragonpay.ph/developers",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Docs are public PDFs (Payment Switch API v2 + Mass Payout API) with HMAC-SHA256 signed requests using merchant credentials; live/test access requires merchant onboarding via sales. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Dragonpay",
        "sourceUrl": "https://www.dragonpay.ph/developers",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "bux-ph",
      "slug": "bux-ph",
      "title": "BUx ~ UBX payment collection and checkout API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "UBX Philippines (BUx)",
      "source": "UBX Philippines (BUx)",
      "sourceUrl": "https://developers.bux.ph",
      "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.bux.ph",
      "baseUrl": "https://api.bux.ph/v1/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Public Redoc reference with its own OpenAPI spec and sandbox server (api.bux.ph/v1/api/sandbox); API key plus an OAuth token endpoint; business verification before live collections. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "UBX Philippines (BUx)",
        "sourceUrl": "https://developers.bux.ph",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "nextpay",
      "slug": "nextpay",
      "title": "NextPay ~ collections and payouts for SMEs",
      "category": "Payments",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "NextPay",
      "source": "NextPay",
      "sourceUrl": "https://developers.nextpay.world",
      "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.nextpay.world",
      "baseUrl": "https://api.partners.nextpay.world/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Basic auth with Base64(client_id:client_secret); one base URL for sandbox and prod (credentials decide the mode); sandbox credentials granted on request, not instant. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "NextPay",
        "sourceUrl": "https://developers.nextpay.world",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "netbank-virtual",
      "slug": "netbank-virtual",
      "title": "Netbank Virtual ~ banking-as-a-service API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Netbank",
      "source": "Netbank",
      "sourceUrl": "https://virtual.netbank.ph/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://virtual.netbank.ph/docs",
      "baseUrl": "https://api.netbank.ph",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "OAuth 2.0 (client credentials + authorization code); self-serve sandbox credentials from the partner dashboard (api-sandbox.netbank.ph); commercial onboarding for production rails. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Netbank",
        "sourceUrl": "https://virtual.netbank.ph/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-03",
        "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": "unionbank-developer",
      "slug": "unionbank-developer",
      "title": "UnionBank Developer ~ open banking APIs",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "UnionBank of the Philippines",
      "source": "UnionBank of the Philippines",
      "sourceUrl": "https://developer.unionbankph.com",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.unionbankph.com",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Free developer signup and a public sandbox with dummy accounts; OAuth2 flows per product; production access is a commercial partnership onboarding with the bank. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "UnionBank of the Philippines",
        "sourceUrl": "https://developer.unionbankph.com",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-03",
        "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": "coins-ph",
      "slug": "coins-ph",
      "title": "Coins.ph ~ crypto exchange and wallet API",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Coins.ph",
      "source": "Coins.ph",
      "sourceUrl": "https://docs.coins.ph/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://docs.coins.ph/rest-api/",
      "baseUrl": "https://api.pro.coins.ph",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Market-data endpoints are keyless (live-tested: /openapi/quote/v1/ticker/price returns BTCPHP); trading and wallet need API key + HMAC-SHA256 signature from a verified account. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Coins.ph",
        "sourceUrl": "https://docs.coins.ph/rest-api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "semaphore-sms",
      "slug": "semaphore-sms",
      "title": "Semaphore ~ Philippine SMS gateway API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Semaphore",
      "source": "Semaphore",
      "sourceUrl": "https://semaphore.co/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://semaphore.co/docs",
      "baseUrl": "https://api.semaphore.co/api/v4",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve signup; API key passed as a request parameter; prepaid credits (1 credit per 160-char SMS, 2 for priority/OTP routes); sends to Philippine numbers only. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Semaphore",
        "sourceUrl": "https://semaphore.co/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "philsms",
      "slug": "philsms",
      "title": "PhilSMS ~ bulk SMS API for PH networks",
      "category": "Communications",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "PhilSMS",
      "source": "PhilSMS",
      "sourceUrl": "https://app.philsms.com/developers/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://app.philsms.com/developers/documentation",
      "baseUrl": "https://app.philsms.com/api/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Free account then Bearer api_token from the dashboard; prepaid SMS units; REST v3 covers single sends, campaigns, contact groups and balance checks. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "PhilSMS",
        "sourceUrl": "https://app.philsms.com/developers/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-03",
        "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": "engagespark",
      "slug": "engagespark",
      "title": "engageSPARK ~ SMS, voice IVR and airtime API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "engageSPARK",
      "source": "engageSPARK",
      "sourceUrl": "https://openapi.engagespark.com",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://openapi.engagespark.com",
      "baseUrl": "https://api.engagespark.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Cebu-built platform; 'Authorization: Token <key>' header with the token from your profile; self-serve signup; usage-based pricing plus airtime top-up costs. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "engageSPARK",
        "sourceUrl": "https://openapi.engagespark.com",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-03",
        "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": "shipmates",
      "slug": "shipmates",
      "title": "Shipmates ~ multi-courier shipping API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Shipmates",
      "source": "Shipmates",
      "sourceUrl": "https://shipmates.readme.io/reference/getting-started",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://shipmates.readme.io/reference/getting-started",
      "baseUrl": "https://api.shipmates.app",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "API key used as a Bearer auth token; quote, book, track and cancel across local couriers with shipment-simulation endpoints for testing; account signup via shipmates.app. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Shipmates",
        "sourceUrl": "https://shipmates.readme.io/reference/getting-started",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-03",
        "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": "transportify-deliveree",
      "slug": "transportify-deliveree",
      "title": "Transportify (Deliveree) ~ on-demand trucking API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Transportify / Deliveree",
      "source": "Transportify / Deliveree",
      "sourceUrl": "https://developers.deliveree.com",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "Api-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.deliveree.com",
      "baseUrl": "https://api.deliveree.com/public_api/v10",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Docs are public but the Api-Key header is issued only after registering a business account with the PH team (api.support@transportify.com.ph); sandbox available; per-booking pricing. PH-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Transportify / Deliveree",
        "sourceUrl": "https://developers.deliveree.com",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "psa-openstat-pxweb",
      "slug": "psa-openstat-pxweb",
      "title": "PSA OpenSTAT ~ official Philippine statistics via PXWeb REST API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Philippine Statistics Authority",
      "source": "Philippine Statistics Authority",
      "sourceUrl": "https://openstat.psa.gov.ph/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://openstat.psa.gov.ph/",
      "baseUrl": "https://openstat.psa.gov.ph/PXWeb/api/v1/en/DB",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "GET the database tree keyless, then POST {\"query\":[],\"response\":{\"format\":\"json\"}} to any .px table URL for full data; CORS enabled, 10 calls/10s, 1000 values per call. The HTML portal bot-walls datacenter IPs but the API layer answers fine. PH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Philippine Statistics Authority",
        "sourceUrl": "https://openstat.psa.gov.ph/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "psgc-gitlab-api",
      "slug": "psgc-gitlab-api",
      "title": "PSGC API ~ Philippine Standard Geographic Codes (community)",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Community-maintained (psgc.gitlab.io), data from PSA",
      "source": "Community-maintained (psgc.gitlab.io), data from PSA",
      "sourceUrl": "https://psgc.gitlab.io/api/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://psgc.gitlab.io/api/",
      "baseUrl": "https://psgc.gitlab.io/api/regions/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless static JSON API on GitLab Pages serving PSA's official PSGC codes — regions, provinces, cities, municipalities, barangays; community-maintained, so re-check after quarterly PSGC updates. PH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Community-maintained (psgc.gitlab.io), data from PSA",
        "sourceUrl": "https://psgc.gitlab.io/api/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "psgc-cloud-api",
      "slug": "psgc-cloud-api",
      "title": "PSGC Cloud ~ REST API for PH administrative divisions (community)",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Community-maintained (psgc.cloud), data from PSA",
      "source": "Community-maintained (psgc.cloud), data from PSA",
      "sourceUrl": "https://psgc.cloud/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://psgc.cloud/",
      "baseUrl": "https://psgc.cloud/api/regions",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless community REST API over PSGC with richer routes — /api/provinces, /api/cities (includes zip codes and legislative districts), /api/barangays plus nested lookups by parent code. PH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Community-maintained (psgc.cloud), data from PSA",
        "sourceUrl": "https://psgc.cloud/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "data-gov-ph",
      "slug": "data-gov-ph",
      "title": "Open Data Philippines ~ national open data portal (browse-only)",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "PH"
      ],
      "provider": "DICT / Open Data Philippines",
      "source": "DICT / Open Data Philippines",
      "sourceUrl": "https://data.gov.ph/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.gov.ph/",
      "baseUrl": "https://data.gov.ph/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Relaunched Angular portal; the old CKAN API is gone — every /api/3/action/* path now returns the SPA shell and api.data.gov.ph exposes no routes (verified 2026-07-03). Browse and download only. PH-first.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "DICT / Open Data Philippines",
        "sourceUrl": "https://data.gov.ph/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "nager-date-ph-holidays",
      "slug": "nager-date-ph-holidays",
      "title": "Nager.Date ~ Philippine public holidays JSON",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Nager.Date (open-source project)",
      "source": "Nager.Date (open-source project)",
      "sourceUrl": "https://date.nager.at/Api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://date.nager.at/Api",
      "baseUrl": "https://date.nager.at/api/v3/PublicHolidays/2026/PH",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless JSON with Filipino local names (Bagong Taon, Huwebes Santo); may lag late Malacañang special non-working day proclamations, so re-check near year end. PH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Nager.Date (open-source project)",
        "sourceUrl": "https://date.nager.at/Api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "hdx-philippines",
      "slug": "hdx-philippines",
      "title": "HDX Philippines ~ 460+ humanitarian datasets with working CKAN API",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "PH"
      ],
      "provider": "UN OCHA Humanitarian Data Exchange",
      "source": "UN OCHA Humanitarian Data Exchange",
      "sourceUrl": "https://data.humdata.org/group/phl",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.humdata.org/group/phl",
      "baseUrl": "https://data.humdata.org/group/phl",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Fully working keyless CKAN API — try /api/3/action/package_search?q=groups:phl — where data.gov.ph's own CKAN died; typhoon impact, admin boundaries, population grids. PH-first.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "UN OCHA Humanitarian Data Exchange",
        "sourceUrl": "https://data.humdata.org/group/phl",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "world-bank-ph-indicators",
      "slug": "world-bank-ph-indicators",
      "title": "World Bank Indicators ~ Philippine macro data API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "World Bank",
      "source": "World Bank",
      "sourceUrl": "https://datahelpdesk.worldbank.org/knowledgebase/articles/889392-about-the-indicators-api-documentation",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://datahelpdesk.worldbank.org/knowledgebase/articles/889392-about-the-indicators-api-documentation",
      "baseUrl": "https://api.worldbank.org/v2/country/PHL/indicator/NY.GDP.MKTP.CD?format=json&mrv=2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless JSON for 1,400+ indicators scoped to PHL — GDP, OFW remittances (BX.TRF.PWKR.CD.DT), poverty, internet use; ?format=json is mandatory or you get XML back. PH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "World Bank",
        "sourceUrl": "https://datahelpdesk.worldbank.org/knowledgebase/articles/889392-about-the-indicators-api-documentation",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "open-er-api-php",
      "slug": "open-er-api-php",
      "title": "Open ER-API ~ daily PHP exchange rates (keyless)",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "ExchangeRate-API (open endpoint)",
      "source": "ExchangeRate-API (open endpoint)",
      "sourceUrl": "https://www.exchangerate-api.com/docs/free",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.exchangerate-api.com/docs/free",
      "baseUrl": "https://open.er-api.com/v6/latest/PHP",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "BSP publishes no public FX API (SharePoint stat pages only), so this keyless daily-updated open endpoint quoting PHP against 160+ currencies is the workable substitute. PH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "ExchangeRate-API (open endpoint)",
        "sourceUrl": "https://www.exchangerate-api.com/docs/free",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "zippopotam-ph",
      "slug": "zippopotam-ph",
      "title": "Zippopotam.us ~ Philippine ZIP code lookup API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Zippopotam.us (community)",
      "source": "Zippopotam.us (community)",
      "sourceUrl": "https://www.zippopotam.us/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.zippopotam.us/",
      "baseUrl": "https://api.zippopotam.us/PH/1000",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless ZIP-to-place lookup with lat/long; PH coverage is GeoNames-based and patchy (some codes missing, country name even typo'd 'Phillippines'), fine for prototypes. PH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Zippopotam.us (community)",
        "sourceUrl": "https://www.zippopotam.us/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "ph-locations-json",
      "slug": "ph-locations-json",
      "title": "PH Regions to Barangays JSON ~ complete locations dump (community)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "PH"
      ],
      "provider": "Community-maintained (Jacob Flores, GitHub)",
      "source": "Community-maintained (Jacob Flores, GitHub)",
      "sourceUrl": "https://github.com/flores-jacob/philippine-regions-provinces-cities-municipalities-barangays",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/flores-jacob/philippine-regions-provinces-cities-municipalities-barangays",
      "baseUrl": "https://raw.githubusercontent.com/flores-jacob/philippine-regions-provinces-cities-municipalities-barangays/master/philippine_provinces_cities_municipalities_and_barangays_2019v2.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "One big static JSON on GitHub raw nesting every region, province, city/municipality and barangay; 2019 PSGC vintage, so cross-check newer cities against the PSGC APIs. PH-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Community-maintained (Jacob Flores, GitHub)",
        "sourceUrl": "https://github.com/flores-jacob/philippine-regions-provinces-cities-municipalities-barangays",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "payos",
      "slug": "payos",
      "title": "PayOS ~ VietQR bank-transfer payment gateway by Casso",
      "category": "Payments",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Casso (PayOS)",
      "source": "Casso (PayOS)",
      "sourceUrl": "https://payos.vn/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://payos.vn/docs/",
      "baseUrl": "https://api-merchant.payos.vn",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve signup at my.payos.vn; requests use x-client-id + x-api-key headers plus a checksum key for webhook signature verification. SDKs for Node/PHP/Go/Java. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Casso (PayOS)",
        "sourceUrl": "https://payos.vn/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "casso",
      "slug": "casso",
      "title": "Casso ~ bank transaction sync and payment webhooks",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Casso",
      "source": "Casso",
      "sourceUrl": "https://docs.casso.vn/",
      "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.casso.vn/",
      "baseUrl": "https://oauth.casso.vn/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve signup; link your Vietnamese bank account, then pull transactions or receive webhooks with an Apikey Authorization header. Free tier, paid plans scale by transaction volume. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Casso",
        "sourceUrl": "https://docs.casso.vn/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "vnpay",
      "slug": "vnpay",
      "title": "VNPay ~ card, ATM and QR payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "VNPay",
      "source": "VNPay",
      "sourceUrl": "https://sandbox.vnpayment.vn/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://sandbox.vnpayment.vn/apis/",
      "baseUrl": "https://sandbox.vnpayment.vn",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Open sandbox docs with self-serve test-merchant registration at sandbox.vnpayment.vn/devreg; auth is TmnCode + HMAC secure-hash on redirect params. Production requires a signed merchant contract. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "VNPay",
        "sourceUrl": "https://sandbox.vnpayment.vn/apis/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "momo-payments",
      "slug": "momo-payments",
      "title": "MoMo ~ e-wallet payment platform API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "MoMo (M_Service)",
      "source": "MoMo (M_Service)",
      "sourceUrl": "https://developers.momo.vn/v3/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.momo.vn/v3/",
      "baseUrl": "https://payment.momo.vn",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Public EN+VI docs with a public test environment (test-payment.momo.vn); requests signed HMAC-SHA256 with partnerCode/accessKey/secretKey. Production keys only after merchant onboarding with business registration. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "MoMo (M_Service)",
        "sourceUrl": "https://developers.momo.vn/v3/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "zalopay",
      "slug": "zalopay",
      "title": "ZaloPay ~ e-wallet and QR payment APIs",
      "category": "Payments",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "ZaloPay (VNG)",
      "source": "ZaloPay (VNG)",
      "sourceUrl": "https://docs.zalopay.vn/",
      "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.zalopay.vn/",
      "baseUrl": "https://openapi.zalopay.vn",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Public docs in EN+VI with API Explorer and sandbox (sb-openapi.zalopay.vn); requests signed HMAC with app_id + key1, callbacks verified with key2. Production requires merchant onboarding. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ZaloPay (VNG)",
        "sourceUrl": "https://docs.zalopay.vn/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "sepay",
      "slug": "sepay",
      "title": "SePay ~ bank balance-change webhooks for payment confirmation",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "SePay",
      "source": "SePay",
      "sourceUrl": "https://docs.sepay.vn/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.sepay.vn/",
      "baseUrl": "https://my.sepay.vn/userapi",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve signup, create an API token in the dashboard, then poll the userapi or receive webhooks on every bank transfer — no gateway fees. Free tier for small volume. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "SePay",
        "sourceUrl": "https://docs.sepay.vn/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-03",
        "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": "ghn-express",
      "slug": "ghn-express",
      "title": "GHN ~ nationwide express delivery and shipping API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Giao Hang Nhanh (GHN)",
      "source": "Giao Hang Nhanh (GHN)",
      "sourceUrl": "https://api.ghn.vn/home/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://api.ghn.vn/home/docs",
      "baseUrl": "https://online-gateway.ghn.vn/shiip/public-api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Famously public docs (EN+VI): register a GHN account, grab Token + ShopId from the dashboard, and use the dev gateway (dev-online-gateway.ghn.vn) to test. API free; you pay per shipment. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Giao Hang Nhanh (GHN)",
        "sourceUrl": "https://api.ghn.vn/home/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-03",
        "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": "ghtk",
      "slug": "ghtk",
      "title": "GHTK ~ budget courier order and tracking API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Giao Hang Tiet Kiem (GHTK)",
      "source": "Giao Hang Tiet Kiem (GHTK)",
      "sourceUrl": "https://api.ghtk.vn/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://api.ghtk.vn/",
      "baseUrl": "https://services.giaohangtietkiem.vn",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Docs public (docs.giaohangtietkiem.vn redirects here); the Token header is issued after registering a GHTK shop account, so live keys need an active shop/contract. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Giao Hang Tiet Kiem (GHTK)",
        "sourceUrl": "https://api.ghtk.vn/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-03",
        "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": "ahamove",
      "slug": "ahamove",
      "title": "Ahamove ~ on-demand same-day delivery API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Ahamove",
      "source": "Ahamove",
      "sourceUrl": "https://developers.ahamove.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.ahamove.com/",
      "baseUrl": "https://api.ahamove.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Public EN+VI docs (v3) with documented test-environment keys; register an account and activate by phone OTP to obtain a token. API free, pay per delivery. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Ahamove",
        "sourceUrl": "https://developers.ahamove.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-03",
        "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": "zalo-oa",
      "slug": "zalo-oa",
      "title": "Zalo Official Account ~ messaging and mini-app platform APIs",
      "category": "Communications",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Zalo (VNG)",
      "source": "Zalo (VNG)",
      "sourceUrl": "https://developers.zalo.me/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.zalo.me/docs",
      "baseUrl": "https://openapi.zalo.me",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve developer registration; OAuth v4 access/refresh tokens per Official Account. Free to build, but advanced OA messaging quotas and ZNS notifications are paid and need OA verification. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Zalo (VNG)",
        "sourceUrl": "https://developers.zalo.me/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-03",
        "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": "esms-vn",
      "slug": "esms-vn",
      "title": "eSMS.vn ~ SMS, Zalo ZNS and Viber messaging API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "eSMS (VIHAT)",
      "source": "eSMS (VIHAT)",
      "sourceUrl": "https://developers.esms.vn/esms-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://developers.esms.vn/esms-api",
      "baseUrl": "https://rest.esms.vn",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve signup; every call carries ApiKey + SecretKey. Pay per message; brandname SMS and Zalo ZNS templates require registration/approval. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "eSMS (VIHAT)",
        "sourceUrl": "https://developers.esms.vn/esms-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "speedsms",
      "slug": "speedsms",
      "title": "SpeedSMS ~ developer-friendly SMS gateway API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "SpeedSMS",
      "source": "SpeedSMS",
      "sourceUrl": "https://speedsms.vn/sms-api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://speedsms.vn/sms-api/",
      "baseUrl": "https://api.speedsms.vn/index.php",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Register at connect.speedsms.vn to get an access token, used as the username in HTTP Basic auth. Pay-per-message; SDKs and code samples for most languages. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "SpeedSMS",
        "sourceUrl": "https://speedsms.vn/sms-api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-03",
        "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": "stringee",
      "slug": "stringee",
      "title": "Stringee ~ voice, video, SMS and chat CPaaS",
      "category": "Communications",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Stringee",
      "source": "Stringee",
      "sourceUrl": "https://developer.stringee.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.stringee.com/docs",
      "baseUrl": "https://api.stringee.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve registration; REST calls authenticate with a JWT signed using your API key SID + secret. English docs, SDKs for iOS/Android/Web/React Native/Flutter. Free trial then usage pricing. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Stringee",
        "sourceUrl": "https://developer.stringee.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-03",
        "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": "vnpt-ekyc",
      "slug": "vnpt-ekyc",
      "title": "VNPT eKYC ~ ID verification and face-matching API",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "VNPT AI",
      "source": "VNPT AI",
      "sourceUrl": "https://ekyc.vnpt.vn/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://ekyc.vnpt.vn/",
      "baseUrl": "https://api.idg.vnpt.vn",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve dashboard (ekyc.vnpt.vn/admin-dashboard) issues trial tokens; calls carry Token-id/Token-key plus an Authorization bearer. Handles CCCD chip-NFC reading. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "VNPT AI",
        "sourceUrl": "https://ekyc.vnpt.vn/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-03",
        "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": "fpt-ai",
      "slug": "fpt-ai",
      "title": "FPT.AI ~ Vietnamese speech, OCR and NLP APIs",
      "category": "AI",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "FPT Smart Cloud",
      "source": "FPT Smart Cloud",
      "sourceUrl": "https://docs.fpt.ai/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "api-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.fpt.ai/",
      "baseUrl": "https://api.fpt.ai",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve console with free trial credits; requests use an api-key header. Docs in EN, VI and JP covering TTS/STT, document Reader OCR, chatbots and AI agents. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "FPT Smart Cloud",
        "sourceUrl": "https://docs.fpt.ai/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "tiki-open",
      "slug": "tiki-open",
      "title": "Tiki Open Platform ~ marketplace seller integration API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Tiki",
      "source": "Tiki",
      "sourceUrl": "https://open.tiki.vn/docs/docs/current/getting-started/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://open.tiki.vn/docs/docs/current/getting-started/",
      "baseUrl": "https://api.tiki.vn/integration",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Public English docs; OAuth 2.0 with authorization-code and client-credentials flows, but live app keys require an approved Tiki seller account. Event queues push order updates. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Tiki",
        "sourceUrl": "https://open.tiki.vn/docs/docs/current/getting-started/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-03",
        "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": "haravan",
      "slug": "haravan",
      "title": "Haravan ~ omnichannel commerce platform API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Haravan",
      "source": "Haravan",
      "sourceUrl": "https://docs.haravan.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.haravan.com/",
      "baseUrl": "https://apis.haravan.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Self-serve partner signup at partners.haravan.com; OAuth 2.0 apps act on merchant stores (Shopify-style REST resources and webhooks). Docs structured in English. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Haravan",
        "sourceUrl": "https://docs.haravan.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-03",
        "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": "sapo",
      "slug": "sapo",
      "title": "Sapo ~ retail POS and e-commerce platform API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Sapo",
      "source": "Sapo",
      "sourceUrl": "https://support.sapo.vn/api-sapo",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://support.sapo.vn/api-sapo",
      "baseUrl": "https://apis.sapo.vn",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Free partner-program signup; Shopify-style admin API per store ({store}.mysapo.net) with private-app key/secret basic auth or OAuth for public apps. Docs Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Sapo",
        "sourceUrl": "https://support.sapo.vn/api-sapo",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-03",
        "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": "kiotviet",
      "slug": "kiotviet",
      "title": "KiotViet ~ retail POS public API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "KiotViet (Citigo)",
      "source": "KiotViet (Citigo)",
      "sourceUrl": "https://apidocs.kiotviet.vn/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://apidocs.kiotviet.vn/",
      "baseUrl": "https://public.kiotapi.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "OAuth2 client-credentials token from id.kiotviet.vn plus a Retailer header; client id/secret are generated inside the KiotViet store settings, so you need an active paid subscription. Docs JS-rendered, Vietnamese-first. VN-first.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "KiotViet (Citigo)",
        "sourceUrl": "https://apidocs.kiotviet.vn/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-03",
        "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": "vn-provinces-open-api",
      "slug": "vn-provinces-open-api",
      "title": "Provinces Open API ~ Vietnam administrative units (post-2025 merger)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Community-maintained (open-api.vn, open source)",
      "source": "Community-maintained (open-api.vn, open source)",
      "sourceUrl": "https://provinces.open-api.vn/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://provinces.open-api.vn/",
      "baseUrl": "https://provinces.open-api.vn/api/v2/p/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless JSON, verified live. /api/v2/ reflects the July 2025 mergers: 34 provinces with wards directly underneath (districts abolished); /api/v1/ keeps the legacy 63-province tree. Community-run, no SLA. VN-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Community-maintained (open-api.vn, open source)",
        "sourceUrl": "https://provinces.open-api.vn/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "vn-vietqr-image",
      "slug": "vn-vietqr-image",
      "title": "VietQR Quick Link ~ keyless bank-transfer QR image generation",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Casso (VietQR.io)",
      "source": "Casso (VietQR.io)",
      "sourceUrl": "https://www.vietqr.io/en",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.vietqr.io/en",
      "baseUrl": "https://img.vietqr.io/image/970436-0011001234567-compact2.png?amount=50000&addInfo=test",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Verified live: returns a real PNG (NAPAS-standard QR) from a plain URL — bank BIN + account number in the path, amount/addInfo as params. No key for the image quick link; their full REST API needs credentials. VN-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Casso (VietQR.io)",
        "sourceUrl": "https://www.vietqr.io/en",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "vn-vietqr-banks",
      "slug": "vn-vietqr-banks",
      "title": "VietQR Banks API ~ list of all Vietnamese banks with BIN codes",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Casso (VietQR.io)",
      "source": "Casso (VietQR.io)",
      "sourceUrl": "https://www.vietqr.io/en",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.vietqr.io/en",
      "baseUrl": "https://api.vietqr.io/v2/banks",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Keyless JSON, verified live: 65 banks with NAPAS BINs, short names, SWIFT codes, logo CDN URLs and transfer/lookup support flags. The companion lookup-account endpoint requires an API key. VN-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Casso (VietQR.io)",
        "sourceUrl": "https://www.vietqr.io/en",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "vn-vietcombank-fx",
      "slug": "vn-vietcombank-fx",
      "title": "Vietcombank Exchange Rates ~ official daily VND rate feed",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Vietcombank (state-owned bank, official feed)",
      "source": "Vietcombank (state-owned bank, official feed)",
      "sourceUrl": "https://www.vietcombank.com.vn/vi-VN/KHCN/Cong-cu-Tien-ich/Ty-gia",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.vietcombank.com.vn/vi-VN/KHCN/Cong-cu-Tien-ich/Ty-gia",
      "baseUrl": "https://www.vietcombank.com.vn/api/exchangerates?date=2026-07-03",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Verified live: keyless JSON with 20 currencies (cash/transfer/sell vs VND), ?date= is any ISO date. Undocumented but it powers VCB's own rates page; the legacy portal XML feed (pXML.aspx) also works and asks max 1 request per 5 minutes. VN-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Vietcombank (state-owned bank, official feed)",
        "sourceUrl": "https://www.vietcombank.com.vn/vi-VN/KHCN/Cong-cu-Tien-ich/Ty-gia",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "vn-hanoi-air-quality",
      "slug": "vn-hanoi-air-quality",
      "title": "Hanoi Air Quality ~ live monitoring-station JSON from moitruongthudo.vn",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "VN"
      ],
      "provider": "Hanoi environment monitoring portal (official city portal, undocumented endpoints)",
      "source": "Hanoi environment monitoring portal (official city portal, undocumented endpoints)",
      "sourceUrl": "https://moitruongthudo.vn/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://moitruongthudo.vn/",
      "baseUrl": "https://moitruongthudo.vn/api/site",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Verified live: /api/site lists monitoring stations with coordinates; /public/dailystat/{siteId} returns hourly PM2.5 and pollutant series as JSON. Official city portal but the endpoints are undocumented — widely used by the VN dev community, no SLA. VN-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Hanoi environment monitoring portal (official city portal, undocumented endpoints)",
        "sourceUrl": "https://moitruongthudo.vn/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "vn-public-holidays-nager",
      "slug": "vn-public-holidays-nager",
      "title": "Vietnam Public Holidays ~ Tết and national holidays as JSON",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "Nager.Date (community-maintained, open source)",
      "source": "Nager.Date (community-maintained, open source)",
      "sourceUrl": "https://date.nager.at/Api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://date.nager.at/Api",
      "baseUrl": "https://date.nager.at/api/v3/PublicHolidays/2026/VN",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Verified live: keyless JSON of VN public holidays for any year, including the lunar-calendar Tết block with local names. Community-run global service, no official VN government equivalent exists. VN-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Nager.Date (community-maintained, open source)",
        "sourceUrl": "https://date.nager.at/Api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "vn-vps-stock-feed",
      "slug": "vn-vps-stock-feed",
      "title": "VPS Stock Datafeed ~ live Vietnam stock-market quotes",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "VN"
      ],
      "provider": "VPS Securities (undocumented broker feed, community-adopted via vnstock)",
      "source": "VPS Securities (undocumented broker feed, community-adopted via vnstock)",
      "sourceUrl": "https://github.com/thinh-vu/vnstock",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/thinh-vu/vnstock",
      "baseUrl": "https://bgapidatafeed.vps.com.vn/getliststockdata/VNM",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Verified live: keyless JSON with real-time price, volume, ceiling/floor/reference for any HOSE/HNX/UPCoM ticker (comma-separate for batches). Undocumented broker board feed with no SLA — it is what the popular vnstock Python library consumes. VN-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "VPS Securities (undocumented broker feed, community-adopted via vnstock)",
        "sourceUrl": "https://github.com/thinh-vu/vnstock",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "vn-odm-vietnam-ckan",
      "slug": "vn-odm-vietnam-ckan",
      "title": "Open Development Vietnam ~ 13,500+ datasets via full CKAN API",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "VN"
      ],
      "provider": "Open Development Mekong (NGO, community-maintained)",
      "source": "Open Development Mekong (NGO, community-maintained)",
      "sourceUrl": "https://vietnam.opendevelopmentmekong.net/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://vietnam.opendevelopmentmekong.net/",
      "baseUrl": "https://data.vietnam.opendevelopmentmekong.net/api/3/action/package_search?rows=5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Verified live: standard CKAN action API, keyless — 13,542 datasets and laws on land, forests, agriculture, energy and census data. NGO-run (East-West Management Institute), the closest thing VN has to a working open-data API since data.gov.vn's domain died. VN-first.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Open Development Mekong (NGO, community-maintained)",
        "sourceUrl": "https://vietnam.opendevelopmentmekong.net/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "vn-hcmc-open-data",
      "slug": "vn-hcmc-open-data",
      "title": "Ho Chi Minh City Open Data Portal ~ the one city portal that exists",
      "category": "Other portals",
      "group": "Government & open data",
      "country": [
        "VN"
      ],
      "provider": "Ho Chi Minh City People's Committee",
      "source": "Ho Chi Minh City People's Committee",
      "sourceUrl": "https://opendata.hochiminhcity.gov.vn/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opendata.hochiminhcity.gov.vn/",
      "baseUrl": "https://opendata.hochiminhcity.gov.vn/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-03",
      "lastChecked": "2026-07-03",
      "rateLimit": null,
      "note": "Portal verified alive (200) but its CKAN action API sits behind an F5 WAF that rejects non-browser calls, so treat it as browse-and-download, not a programmable API. Vietnam's only notable city-level open-data portal. VN-first.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Ho Chi Minh City People's Committee",
        "sourceUrl": "https://opendata.hochiminhcity.gov.vn/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-03",
        "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": "ae-bayanat",
      "slug": "ae-bayanat",
      "title": "Bayanat.ae ~ UAE national open data portal",
      "category": "Government services",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "Federal Competitiveness and Statistics Centre (UAE)",
      "source": "Federal Competitiveness and Statistics Centre (UAE)",
      "sourceUrl": "https://bayanat.ae/en/developersapiguide",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://bayanat.ae/en/developersapiguide",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official UAE open-data catalogue (OpenDataSoft-based) with a published developer API guide; many datasets are queryable openly but an API key raises rate limits and catalogue coverage varies by sector.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Federal Competitiveness and Statistics Centre (UAE)",
        "sourceUrl": "https://bayanat.ae/en/developersapiguide",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ae-tap-payments",
      "slug": "ae-tap-payments",
      "title": "Tap Payments ~ MENA card & wallet payments",
      "category": "Payments",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "Tap Payments",
      "source": "Tap Payments",
      "sourceUrl": "https://developers.tap.company/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.tap.company/docs",
      "baseUrl": "https://api.tap.company/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Widely used Gulf payment gateway (UAE, Saudi, Kuwait, etc.); requires a merchant account and per-transaction pricing, and supported local methods (KNET, mada, Benefit) vary by country.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Tap Payments",
        "sourceUrl": "https://developers.tap.company/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "ae-lean",
      "slug": "ae-lean",
      "title": "Lean Technologies ~ Gulf open-banking & pay-by-bank",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "Lean Technologies",
      "source": "Lean Technologies",
      "sourceUrl": "https://docs.leantech.me/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.leantech.me/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Regulated open-finance provider with separate v2.0-KSA, v2.0-UAE and v3.0-UAE stacks; endpoints and available banks differ per region and it requires commercial onboarding.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Lean Technologies",
        "sourceUrl": "https://docs.leantech.me/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "ae-paytabs",
      "slug": "ae-paytabs",
      "title": "PayTabs ~ MENA online payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "PayTabs",
      "source": "PayTabs",
      "sourceUrl": "https://docs.paytabs.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.paytabs.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Established UAE/MENA gateway; API base endpoint is region-specific (e.g. UAE, Saudi, Egypt regional hosts) and you must use the host matching your merchant account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PayTabs",
        "sourceUrl": "https://docs.paytabs.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "sa-moyasar",
      "slug": "sa-moyasar",
      "title": "Moyasar ~ Saudi payments (mada, Apple Pay, STC Pay)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Moyasar",
      "source": "Moyasar",
      "sourceUrl": "https://docs.moyasar.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.moyasar.com/",
      "baseUrl": "https://api.moyasar.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Popular Saudi-focused gateway using HTTP Basic auth with a secret key; per-transaction pricing and requires a Saudi merchant account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Moyasar",
        "sourceUrl": "https://docs.moyasar.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "sa-hyperpay",
      "slug": "sa-hyperpay",
      "title": "HyperPay ~ Middle East payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "HyperPay",
      "source": "HyperPay",
      "sourceUrl": "https://hyperpay.docs.oppwa.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://hyperpay.docs.oppwa.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Riyadh-based gateway running on the OPPWA (ACI) platform; uses bearer access tokens against OPPWA test/production hosts and requires merchant onboarding.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "HyperPay",
        "sourceUrl": "https://hyperpay.docs.oppwa.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "sa-tabby",
      "slug": "sa-tabby",
      "title": "Tabby ~ MENA buy-now-pay-later",
      "category": "Payments",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Tabby",
      "source": "Tabby",
      "sourceUrl": "https://docs.tabby.ai/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.tabby.ai/",
      "baseUrl": "https://api.tabby.ai",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "MENA's largest BNPL, live in Saudi Arabia, UAE and Kuwait; requires a merchant account and pre-scoring/checkout-session flow, and eligibility is determined by Tabby per shopper.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Tabby",
        "sourceUrl": "https://docs.tabby.ai/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "za-yoco",
      "slug": "za-yoco",
      "title": "Yoco ~ South African online payments",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "Yoco",
      "source": "Yoco",
      "sourceUrl": "https://developer.yoco.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.yoco.com/",
      "baseUrl": "https://payments.yoco.com/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Well-known South African SME payments provider; online API uses a secret key and per-transaction pricing, and full features require a Yoco merchant account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Yoco",
        "sourceUrl": "https://developer.yoco.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "za-ozow",
      "slug": "za-ozow",
      "title": "Ozow ~ South African instant EFT (pay by bank)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "Ozow",
      "source": "Ozow",
      "sourceUrl": "https://hub.ozow.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://hub.ozow.com/",
      "baseUrl": "https://api.ozow.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "South African instant-EFT specialist; requests are signed with a site code plus private-key hash and require a merchant account, with bank coverage limited to supported SA banks.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Ozow",
        "sourceUrl": "https://hub.ozow.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "za-stitch",
      "slug": "za-stitch",
      "title": "Stitch ~ South African pay-by-bank & financial data",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "Stitch",
      "source": "Stitch",
      "sourceUrl": "https://docs.stitch.money/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.stitch.money/",
      "baseUrl": "https://api.stitch.money/graphql",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "South African fintech offering a GraphQL API for pay-by-bank, cards and linked-account data; uses OAuth client-credentials and requires commercial onboarding.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Stitch",
        "sourceUrl": "https://docs.stitch.money/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "za-payfast",
      "slug": "za-payfast",
      "title": "Payfast ~ South African payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "Payfast (by Network)",
      "source": "Payfast (by Network)",
      "sourceUrl": "https://developers.payfast.co.za/",
      "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.payfast.co.za/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "One of South Africa's most widely used gateways; checkout is form/redirect-based with signature (merchant-id + passphrase) and separate API endpoints for subscriptions/transactions, requiring a merchant account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Payfast (by Network)",
        "sourceUrl": "https://developers.payfast.co.za/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-paystack",
      "slug": "ng-paystack",
      "title": "Paystack ~ African online payments",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Paystack",
      "source": "Paystack",
      "sourceUrl": "https://paystack.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://paystack.com/docs",
      "baseUrl": "https://api.paystack.co",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Nigerian-origin (now part of Stripe); excellent REST API using a secret bearer key, with per-transaction pricing and country availability spanning Nigeria, Ghana, South Africa and Kenya.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Paystack",
        "sourceUrl": "https://paystack.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "ng-flutterwave",
      "slug": "ng-flutterwave",
      "title": "Flutterwave ~ pan-African payments",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Flutterwave",
      "source": "Flutterwave",
      "sourceUrl": "https://developer.flutterwave.com/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.flutterwave.com/docs",
      "baseUrl": "https://api.flutterwave.com/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Major pan-African gateway using a secret bearer key; supports many currencies and methods (cards, mobile money, bank transfer) but availability of specific methods varies by country.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Flutterwave",
        "sourceUrl": "https://developer.flutterwave.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "ng-mono",
      "slug": "ng-mono",
      "title": "Mono ~ Nigerian open banking & financial data",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Mono",
      "source": "Mono",
      "sourceUrl": "https://docs.mono.co/",
      "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.mono.co/",
      "baseUrl": "https://api.withmono.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Nigerian open-finance provider (also expanding in Africa); uses a secret-key header, offers a free sandbox with paid production, and data access depends on user bank linking/consent.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Mono",
        "sourceUrl": "https://docs.mono.co/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-termii",
      "slug": "ng-termii",
      "title": "Termii ~ African SMS, OTP & messaging",
      "category": "Communications",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Termii",
      "source": "Termii",
      "sourceUrl": "https://developer.termii.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://developer.termii.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Nigerian messaging/verification provider; each account gets its own region-specific base URL (shown in the dashboard) so there is no single global host, and pricing is per-message/per-token.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Termii",
        "sourceUrl": "https://developer.termii.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "br-dados-gov",
      "slug": "br-dados-gov",
      "title": "dados.gov.br ~ Brazil federal open-data catalog",
      "category": "Government services",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Governo Federal do Brasil (CGU)",
      "source": "Governo Federal do Brasil (CGU)",
      "sourceUrl": "https://dados.gov.br/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://dados.gov.br/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "National CKAN-based catalog aggregating thousands of federal datasets; read access is public, but the portal has been re-platformed over the years so exact API paths can shift.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Governo Federal do Brasil (CGU)",
        "sourceUrl": "https://dados.gov.br/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-bcb-sgs",
      "slug": "br-bcb-sgs",
      "title": "Banco Central do Brasil ~ SGS economic time series",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Banco Central do Brasil",
      "source": "Banco Central do Brasil",
      "sourceUrl": "https://dadosabertos.bcb.gov.br/dataset",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://dadosabertos.bcb.gov.br/dataset",
      "baseUrl": "https://api.bcb.gov.br/dados/serie/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free keyless JSON time-series API (SELIC, exchange rates, credit, inflation) via numeric series codes; date-range queries are capped at 10 years per call.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Banco Central do Brasil",
        "sourceUrl": "https://dadosabertos.bcb.gov.br/dataset",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-ibge",
      "slug": "br-ibge",
      "title": "IBGE ~ Brazil statistics, geography & locality data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Instituto Brasileiro de Geografia e Estatistica (IBGE)",
      "source": "Instituto Brasileiro de Geografia e Estatistica (IBGE)",
      "sourceUrl": "https://servicodados.ibge.gov.br/api/docs",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://servicodados.ibge.gov.br/api/docs",
      "baseUrl": "https://servicodados.ibge.gov.br/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless official API bundling Localidades (states/municipalities/districts) and Agregados (census/survey aggregates); versions differ per service (localidades v1, agregados v3).",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Instituto Brasileiro de Geografia e Estatistica (IBGE)",
        "sourceUrl": "https://servicodados.ibge.gov.br/api/docs",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-brasil-api",
      "slug": "br-brasil-api",
      "title": "BrasilAPI ~ unified CEP, CNPJ, banks & FIPE data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "BrasilAPI (community / open source)",
      "source": "BrasilAPI (community / open source)",
      "sourceUrl": "https://brasilapi.com.br/docs",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://brasilapi.com.br/docs",
      "baseUrl": "https://brasilapi.com.br/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Community-maintained aggregator wrapping many Brazilian public data sources (CEP postal lookup, CNPJ company data, banks, holidays, FIPE vehicle prices) into one keyless REST API; availability depends on upstream sources.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BrasilAPI (community / open source)",
        "sourceUrl": "https://brasilapi.com.br/docs",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-pagarme",
      "slug": "br-pagarme",
      "title": "Pagar.me ~ Brazilian online payments (card, PIX, boleto)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Pagar.me (Stone group)",
      "source": "Pagar.me (Stone group)",
      "sourceUrl": "https://docs.pagar.me/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.pagar.me/",
      "baseUrl": "https://api.pagar.me/core/v5",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Native Brazilian gateway; Core API v5 uses HTTP Basic auth with a secret key and supports card, PIX, boleto, subscriptions, and marketplace split - pricing is per-transaction.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Pagar.me (Stone group)",
        "sourceUrl": "https://docs.pagar.me/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "mx-datos-gob",
      "slug": "mx-datos-gob",
      "title": "datos.gob.mx ~ Mexico federal open-data portal",
      "category": "Government services",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Gobierno de Mexico",
      "source": "Gobierno de Mexico",
      "sourceUrl": "https://datos.gob.mx/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://datos.gob.mx/",
      "baseUrl": "https://api.datos.gob.mx/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "CKAN-based federal catalog with a companion api.datos.gob.mx endpoint; the platform's continuity has varied across administrations, so verify dataset freshness before depending on it.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Gobierno de Mexico",
        "sourceUrl": "https://datos.gob.mx/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "mx-banxico-sie",
      "slug": "mx-banxico-sie",
      "title": "Banxico ~ SIE economic & FX time series",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Banco de Mexico (Banxico)",
      "source": "Banco de Mexico (Banxico)",
      "sourceUrl": "https://www.banxico.org.mx/SieAPIRest/service/v1/",
      "tier": "open",
      "kind": "dataset",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.banxico.org.mx/SieAPIRest/service/v1/",
      "baseUrl": "https://www.banxico.org.mx/SieAPIRest/service/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official REST API for the Sistema de Informacion Economica; free but requires a 64-char query token sent via the Bmx-Token header, with per-query rate limits.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Banco de Mexico (Banxico)",
        "sourceUrl": "https://www.banxico.org.mx/SieAPIRest/service/v1/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "mx-inegi-indicadores",
      "slug": "mx-inegi-indicadores",
      "title": "INEGI ~ indicators API (economy, population)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Instituto Nacional de Estadistica y Geografia (INEGI)",
      "source": "Instituto Nacional de Estadistica y Geografia (INEGI)",
      "sourceUrl": "https://www.inegi.org.mx/servicios/api_indicadores.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.inegi.org.mx/servicios/api_indicadores.html",
      "baseUrl": "https://www.inegi.org.mx/app/api/indicadores/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free official statistics API for national/state/municipal indicators; requires a token emailed on registration.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Instituto Nacional de Estadistica y Geografia (INEGI)",
        "sourceUrl": "https://www.inegi.org.mx/servicios/api_indicadores.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "mx-inegi-denue",
      "slug": "mx-inegi-denue",
      "title": "INEGI DENUE ~ Mexican business establishment directory",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Instituto Nacional de Estadistica y Geografia (INEGI)",
      "source": "Instituto Nacional de Estadistica y Geografia (INEGI)",
      "sourceUrl": "https://www.inegi.org.mx/servicios/api_denue.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.inegi.org.mx/servicios/api_denue.html",
      "baseUrl": "https://www.inegi.org.mx/app/api/denue/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free API over 5M+ economic establishments (name, activity, location, size); requires an INEGI token and returns official directory data, not a legal company registry.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Instituto Nacional de Estadistica y Geografia (INEGI)",
        "sourceUrl": "https://www.inegi.org.mx/servicios/api_denue.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "mx-conekta",
      "slug": "mx-conekta",
      "title": "Conekta ~ Mexican payments (cards, OXXO, SPEI)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Conekta",
      "source": "Conekta",
      "sourceUrl": "https://developers.conekta.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.conekta.com/",
      "baseUrl": "https://api.conekta.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Independent Mexican processor; accepts cards, OXXO cash vouchers, and SPEI transfers, priced per transaction.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Conekta",
        "sourceUrl": "https://developers.conekta.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "es-datos-gob",
      "slug": "es-datos-gob",
      "title": "datos.gob.es ~ Spain federated open-data catalog",
      "category": "Government services",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Gobierno de Espana (datos.gob.es)",
      "source": "Gobierno de Espana (datos.gob.es)",
      "sourceUrl": "https://datos.gob.es/es/apidata",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://datos.gob.es/es/apidata",
      "baseUrl": "https://datos.gob.es/apidata",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Semantic catalog federating ~100k datasets from ministries, autonomous communities, and city halls; the API returns catalog metadata (DCAT), not always the raw data files directly.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Gobierno de Espana (datos.gob.es)",
        "sourceUrl": "https://datos.gob.es/es/apidata",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "es-ine",
      "slug": "es-ine",
      "title": "INE ~ Spain official statistics JSON API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Instituto Nacional de Estadistica (INE)",
      "source": "Instituto Nacional de Estadistica (INE)",
      "sourceUrl": "https://www.ine.es/dyngs/DAB/index.htm?cid=1099",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.ine.es/dyngs/DAB/index.htm?cid=1099",
      "baseUrl": "https://servicios.ine.es/wstempus/js/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless JSON API over the INE Tempus3 database (population, CPI, employment); you must first find the right operation/table/series identifiers, which has a learning curve.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Instituto Nacional de Estadistica (INE)",
        "sourceUrl": "https://www.ine.es/dyngs/DAB/index.htm?cid=1099",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "es-aemet",
      "slug": "es-aemet",
      "title": "AEMET OpenData ~ Spain weather & climate data",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "ES"
      ],
      "provider": "Agencia Estatal de Meteorologia (AEMET)",
      "source": "Agencia Estatal de Meteorologia (AEMET)",
      "sourceUrl": "https://opendata.aemet.es/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opendata.aemet.es/",
      "baseUrl": "https://opendata.aemet.es/opendata/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free REST API for forecasts, observations, and climatology; requires a free API key emailed on request, and responses use a two-step pattern (request returns a data URL).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Agencia Estatal de Meteorologia (AEMET)",
        "sourceUrl": "https://opendata.aemet.es/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "es-catastro",
      "slug": "es-catastro",
      "title": "Catastro ~ Spanish cadastre & address web services",
      "category": "Property",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Direccion General del Catastro (Ministerio de Hacienda)",
      "source": "Direccion General del Catastro (Ministerio de Hacienda)",
      "sourceUrl": "https://www.catastro.hacienda.gob.es/ws/Webservices_Libres.pdf",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.catastro.hacienda.gob.es/ws/Webservices_Libres.pdf",
      "baseUrl": "http://ovc.catastro.meh.es/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free 'unprotected' web services for cadastral reference lookups, street directory, and coordinate conversion; originally SOAP but usable over HTTP/REST, and property owner data is not exposed.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Direccion General del Catastro (Ministerio de Hacienda)",
        "sourceUrl": "https://www.catastro.hacienda.gob.es/ws/Webservices_Libres.pdf",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "es-holded",
      "slug": "es-holded",
      "title": "Holded ~ Spanish cloud accounting & ERP API",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Holded (Visma)",
      "source": "Holded (Visma)",
      "sourceUrl": "https://developers.holded.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://developers.holded.com/",
      "baseUrl": "https://api.holded.com/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Spanish cloud ERP (now part of Visma) with a broad REST API (invoicing, accounting, CRM, inventory) using a Key header; API access depends on your Holded subscription plan.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Holded (Visma)",
        "sourceUrl": "https://developers.holded.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "it-dati-gov",
      "slug": "it-dati-gov",
      "title": "dati.gov.it ~ Italy national open-data catalog",
      "category": "Government services",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "AgID (Agenzia per l'Italia Digitale)",
      "source": "AgID (Agenzia per l'Italia Digitale)",
      "sourceUrl": "https://www.dati.gov.it/api",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.dati.gov.it/api",
      "baseUrl": "https://www.dati.gov.it/opendata/api/3/action/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "National catalog aggregating open data from Italian public administrations via a CKAN action API (DCAT-AP_IT metadata); it indexes metadata, with the actual files hosted by each administration.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "AgID (Agenzia per l'Italia Digitale)",
        "sourceUrl": "https://www.dati.gov.it/api",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-istat-sdmx",
      "slug": "it-istat-sdmx",
      "title": "ISTAT ~ Italian statistics SDMX web service",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Istituto Nazionale di Statistica (ISTAT)",
      "source": "Istituto Nazionale di Statistica (ISTAT)",
      "sourceUrl": "https://www.istat.it/en/classifications-and-tools/sdmx-web-services/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.istat.it/en/classifications-and-tools/sdmx-web-services/",
      "baseUrl": "https://esploradati.istat.it/SDMXWS/rest/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless standard SDMX REST API over the I.Stat warehouse; endpoint migrated to esploradati.istat.it and enforces a strict ~5 queries/minute/IP limit with multi-day blocks if exceeded.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Istituto Nazionale di Statistica (ISTAT)",
        "sourceUrl": "https://www.istat.it/en/classifications-and-tools/sdmx-web-services/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-bancaditalia-cambi",
      "slug": "it-bancaditalia-cambi",
      "title": "Banca d'Italia ~ official euro exchange rates",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Banca d'Italia",
      "source": "Banca d'Italia",
      "sourceUrl": "https://tassidicambio.bancaditalia.it/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://tassidicambio.bancaditalia.it/",
      "baseUrl": "https://tassidicambio.bancaditalia.it/terzevalute-wf-web/rest/v1.0/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free keyless REST service for euro/USD exchange rates (latest, daily, and long historical series) returning JSON/CSV/Excel via the Accept header; rates are indicative, not for market benchmarking.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Banca d'Italia",
        "sourceUrl": "https://tassidicambio.bancaditalia.it/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-fatture-in-cloud",
      "slug": "it-fatture-in-cloud",
      "title": "Fatture in Cloud ~ Italian e-invoicing & SDI API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Fatture in Cloud (TeamSystem)",
      "source": "Fatture in Cloud (TeamSystem)",
      "sourceUrl": "https://developers.fattureincloud.it/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.fattureincloud.it/",
      "baseUrl": "https://api-v2.fattureincloud.it",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Popular Italian invoicing platform whose REST API v2 (OAuth2) creates invoices and submits electronic invoices to the SDI (Sistema di Interscambio); full use requires an account plan.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Fatture in Cloud (TeamSystem)",
        "sourceUrl": "https://developers.fattureincloud.it/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "it-satispay",
      "slug": "it-satispay",
      "title": "Satispay ~ Italian mobile payments for business",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Satispay",
      "source": "Satispay",
      "sourceUrl": "https://developers.satispay.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.satispay.com/",
      "baseUrl": "https://authservices.satispay.com/g_business/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Italian mobile-payment network with a Business API for in-store and e-commerce payments; authentication uses RSA-signed requests with issued key credentials, and a sandbox is available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Satispay",
        "sourceUrl": "https://developers.satispay.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "ca-open-data",
      "slug": "ca-open-data",
      "title": "Open Government ~ Canada's open-data catalogue",
      "category": "Government services",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Government of Canada",
      "source": "Government of Canada",
      "sourceUrl": "https://open.canada.ca/en/access-our-application-programming-interface-api",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://open.canada.ca/en/access-our-application-programming-interface-api",
      "baseUrl": "https://open.canada.ca/data/en/api/3/action",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Read-only CKAN Action API; GET requests only, no API key required.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Government of Canada",
        "sourceUrl": "https://open.canada.ca/en/access-our-application-programming-interface-api",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-boc-valet",
      "slug": "ca-boc-valet",
      "title": "Bank of Canada Valet ~ FX rates & economic series",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Bank of Canada",
      "source": "Bank of Canada",
      "sourceUrl": "https://www.bankofcanada.ca/valet/docs",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.bankofcanada.ca/valet/docs",
      "baseUrl": "https://www.bankofcanada.ca/valet",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "No registration or key; JSON/CSV/XML output; every call needs a seriesName or groupName.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bank of Canada",
        "sourceUrl": "https://www.bankofcanada.ca/valet/docs",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-statcan-wds",
      "slug": "ca-statcan-wds",
      "title": "Statistics Canada ~ Web Data Service (official stats)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Statistics Canada",
      "source": "Statistics Canada",
      "sourceUrl": "https://www.statcan.gc.ca/en/developers/wds",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.statcan.gc.ca/en/developers/wds",
      "baseUrl": "https://www150.statcan.gc.ca/t1/wds/rest",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": "50 req/s server-wide, 25 req/s per IP",
      "note": "Keyless but technical; 50 req/s server limit / 25 req/s per IP; returns JSON or SDMX.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Statistics Canada",
        "sourceUrl": "https://www.statcan.gc.ca/en/developers/wds",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "rateLimit": "50 req/s server-wide, 25 req/s per IP",
        "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": "ca-msc-geomet",
      "slug": "ca-msc-geomet",
      "title": "MSC GeoMet ~ Canada weather, climate & water data",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "CA"
      ],
      "provider": "Environment and Climate Change Canada (MSC)",
      "source": "Environment and Climate Change Canada (MSC)",
      "sourceUrl": "https://eccc-msc.github.io/open-data/msc-geomet/readme_en/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://eccc-msc.github.io/open-data/msc-geomet/readme_en/",
      "baseUrl": "https://api.weather.gc.ca",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Anonymous & free OGC API (Features/Coverages/Maps); real-time forecasts, alerts plus climate archives.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Environment and Climate Change Canada (MSC)",
        "sourceUrl": "https://eccc-msc.github.io/open-data/msc-geomet/readme_en/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-represent",
      "slug": "ca-represent",
      "title": "Represent ~ postcode to Canadian elected officials",
      "category": "Government services",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Open North",
      "source": "Open North",
      "sourceUrl": "https://represent.opennorth.ca/api/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://represent.opennorth.ca/api/",
      "baseUrl": "https://represent.opennorth.ca",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Run by a nonprofit (not government); JSON, paginated 20/page; maps postcode or point to reps and boundaries.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Open North",
        "sourceUrl": "https://represent.opennorth.ca/api/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "au-data-gov",
      "slug": "au-data-gov",
      "title": "data.gov.au ~ Australian open-data catalogue",
      "category": "Government services",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Australian Government (Digital Transformation Agency)",
      "source": "Australian Government (Digital Transformation Agency)",
      "sourceUrl": "https://data.gov.au/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.gov.au/",
      "baseUrl": "https://data.gov.au/data/api/3/action",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "CKAN Action + DataStore API; reads are keyless, some write operations need a token.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Australian Government (Digital Transformation Agency)",
        "sourceUrl": "https://data.gov.au/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "au-abs-data",
      "slug": "au-abs-data",
      "title": "ABS Data API ~ Australian statistics (SDMX)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Australian Bureau of Statistics",
      "source": "Australian Bureau of Statistics",
      "sourceUrl": "https://www.abs.gov.au/about/data-services/application-programming-interfaces-apis/data-api-user-guide",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.abs.gov.au/about/data-services/application-programming-interfaces-apis/data-api-user-guide",
      "baseUrl": "https://api.data.abs.gov.au",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "SDMX 2.1 compliant; returns SDMX-ML, SDMX-JSON or SDMX-CSV; labelled beta but stable and keyless.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Australian Bureau of Statistics",
        "sourceUrl": "https://www.abs.gov.au/about/data-services/application-programming-interfaces-apis/data-api-user-guide",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "au-abn-lookup",
      "slug": "au-abn-lookup",
      "title": "ABN Lookup ~ Australian Business Register search",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Australian Business Register (ATO)",
      "source": "Australian Business Register (ATO)",
      "sourceUrl": "https://abr.business.gov.au/Documentation/Default",
      "tier": "open",
      "kind": "dataset",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://abr.business.gov.au/Documentation/Default",
      "baseUrl": "https://abr.business.gov.au/json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free but you must register for an authentication GUID (token); SOAP plus limited JSON; ABN and name search.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Australian Business Register (ATO)",
        "sourceUrl": "https://abr.business.gov.au/Documentation/Default",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "au-transport-nsw",
      "slug": "au-transport-nsw",
      "title": "Transport for NSW ~ Sydney transit & GTFS-Realtime",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Transport for NSW",
      "source": "Transport for NSW",
      "sourceUrl": "https://opendata.transport.nsw.gov.au/developers/documentation",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opendata.transport.nsw.gov.au/developers/documentation",
      "baseUrl": "https://api.transport.nsw.gov.au/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free API key required; static GTFS plus GTFS-R (protobuf) refreshed roughly every 15s; NSW coverage only.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Transport for NSW",
        "sourceUrl": "https://opendata.transport.nsw.gov.au/developers/documentation",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nz-data-govt",
      "slug": "nz-data-govt",
      "title": "data.govt.nz ~ New Zealand open-data catalogue",
      "category": "Government services",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "New Zealand Government (Stats NZ / DIA)",
      "source": "New Zealand Government (Stats NZ / DIA)",
      "sourceUrl": "https://www.data.govt.nz/use-data/using-data-govt-nz-apis/about-data-govt-nz-apis/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.data.govt.nz/use-data/using-data-govt-nz-apis/about-data-govt-nz-apis/",
      "baseUrl": "https://catalogue.data.govt.nz/api/3/action",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "CKAN catalogue plus DataStore JSON API; keyless read access.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "New Zealand Government (Stats NZ / DIA)",
        "sourceUrl": "https://www.data.govt.nz/use-data/using-data-govt-nz-apis/about-data-govt-nz-apis/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nz-stats-ade",
      "slug": "nz-stats-ade",
      "title": "Stats NZ ~ Aotearoa Data Explorer (SDMX)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Stats NZ",
      "source": "Stats NZ",
      "sourceUrl": "https://www.stats.govt.nz/tools/aotearoa-data-explorer/ade-api-user-guide/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.stats.govt.nz/tools/aotearoa-data-explorer/ade-api-user-guide/",
      "baseUrl": "https://api.data.stats.govt.nz/rest",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "SDMX REST interface; replaced the legacy Stats NZ open-data API that closed Aug 2024; keyless.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Stats NZ",
        "sourceUrl": "https://www.stats.govt.nz/tools/aotearoa-data-explorer/ade-api-user-guide/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nz-nzbn",
      "slug": "nz-nzbn",
      "title": "NZBN ~ New Zealand Business Number register",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Companies Office / MBIE",
      "source": "Companies Office / MBIE",
      "sourceUrl": "https://portal.api.business.govt.nz/api/nzbn",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://portal.api.business.govt.nz/api/nzbn",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "No fee but register on the MBIE API portal for a subscription key; core entity data is public, updates need OAuth.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Companies Office / MBIE",
        "sourceUrl": "https://portal.api.business.govt.nz/api/nzbn",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nz-transit-at",
      "slug": "nz-transit-at",
      "title": "Auckland Transport ~ AT transit & GTFS-Realtime",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Auckland Transport",
      "source": "Auckland Transport",
      "sourceUrl": "https://dev-portal.at.govt.nz/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://dev-portal.at.govt.nz/",
      "baseUrl": "https://api.at.govt.nz",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free subscription key (Ocp-Apim-Subscription-Key); limits 600/min and 35k/week; JSON or protobuf output.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Auckland Transport",
        "sourceUrl": "https://dev-portal.at.govt.nz/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nz-linz-lds",
      "slug": "nz-linz-lds",
      "title": "LINZ Data Service ~ NZ land & seabed geodata",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Toitu Te Whenua Land Information New Zealand",
      "source": "Toitu Te Whenua Land Information New Zealand",
      "sourceUrl": "https://www.linz.govt.nz/guidance/data-service/linz-data-service-guide/web-services/lds-apis-and-web-services",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.linz.govt.nz/guidance/data-service/linz-data-service-guide/web-services/lds-apis-and-web-services",
      "baseUrl": "https://data.linz.govt.nz/services",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free API key required to create; OGC WFS/WMS/WMTS plus XYZ tiles and a changeset API for parcels, topo and addresses.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Toitu Te Whenua Land Information New Zealand",
        "sourceUrl": "https://www.linz.govt.nz/guidance/data-service/linz-data-service-guide/web-services/lds-apis-and-web-services",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ie-data-gov",
      "slug": "ie-data-gov",
      "title": "data.gov.ie ~ Ireland's open-data catalogue",
      "category": "Government services",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Government of Ireland",
      "source": "Government of Ireland",
      "sourceUrl": "https://data.gov.ie/pages/developers",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.gov.ie/pages/developers",
      "baseUrl": "https://data.gov.ie/api/3/action",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "CKAN Action API; keyless; aggregates datasets across Irish public-sector bodies.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Government of Ireland",
        "sourceUrl": "https://data.gov.ie/pages/developers",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-cso-pxstat",
      "slug": "ie-cso-pxstat",
      "title": "CSO PxStat ~ Ireland official statistics (JSON-stat)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Central Statistics Office",
      "source": "Central Statistics Office",
      "sourceUrl": "https://www.cso.ie/en/databases/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.cso.ie/en/databases/",
      "baseUrl": "https://data.cso.ie",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless machine-to-machine access; JSON-stat plus PX/CSV/XLSX; served via RESTful and JSON-RPC endpoints.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Central Statistics Office",
        "sourceUrl": "https://www.cso.ie/en/databases/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-transit-nta",
      "slug": "ie-transit-nta",
      "title": "Transport for Ireland ~ national GTFS-Realtime",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "National Transport Authority",
      "source": "National Transport Authority",
      "sourceUrl": "https://developer.nationaltransport.ie/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.nationaltransport.ie/",
      "baseUrl": "https://api.nationaltransport.ie/gtfsr/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free registration for an API key; GTFS-R TripUpdates/VehiclePositions for Dublin Bus, Bus Eireann, Go-Ahead, Luas and Iarnrod Eireann.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "National Transport Authority",
        "sourceUrl": "https://developer.nationaltransport.ie/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ie-met-eireann",
      "slug": "ie-met-eireann",
      "title": "Met Eireann ~ Irish weather forecast API",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "IE"
      ],
      "provider": "Met Eireann",
      "source": "Met Eireann",
      "sourceUrl": "https://www.met.ie/about-us/specialised-services/open-data",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.met.ie/about-us/specialised-services/open-data",
      "baseUrl": "https://openaccess.pf.api.met.ie",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless point forecast in XML (WDB API) out to 240h; new host openaccess.pf.api.met.ie (old ICHEC URL retired).",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Met Eireann",
        "sourceUrl": "https://www.met.ie/about-us/specialised-services/open-data",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "in-data-gov",
      "slug": "in-data-gov",
      "title": "data.gov.in ~ India open government data API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Open Government Data (OGD) Platform India / NIC",
      "source": "Open Government Data (OGD) Platform India / NIC",
      "sourceUrl": "https://www.data.gov.in/apis",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.data.gov.in/apis",
      "baseUrl": "https://api.data.gov.in/resource",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Each dataset has its own resource ID; you pass a free api-key query param, and coverage/freshness varies widely by ministry.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Open Government Data (OGD) Platform India / NIC",
        "sourceUrl": "https://www.data.gov.in/apis",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-razorpay-ifsc",
      "slug": "in-razorpay-ifsc",
      "title": "Razorpay IFSC ~ Indian bank branch/IFSC lookup",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Razorpay",
      "source": "Razorpay",
      "sourceUrl": "https://github.com/razorpay/ifsc/wiki/API",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/razorpay/ifsc/wiki/API",
      "baseUrl": "https://ifsc.razorpay.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free, keyless, CORS-enabled, MIT-licensed; data is generated from RBI's published IFSC list so it lags the RBI source slightly.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Razorpay",
        "sourceUrl": "https://github.com/razorpay/ifsc/wiki/API",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "in-razorpay-payments",
      "slug": "in-razorpay-payments",
      "title": "Razorpay ~ India payments & UPI gateway API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Razorpay",
      "source": "Razorpay",
      "sourceUrl": "https://razorpay.com/docs/api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "key id + secret"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://razorpay.com/docs/api/",
      "baseUrl": "https://api.razorpay.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Uses HTTP Basic auth with key_id:key_secret; live mode requires a KYC-verified Indian business, but a full test/sandbox mode is free.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Razorpay",
        "sourceUrl": "https://razorpay.com/docs/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-sarvam-ai",
      "slug": "in-sarvam-ai",
      "title": "Sarvam AI ~ Indian-language LLM, speech & translate",
      "category": "AI",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Sarvam AI",
      "source": "Sarvam AI",
      "sourceUrl": "https://docs.sarvam.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.sarvam.ai/",
      "baseUrl": "https://api.sarvam.ai",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Authenticate with an api-subscription-key from dashboard.sarvam.ai; model lineup (chat, ASR, TTS, translate) evolves quickly so pin versions.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Sarvam AI",
        "sourceUrl": "https://docs.sarvam.ai/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-setu",
      "slug": "in-setu",
      "title": "Setu ~ India UPI, BBPS & Account Aggregator APIs",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Setu (Pine Labs)",
      "source": "Setu (Pine Labs)",
      "sourceUrl": "https://docs.setu.co/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.setu.co/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "B2B fintech infra; sandbox is self-serve but production access and Account Aggregator flows require contracts/regulated partners, and base URLs differ per product and environment.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Setu (Pine Labs)",
        "sourceUrl": "https://docs.setu.co/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "jp-estat",
      "slug": "jp-estat",
      "title": "e-Stat ~ Japan official statistics API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "Statistics Bureau of Japan (e-Stat)",
      "source": "Statistics Bureau of Japan (e-Stat)",
      "sourceUrl": "https://www.e-stat.go.jp/api/en/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.e-stat.go.jp/api/en/",
      "baseUrl": "https://api.e-stat.go.jp/rest/3.0/app",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Requires a free e-Stat account and application ID (appId); table/metadata model is powerful but has a learning curve, English docs exist.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Statistics Bureau of Japan (e-Stat)",
        "sourceUrl": "https://www.e-stat.go.jp/api/en/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-data-go-jp",
      "slug": "jp-data-go-jp",
      "title": "data.go.jp ~ Japan open data catalog",
      "category": "Government services",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "Digital Agency of Japan",
      "source": "Digital Agency of Japan",
      "sourceUrl": "https://www.data.go.jp/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.data.go.jp/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "A CKAN-based cross-government catalog (relaunched 2023 under the Digital Agency); it indexes datasets that each live at their own URLs rather than being one unified data API.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Digital Agency of Japan",
        "sourceUrl": "https://www.data.go.jp/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "jp-resas",
      "slug": "jp-resas",
      "title": "RESAS ~ Japan regional economy statistics API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "Cabinet Office / METI (RESAS)",
      "source": "Cabinet Office / METI (RESAS)",
      "sourceUrl": "https://opendata.resas-portal.go.jp/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opendata.resas-portal.go.jp/",
      "baseUrl": "https://opendata.resas-portal.go.jp/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free X-API-KEY from a registered account; documentation and endpoint labels are primarily in Japanese.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Cabinet Office / METI (RESAS)",
        "sourceUrl": "https://opendata.resas-portal.go.jp/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-zipcloud",
      "slug": "jp-zipcloud",
      "title": "zipcloud ~ Japan postal code to address lookup",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "IBIS Inc. (zipcloud)",
      "source": "IBIS Inc. (zipcloud)",
      "sourceUrl": "https://zipcloud.ibsnet.co.jp/doc/api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://zipcloud.ibsnet.co.jp/doc/api",
      "baseUrl": "https://zipcloud.ibsnet.co.jp/api/search",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free, no registration; it is a third party redistributing Japan Post's postal-code data (not an official Japan Post API), so treat availability as best-effort.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "IBIS Inc. (zipcloud)",
        "sourceUrl": "https://zipcloud.ibsnet.co.jp/doc/api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "jp-heartrails-geo",
      "slug": "jp-heartrails-geo",
      "title": "HeartRails Geo ~ Japan address/station geocoding",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "HeartRails Inc.",
      "source": "HeartRails Inc.",
      "sourceUrl": "https://geoapi.heartrails.com/api.html",
      "tier": "open",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://geoapi.heartrails.com/api.html",
      "baseUrl": "https://geoapi.heartrails.com/api/json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free and keyless with JSON/JSONP/XML; a small third-party service, so avoid depending on it for high-volume production without a fallback.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "HeartRails Inc.",
        "sourceUrl": "https://geoapi.heartrails.com/api.html",
        "sourceType": "Curated source",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "kr-data-gov",
      "slug": "kr-data-gov",
      "title": "data.go.kr ~ Korea public data portal API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Ministry of the Interior and Safety (NIA)",
      "source": "Ministry of the Interior and Safety (NIA)",
      "sourceUrl": "https://www.data.go.kr/en/index.do",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.data.go.kr/en/index.do",
      "baseUrl": "https://apis.data.go.kr",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Each API is requested separately for a serviceKey; default quota ~100k calls, and many individual API guides are Korean-only despite the English portal.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Ministry of the Interior and Safety (NIA)",
        "sourceUrl": "https://www.data.go.kr/en/index.do",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-kosis",
      "slug": "kr-kosis",
      "title": "KOSIS ~ Korea national statistics OpenAPI",
      "category": "Government services",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Statistics Korea (KOSTAT)",
      "source": "Statistics Korea (KOSTAT)",
      "sourceUrl": "https://kosis.kr/openapi/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://kosis.kr/openapi/",
      "baseUrl": "https://kosis.kr/openapi",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free API key from the KOSIS OpenAPI page; the statistical-table ID system takes some learning and English coverage is partial.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Statistics Korea (KOSTAT)",
        "sourceUrl": "https://kosis.kr/openapi/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-bok-ecos",
      "slug": "kr-bok-ecos",
      "title": "Bank of Korea ECOS ~ economic statistics API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Bank of Korea",
      "source": "Bank of Korea",
      "sourceUrl": "https://ecos.bok.or.kr/api/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://ecos.bok.or.kr/api/",
      "baseUrl": "https://ecos.bok.or.kr/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free API key from the ECOS site; response structure uses statistic/item codes you look up first, and docs are mostly Korean.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Bank of Korea",
        "sourceUrl": "https://ecos.bok.or.kr/api/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-juso",
      "slug": "kr-juso",
      "title": "juso.go.kr ~ Korea road-name address API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Ministry of the Interior and Safety (Juso)",
      "source": "Ministry of the Interior and Safety (Juso)",
      "sourceUrl": "https://business.juso.go.kr/addrlink/main.do",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://business.juso.go.kr/addrlink/main.do",
      "baseUrl": "https://business.juso.go.kr/addrlink/addrLinkApi.do",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free approval key (confmKey) required; the official Korean road-name address search, with separate endpoints for coordinates and English addresses.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Ministry of the Interior and Safety (Juso)",
        "sourceUrl": "https://business.juso.go.kr/addrlink/main.do",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-kakao-local",
      "slug": "kr-kakao-local",
      "title": "Kakao ~ Korea Local search & geocoding API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Kakao",
      "source": "Kakao",
      "sourceUrl": "https://developers.kakao.com/docs/latest/en/local/dev-guide",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "Authorization",
        "prefix": "KakaoAK",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.kakao.com/docs/latest/en/local/dev-guide",
      "baseUrl": "https://dapi.kakao.com/v2/local",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Uses a REST API key in an Authorization: KakaoAK header; free quota with rate limits, strongest for Korea coverage, English docs available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Kakao",
        "sourceUrl": "https://developers.kakao.com/docs/latest/en/local/dev-guide",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-amap-maps",
      "slug": "cn-amap-maps",
      "title": "Amap (AutoNavi) ~ China maps & geocoding API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "AutoNavi (Amap / Gaode), Alibaba Group",
      "source": "AutoNavi (Amap / Gaode), Alibaba Group",
      "sourceUrl": "https://lbs.amap.com/api/webservice/summary",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://lbs.amap.com/api/webservice/summary",
      "baseUrl": "https://restapi.amap.com/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Docs are Chinese-only and registration needs a verifiable Chinese phone number; coordinates use the GCJ-02 (Mars) system, not raw WGS-84.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "AutoNavi (Amap / Gaode), Alibaba Group",
        "sourceUrl": "https://lbs.amap.com/api/webservice/summary",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-baidu-maps",
      "slug": "cn-baidu-maps",
      "title": "Baidu Maps ~ China maps, geocoding & places API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Baidu",
      "source": "Baidu",
      "sourceUrl": "https://lbsyun.baidu.com/index.php?title=webapi",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://lbsyun.baidu.com/index.php?title=webapi",
      "baseUrl": "https://api.map.baidu.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Requires an AK key (Chinese-phone registration); uses Baidu's own BD-09 coordinate system, so coordinates must be converted for cross-provider use.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Baidu",
        "sourceUrl": "https://lbsyun.baidu.com/index.php?title=webapi",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-tencent-lbs",
      "slug": "cn-tencent-lbs",
      "title": "Tencent Location ~ China maps & geocoding API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Tencent",
      "source": "Tencent",
      "sourceUrl": "https://lbs.qq.com/service/webService/webServiceGuide/webServiceOverview",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://lbs.qq.com/service/webService/webServiceGuide/webServiceOverview",
      "baseUrl": "https://apis.map.qq.com/ws",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Needs a QQ account plus a key (Chinese-phone registration); coverage is Greater China only and docs are primarily Chinese.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Tencent",
        "sourceUrl": "https://lbs.qq.com/service/webService/webServiceGuide/webServiceOverview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-juhe-data",
      "slug": "cn-juhe-data",
      "title": "Juhe Data ~ China multi-category API marketplace",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Juhe (Tianju Dihe)",
      "source": "Juhe (Tianju Dihe)",
      "sourceUrl": "https://www.juhe.cn/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.juhe.cn/docs",
      "baseUrl": "http://apis.juhe.cn",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Aggregator marketplace; each API is enabled separately (many need real-name verification), quality varies by dataset, and docs are Chinese-only.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Juhe (Tianju Dihe)",
        "sourceUrl": "https://www.juhe.cn/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-data-overheid",
      "slug": "nl-data-overheid",
      "title": "data.overheid.nl ~ Dutch government open-data catalog",
      "category": "Government services",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Dutch Government (Overheid.nl / KOOP)",
      "source": "Dutch Government (Overheid.nl / KOOP)",
      "sourceUrl": "https://data.overheid.nl/en/ondersteuning/data-publiceren/api",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.overheid.nl/en/ondersteuning/data-publiceren/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "CKAN v3 metadata API over the national catalog; it indexes and describes datasets rather than serving all the underlying data itself.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Dutch Government (Overheid.nl / KOOP)",
        "sourceUrl": "https://data.overheid.nl/en/ondersteuning/data-publiceren/api",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nl-cbs-statline",
      "slug": "nl-cbs-statline",
      "title": "CBS StatLine ~ Dutch official statistics OData API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Statistics Netherlands (CBS)",
      "source": "Statistics Netherlands (CBS)",
      "sourceUrl": "https://www.cbs.nl/en-gb/our-services/open-data/statline-as-open-data",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.cbs.nl/en-gb/our-services/open-data/statline-as-open-data",
      "baseUrl": "https://opendata.cbs.nl/ODataApi/odata/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open OData feed covering all StatLine tables; the standard read has a 10,000-cell cap per call, use the feed for bulk pulls.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Statistics Netherlands (CBS)",
        "sourceUrl": "https://www.cbs.nl/en-gb/our-services/open-data/statline-as-open-data",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nl-kvk",
      "slug": "nl-kvk",
      "title": "KVK ~ Dutch Business Register (Handelsregister) API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Netherlands Chamber of Commerce (KVK)",
      "source": "Netherlands Chamber of Commerce (KVK)",
      "sourceUrl": "https://developers.kvk.nl/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://developers.kvk.nl/documentation",
      "baseUrl": "https://api.kvk.nl/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official company registry; the Search/Basisprofiel/Vestigingsprofiel APIs need a paid subscription and a Dutch-registered entity, though a free test env and a limited open-data slice exist.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Netherlands Chamber of Commerce (KVK)",
        "sourceUrl": "https://developers.kvk.nl/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-pdok-locatieserver",
      "slug": "nl-pdok-locatieserver",
      "title": "PDOK Locatieserver ~ free Dutch geocoding & address search",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "PDOK / Kadaster (BZK)",
      "source": "PDOK / Kadaster (BZK)",
      "sourceUrl": "https://github.com/PDOK/locatieserver/wiki/API-Locatieserver",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/PDOK/locatieserver/wiki/API-Locatieserver",
      "baseUrl": "https://api.pdok.nl/bzk/locatieserver/search/v3_1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free, key-less geocoder over official Dutch registries (BAG addresses, parcels, roads); NL-only coverage with suggest, free-text, lookup and reverse endpoints.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "PDOK / Kadaster (BZK)",
        "sourceUrl": "https://github.com/PDOK/locatieserver/wiki/API-Locatieserver",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nl-mollie",
      "slug": "nl-mollie",
      "title": "Mollie ~ European payments API (iDEAL, cards, more)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Mollie",
      "source": "Mollie",
      "sourceUrl": "https://docs.mollie.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.mollie.com/",
      "baseUrl": "https://api.mollie.com/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Dutch PSP popular across Europe; clean REST API with per-transaction pricing and a hosted checkout, requires a merchant account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Mollie",
        "sourceUrl": "https://docs.mollie.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "se-dataportal",
      "slug": "se-dataportal",
      "title": "Sveriges dataportal ~ Sweden's national open-data portal",
      "category": "Government services",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Agency for Digital Government (DIGG)",
      "source": "Agency for Digital Government (DIGG)",
      "sourceUrl": "https://www.dataportal.se/en/data-apis",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.dataportal.se/en/data-apis",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "DCAT/RDF-based catalog aggregating ~17,000 datasets from hundreds of Swedish public bodies; it indexes metadata, the data itself lives with each publisher.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Agency for Digital Government (DIGG)",
        "sourceUrl": "https://www.dataportal.se/en/data-apis",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "se-scb-pxweb",
      "slug": "se-scb-pxweb",
      "title": "SCB PxWebApi ~ Statistics Sweden statistical database",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Statistics Sweden (SCB)",
      "source": "Statistics Sweden (SCB)",
      "sourceUrl": "https://www.scb.se/en/services/open-data-api/pxwebapi/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.scb.se/en/services/open-data-api/pxwebapi/",
      "baseUrl": "https://api.scb.se/OV0104/v1/doris/en/ssd/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open, no-key PxWeb API into the full Statistical Database; v1 has per-call cell/rate caps and a newer RESTful v2 launched in Oct 2025.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Statistics Sweden (SCB)",
        "sourceUrl": "https://www.scb.se/en/services/open-data-api/pxwebapi/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "se-trafiklab",
      "slug": "se-trafiklab",
      "title": "Trafiklab ~ Swedish public-transport open data & APIs",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Trafiklab (Samtrafiken)",
      "source": "Trafiklab (Samtrafiken)",
      "sourceUrl": "https://www.trafiklab.se/api/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.trafiklab.se/api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Umbrella for many Swedish transit APIs (ResRobot, SL, GTFS Sverige, Realtime); most need a free API key with per-API quotas, a few (e.g. SL Transport) need none.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Trafiklab (Samtrafiken)",
        "sourceUrl": "https://www.trafiklab.se/api/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "se-riksbank-swea",
      "slug": "se-riksbank-swea",
      "title": "Riksbank ~ Swedish interest & exchange rates API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Sveriges Riksbank",
      "source": "Sveriges Riksbank",
      "sourceUrl": "https://www.riksbank.se/en-gb/statistics/interest-rates-and-exchange-rates/retrieving-interest-rates-and-exchange-rates-via-api/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.riksbank.se/en-gb/statistics/interest-rates-and-exchange-rates/retrieving-interest-rates-and-exchange-rates-via-api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": "~5 calls/min, 1,000/day per IP (unless registered)",
      "note": "Free REST API for official SEK rates; ~5 calls/min and 1,000/day per IP unless you register for a key, and the old SOAP service was retired in May 2024.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Sveriges Riksbank",
        "sourceUrl": "https://www.riksbank.se/en-gb/statistics/interest-rates-and-exchange-rates/retrieving-interest-rates-and-exchange-rates-via-api/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "rateLimit": "~5 calls/min, 1,000/day per IP (unless registered)",
        "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": "se-klarna",
      "slug": "se-klarna",
      "title": "Klarna ~ payments & buy-now-pay-later API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Klarna",
      "source": "Klarna",
      "sourceUrl": "https://docs.klarna.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.klarna.com/",
      "baseUrl": "https://api.klarna.com/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Swedish fintech; region-specific base URLs and a playground environment, requires merchant credentials (Merchant ID + API credential).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Klarna",
        "sourceUrl": "https://docs.klarna.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "no-data-norge",
      "slug": "no-data-norge",
      "title": "data.norge.no ~ Norway's national data catalog",
      "category": "Government services",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Norwegian Digitalisation Agency (Digdir)",
      "source": "Norwegian Digitalisation Agency (Digdir)",
      "sourceUrl": "https://data.norge.no/en/technical",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.norge.no/en/technical",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "DCAT-AP-NO catalog harvesting datasets, APIs, concepts and information models from Norwegian public bodies; a discovery layer, not the raw data itself.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Norwegian Digitalisation Agency (Digdir)",
        "sourceUrl": "https://data.norge.no/en/technical",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "no-ssb",
      "slug": "no-ssb",
      "title": "SSB ~ Statistics Norway StatBank API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Statistics Norway (SSB)",
      "source": "Statistics Norway (SSB)",
      "sourceUrl": "https://www.ssb.no/en/api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.ssb.no/en/api",
      "baseUrl": "https://data.ssb.no/api/v0/en/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open, no-registration API over ~7,500 StatBank tables in JSON-stat; the classic v0 endpoint plus a newer PxWebApi v2 launched autumn 2025.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Statistics Norway (SSB)",
        "sourceUrl": "https://www.ssb.no/en/api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "no-brreg",
      "slug": "no-brreg",
      "title": "Brreg Enhetsregisteret ~ Norway company registry API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Bronnoysund Register Centre (Brreg)",
      "source": "Bronnoysund Register Centre (Brreg)",
      "sourceUrl": "https://data.brreg.no/enhetsregisteret/api/dokumentasjon/en/index.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.brreg.no/enhetsregisteret/api/dokumentasjon/en/index.html",
      "baseUrl": "https://data.brreg.no/enhetsregisteret/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Fully open JSON API, no key, login or rate-limit signup; search is real-time while bulk data files refresh roughly once a day.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bronnoysund Register Centre (Brreg)",
        "sourceUrl": "https://data.brreg.no/enhetsregisteret/api/dokumentasjon/en/index.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "no-entur",
      "slug": "no-entur",
      "title": "Entur ~ Norway journey planner & transit data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Entur AS",
      "source": "Entur AS",
      "sourceUrl": "https://developer.entur.org/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://developer.entur.org/",
      "baseUrl": "https://api.entur.io/journey-planner/v3/graphql",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free Transmodel GraphQL covering all of Norway's public transport; no key needed but you must send an identifying ET-Client-Name header per fair-use policy.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Entur AS",
        "sourceUrl": "https://developer.entur.org/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "no-vipps",
      "slug": "no-vipps",
      "title": "Vipps MobilePay ~ Nordic mobile payments API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Vipps MobilePay",
      "source": "Vipps MobilePay",
      "sourceUrl": "https://developer.vippsmobilepay.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.vippsmobilepay.com/",
      "baseUrl": "https://api.vipps.no/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Dominant mobile-payment app in Norway (and Nordics); uses an OAuth2 access token plus a subscription key, with a separate test environment at apitest.vipps.no.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Vipps MobilePay",
        "sourceUrl": "https://developer.vippsmobilepay.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "ch-opendata-swiss",
      "slug": "ch-opendata-swiss",
      "title": "opendata.swiss ~ Swiss federal open-data portal (CKAN)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Federal Statistical Office (BFS) / opendata.swiss",
      "source": "Federal Statistical Office (BFS) / opendata.swiss",
      "sourceUrl": "https://handbook.opendata.swiss/en/content/nutzen/api-nutzen.html",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://handbook.opendata.swiss/en/content/nutzen/api-nutzen.html",
      "baseUrl": "https://ckan.opendata.swiss/api/3/action/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Central Swiss Open Government Data catalog on CKAN; the API serves dataset/organisation metadata (package_search, organization_show), not the underlying data files themselves.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Federal Statistical Office (BFS) / opendata.swiss",
        "sourceUrl": "https://handbook.opendata.swiss/en/content/nutzen/api-nutzen.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ch-bfs-stat-tab",
      "slug": "ch-bfs-stat-tab",
      "title": "STAT-TAB ~ Swiss Federal Statistical Office PxWeb API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Federal Statistical Office (BFS/FSO)",
      "source": "Federal Statistical Office (BFS/FSO)",
      "sourceUrl": "https://www.pxweb.bfs.admin.ch/pxweb/en/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.pxweb.bfs.admin.ch/pxweb/en/",
      "baseUrl": "https://www.pxweb.bfs.admin.ch/api/v1/en/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": "standard PxWeb cell/rate limits (unspecified threshold)",
      "note": "PxWeb API over the FSO's STAT-TAB cubes; each datacube is addressed by its FSO number and available in de/fr/it/en, with standard PxWeb cell/rate limits.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Federal Statistical Office (BFS/FSO)",
        "sourceUrl": "https://www.pxweb.bfs.admin.ch/pxweb/en/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "rateLimit": "standard PxWeb cell/rate limits (unspecified threshold)",
        "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": "ch-snb",
      "slug": "ch-snb",
      "title": "SNB data portal ~ Swiss National Bank statistics API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Swiss National Bank (SNB)",
      "source": "Swiss National Bank (SNB)",
      "sourceUrl": "https://data.snb.ch/en/help_api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.snb.ch/en/help_api",
      "baseUrl": "https://data.snb.ch/api/cube/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free API exposing SNB data 'cubes' (rates, monetary aggregates, balance sheet, FX) as CSV/JSON; you copy the API link from any table's download section.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Swiss National Bank (SNB)",
        "sourceUrl": "https://data.snb.ch/en/help_api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ch-transport-opendata",
      "slug": "ch-transport-opendata",
      "title": "transport.opendata.ch ~ Swiss transit connections API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Opendata.ch",
      "source": "Opendata.ch",
      "sourceUrl": "https://transport.opendata.ch/docs.html",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://transport.opendata.ch/docs.html",
      "baseUrl": "https://transport.opendata.ch/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": "fair-use limits (unspecified threshold)",
      "note": "Community-run REST/JSON API (backed by search.ch timetable data) with CORS enabled; fair-use rate limits apply and it is not an official SBB endpoint.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Opendata.ch",
        "sourceUrl": "https://transport.opendata.ch/docs.html",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "rateLimit": "fair-use limits (unspecified threshold)",
        "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": "ch-geoadmin",
      "slug": "ch-geoadmin",
      "title": "GeoAdmin ~ Swiss geodata, search & maps (swisstopo)",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Federal Office of Topography (swisstopo)",
      "source": "Federal Office of Topography (swisstopo)",
      "sourceUrl": "https://api3.geo.admin.ch/services/sdiservices.html",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api3.geo.admin.ch/services/sdiservices.html",
      "baseUrl": "https://api3.geo.admin.ch/rest/services/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "REST services over the Swiss Federal Spatial Data Infrastructure; GET-only, includes SearchServer (places, addresses, ZIPs, parcels), MapServer and identify.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Federal Office of Topography (swisstopo)",
        "sourceUrl": "https://api3.geo.admin.ch/services/sdiservices.html",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "us-data-gov",
      "slug": "us-data-gov",
      "title": "Data.gov ~ US federal open-data catalog",
      "category": "Government services",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "U.S. General Services Administration (GSA)",
      "source": "U.S. General Services Administration (GSA)",
      "sourceUrl": "https://data.gov/developers/apis/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov/developers/apis/",
      "baseUrl": "https://catalog.data.gov/api/3/action/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Catalog runs on CKAN, so dataset search/metadata via the Action API needs no key; some agency data services behind api.data.gov require a free api.data.gov key.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "U.S. General Services Administration (GSA)",
        "sourceUrl": "https://data.gov/developers/apis/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "us-nws-weather",
      "slug": "us-nws-weather",
      "title": "National Weather Service ~ US weather API",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "US"
      ],
      "provider": "National Weather Service (NOAA)",
      "source": "National Weather Service (NOAA)",
      "sourceUrl": "https://www.weather.gov/documentation/services-web-api",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.weather.gov/documentation/services-web-api",
      "baseUrl": "https://api.weather.gov/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "No key; requires a User-Agent header identifying your app. Forecasts are grid-based, so you first resolve a lat/long to a gridpoint.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Weather Service (NOAA)",
        "sourceUrl": "https://www.weather.gov/documentation/services-web-api",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "us-census",
      "slug": "us-census",
      "title": "US Census Bureau ~ demographics & economy API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "U.S. Census Bureau",
      "source": "U.S. Census Bureau",
      "sourceUrl": "https://www.census.gov/data/developers/data-sets.html",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.census.gov/data/developers/data-sets.html",
      "baseUrl": "https://api.census.gov/data/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free API key (register online); many datasets (ACS, Decennial, economic indicators), each with its own year/endpoint path and variable codes.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "U.S. Census Bureau",
        "sourceUrl": "https://www.census.gov/data/developers/data-sets.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-data-gov-uk",
      "slug": "uk-data-gov-uk",
      "title": "data.gov.uk ~ UK open-data catalog",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "UK Government Digital Service (GDS)",
      "source": "UK Government Digital Service (GDS)",
      "sourceUrl": "https://guidance.data.gov.uk/get_data/api_documentation/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://guidance.data.gov.uk/get_data/api_documentation/",
      "baseUrl": "https://data.gov.uk/api/3/action/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Standard CKAN Action API, no key needed for search/metadata; indexes datasets published by UK central and local government.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "UK Government Digital Service (GDS)",
        "sourceUrl": "https://guidance.data.gov.uk/get_data/api_documentation/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-ons",
      "slug": "uk-ons",
      "title": "ONS ~ UK national statistics API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Office for National Statistics (UK)",
      "source": "Office for National Statistics (UK)",
      "sourceUrl": "https://developer.ons.gov.uk/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.ons.gov.uk/",
      "baseUrl": "https://api.beta.ons.gov.uk/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open, no key required; still labelled Beta so endpoints may change. Returns JSON/CSV/XLSX for official UK statistics datasets.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Office for National Statistics (UK)",
        "sourceUrl": "https://developer.ons.gov.uk/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-tfl",
      "slug": "uk-tfl",
      "title": "Transport for London ~ TfL Unified API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Transport for London",
      "source": "Transport for London",
      "sourceUrl": "https://api-portal.tfl.gov.uk/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api-portal.tfl.gov.uk/",
      "baseUrl": "https://api.tfl.gov.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free; an optional app key (register on the portal) raises rate limits. Covers live Tube/bus/rail arrivals, line status, journey planning, and cycle hire.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Transport for London",
        "sourceUrl": "https://api-portal.tfl.gov.uk/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-postcodes-io",
      "slug": "uk-postcodes-io",
      "title": "Postcodes.io ~ UK postcode geocoding API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Ideal Postcodes (open-source project)",
      "source": "Ideal Postcodes (open-source project)",
      "sourceUrl": "https://postcodes.io/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://postcodes.io/",
      "baseUrl": "https://api.postcodes.io/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free and open-source, no key; converts UK postcodes to lat/long plus admin geography (built on ONS/OS open data) and is self-hostable.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Ideal Postcodes (open-source project)",
        "sourceUrl": "https://postcodes.io/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-govdata",
      "slug": "de-govdata",
      "title": "GovData ~ Germany's open-data portal",
      "category": "Government services",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "GovData (German federal/state open-data portal)",
      "source": "GovData (German federal/state open-data portal)",
      "sourceUrl": "https://www.govdata.de/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.govdata.de/",
      "baseUrl": "https://www.govdata.de/ckan/api/3/action/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Federal open-data catalog on CKAN (verified live with 130k+ datasets); dataset search/metadata via the standard CKAN Action API needs no key.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "GovData (German federal/state open-data portal)",
        "sourceUrl": "https://www.govdata.de/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-ecb-data-portal",
      "slug": "de-ecb-data-portal",
      "title": "ECB Data Portal ~ euro-area statistics API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "European Central Bank",
      "source": "European Central Bank",
      "sourceUrl": "https://data.ecb.europa.eu/help/api/overview",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.ecb.europa.eu/help/api/overview",
      "baseUrl": "https://data-api.ecb.europa.eu/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "SDMX 2.1 RESTful service, no key; the ECB is based in Frankfurt and this covers euro-area rates, daily FX reference rates, and monetary statistics (SDMX-ML/JSON/CSV).",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "European Central Bank",
        "sourceUrl": "https://data.ecb.europa.eu/help/api/overview",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-destatis-genesis",
      "slug": "de-destatis-genesis",
      "title": "Destatis GENESIS ~ German official statistics API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Statistisches Bundesamt (Destatis)",
      "source": "Statistisches Bundesamt (Destatis)",
      "sourceUrl": "https://www.destatis.de/EN/Service/OpenData/api-webservice.html",
      "tier": "open",
      "kind": "portal",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.destatis.de/EN/Service/OpenData/api-webservice.html",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free registration required; generate a personal token in the GENESIS-Online web UI. RESTful/JSON interface (the old SOAP was retired mid-2025) and many calls use POST; base endpoint is given in the API guide.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Statistisches Bundesamt (Destatis)",
        "sourceUrl": "https://www.destatis.de/EN/Service/OpenData/api-webservice.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "de-deutsche-bahn",
      "slug": "de-deutsche-bahn",
      "title": "Deutsche Bahn ~ DB API Marketplace (rail data)",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Deutsche Bahn AG",
      "source": "Deutsche Bahn AG",
      "sourceUrl": "https://developers.deutschebahn.com/",
      "tier": "open",
      "kind": "portal",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developers.deutschebahn.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free registration on the DB API Marketplace; each API (timetables, station data, GBFS vehicle rental, RIS real-time) has its own subscription and client credentials, so the base URL varies per API.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Deutsche Bahn AG",
        "sourceUrl": "https://developers.deutschebahn.com/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "de-bright-sky",
      "slug": "de-bright-sky",
      "title": "Bright Sky ~ free German weather API (DWD)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "DE"
      ],
      "provider": "Bright Sky (community project; DWD data)",
      "source": "Bright Sky (community project; DWD data)",
      "sourceUrl": "https://brightsky.dev/docs/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://brightsky.dev/docs/",
      "baseUrl": "https://api.brightsky.dev/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Community-run open-source wrapper serving Deutscher Wetterdienst (DWD) open weather data as clean JSON; free and keyless (DWD's own feeds are raw file servers).",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bright Sky (community project; DWD data)",
        "sourceUrl": "https://brightsky.dev/docs/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-data-gouv",
      "slug": "fr-data-gouv",
      "title": "data.gouv.fr ~ French open-data platform API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Etalab / DINUM (France)",
      "source": "Etalab / DINUM (France)",
      "sourceUrl": "https://doc.data.gouv.fr/api/reference/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://doc.data.gouv.fr/api/reference/",
      "baseUrl": "https://www.data.gouv.fr/api/1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Read endpoints need no key (a key is only for publishing); the reference is auto-generated from production. Catalog of French public datasets, organizations, and dataservices.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Etalab / DINUM (France)",
        "sourceUrl": "https://doc.data.gouv.fr/api/reference/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-insee-sirene",
      "slug": "fr-insee-sirene",
      "title": "INSEE Sirene ~ French business registry API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "INSEE (France)",
      "source": "INSEE (France)",
      "sourceUrl": "https://portail-api.insee.fr/",
      "tier": "open",
      "kind": "portal",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://portail-api.insee.fr/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free but requires creating an app on the new portail-api.insee.fr portal for OAuth/API-key credentials (migrated from the old api.insee.fr in 2025); Sirene = every French business establishment (SIREN/SIRET).",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "INSEE (France)",
        "sourceUrl": "https://portail-api.insee.fr/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "fr-banque-de-france-webstat",
      "slug": "fr-banque-de-france-webstat",
      "title": "Banque de France Webstat ~ economic stats API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Banque de France",
      "source": "Banque de France",
      "sourceUrl": "https://webstat.banque-france.fr/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://webstat.banque-france.fr/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free account on the developer portal issues an API key and secret; covers 40,000+ Banque de France and partner time series (rates, monetary, financial). Base URL is provided on registration.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Banque de France",
        "sourceUrl": "https://webstat.banque-france.fr/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "fr-base-adresse-nationale",
      "slug": "fr-base-adresse-nationale",
      "title": "Base Adresse Nationale ~ French geocoding API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Etalab / DINUM (France)",
      "source": "Etalab / DINUM (France)",
      "sourceUrl": "https://adresse.data.gouv.fr/api-doc/adresse",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://adresse.data.gouv.fr/api-doc/adresse",
      "baseUrl": "https://api-adresse.data.gouv.fr/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": "rate-limited for fair use (unspecified threshold)",
      "note": "Free, keyless forward/reverse geocoding for French addresses (BAN), with a bulk CSV geocoding endpoint; rate-limited for fair use.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Etalab / DINUM (France)",
        "sourceUrl": "https://adresse.data.gouv.fr/api-doc/adresse",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "rateLimit": "rate-limited for fair use (unspecified threshold)",
        "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": "fr-sncf-navitia",
      "slug": "fr-sncf-navitia",
      "title": "SNCF / Navitia ~ French transit & journey API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "SNCF (Navitia engine by Hove/Kisio)",
      "source": "SNCF (Navitia engine by Hove/Kisio)",
      "sourceUrl": "https://doc.navitia.io/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://doc.navitia.io/",
      "baseUrl": "https://api.sncf.com/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free developer token (register on the SNCF numerique site); HTTP Basic auth with the key as username. Navitia-powered journey planning, schedules, and stops for France.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "SNCF (Navitia engine by Hove/Kisio)",
        "sourceUrl": "https://doc.navitia.io/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-police-crime",
      "slug": "uk-police-crime",
      "title": "data.police.uk ~ street crime & stop-and-search",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "UK Home Office / Police.uk",
      "source": "UK Home Office / Police.uk",
      "sourceUrl": "https://data.police.uk/docs/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.police.uk/docs/",
      "baseUrl": "https://data.police.uk/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Fully keyless JSON REST API; crime data is published monthly (not live) and covers England, Wales and Northern Ireland by lat/lng or polygon.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "UK Home Office / Police.uk",
        "sourceUrl": "https://data.police.uk/docs/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-flood-monitoring",
      "slug": "uk-flood-monitoring",
      "title": "Environment Agency ~ real-time flood & river levels",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "UK"
      ],
      "provider": "Environment Agency (Defra)",
      "source": "Environment Agency (Defra)",
      "sourceUrl": "https://environment.data.gov.uk/flood-monitoring/doc/reference",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://environment.data.gov.uk/flood-monitoring/doc/reference",
      "baseUrl": "https://environment.data.gov.uk/flood-monitoring/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless, no registration (Open Government Licence); flood warnings/alerts plus ~15-minute station readings for level, flow and rainfall across England.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Environment Agency (Defra)",
        "sourceUrl": "https://environment.data.gov.uk/flood-monitoring/doc/reference",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-ea-hydrology",
      "slug": "uk-ea-hydrology",
      "title": "Environment Agency ~ hydrology: rainfall & river flow",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Environment Agency (Defra)",
      "source": "Environment Agency (Defra)",
      "sourceUrl": "https://environment.data.gov.uk/hydrology/doc/reference",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://environment.data.gov.uk/hydrology/doc/reference",
      "baseUrl": "https://environment.data.gov.uk/hydrology/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless (Open Government Licence); ~8,000 stations with historic + recent rainfall, river flow/level, groundwater and water-quality readings, sub-daily and daily.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Environment Agency (Defra)",
        "sourceUrl": "https://environment.data.gov.uk/hydrology/doc/reference",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-food-hygiene",
      "slug": "uk-food-hygiene",
      "title": "Food Standards Agency ~ food hygiene ratings (FHRS)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Food Standards Agency",
      "source": "Food Standards Agency",
      "sourceUrl": "https://api.ratings.food.gov.uk/help",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api.ratings.food.gov.uk/help",
      "baseUrl": "https://api.ratings.food.gov.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless but you MUST send the header 'x-api-version: 2' or endpoints return no data; covers England, Wales, Scotland and Northern Ireland establishments.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Food Standards Agency",
        "sourceUrl": "https://api.ratings.food.gov.uk/help",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-parliament-members",
      "slug": "uk-parliament-members",
      "title": "UK Parliament ~ Members API (MPs, Lords, voting)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "UK Parliament",
      "source": "UK Parliament",
      "sourceUrl": "https://members-api.parliament.uk/index.html",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://members-api.parliament.uk/index.html",
      "baseUrl": "https://members-api.parliament.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless (Open Parliament Licence), Swagger-documented; returns Commons & Lords members, constituencies, party, contact details, interests and voting.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "UK Parliament",
        "sourceUrl": "https://members-api.parliament.uk/index.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-parliament-bills",
      "slug": "uk-parliament-bills",
      "title": "UK Parliament ~ Bills API (legislation & stages)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "UK Parliament",
      "source": "UK Parliament",
      "sourceUrl": "https://bills-api.parliament.uk/index.html",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://bills-api.parliament.uk/index.html",
      "baseUrl": "https://bills-api.parliament.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless (Open Parliament Licence), Swagger-documented; tracks bills through both Houses with stages, sittings, publications and amendments.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "UK Parliament",
        "sourceUrl": "https://bills-api.parliament.uk/index.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-parliament-hansard",
      "slug": "uk-parliament-hansard",
      "title": "UK Parliament ~ Hansard API (debate transcripts)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "UK Parliament",
      "source": "UK Parliament",
      "sourceUrl": "https://hansard-api.parliament.uk/swagger/ui/index",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://hansard-api.parliament.uk/swagger/ui/index",
      "baseUrl": "https://hansard-api.parliament.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless (Open Parliament Licence); the official verbatim record of Commons & Lords debates, searchable by member, date and section, in JSON/XML.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "UK Parliament",
        "sourceUrl": "https://hansard-api.parliament.uk/swagger/ui/index",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-parliament-erskine-may",
      "slug": "uk-parliament-erskine-may",
      "title": "UK Parliament ~ Erskine May API (procedure manual)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "UK Parliament",
      "source": "UK Parliament",
      "sourceUrl": "https://erskinemay-api.parliament.uk/index.html",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://erskinemay-api.parliament.uk/index.html",
      "baseUrl": "https://erskinemay-api.parliament.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless (Open Parliament Licence); queries the full text of Erskine May, the authoritative 25th-edition treatise on UK parliamentary procedure.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "UK Parliament",
        "sourceUrl": "https://erskinemay-api.parliament.uk/index.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-govuk-content",
      "slug": "uk-govuk-content",
      "title": "GOV.UK ~ Content API (every gov.uk page as JSON)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Government Digital Service",
      "source": "Government Digital Service",
      "sourceUrl": "https://content-api.publishing.service.gov.uk/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://content-api.publishing.service.gov.uk/",
      "baseUrl": "https://www.gov.uk/api/content/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Fully keyless, no onboarding; append any gov.uk page path to the base URL to get that page's structured content and metadata as JSON.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Government Digital Service",
        "sourceUrl": "https://content-api.publishing.service.gov.uk/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-bank-holidays",
      "slug": "uk-bank-holidays",
      "title": "GOV.UK ~ Bank Holidays JSON (England/Scotland/NI)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Government Digital Service",
      "source": "Government Digital Service",
      "sourceUrl": "https://www.gov.uk/bank-holidays",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.gov.uk/bank-holidays",
      "baseUrl": "https://www.gov.uk/bank-holidays.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "A single keyless JSON file split into england-and-wales, scotland and northern-ireland divisions, each with dated events and a 'bunting' flag; spans several years.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Government Digital Service",
        "sourceUrl": "https://www.gov.uk/bank-holidays",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-charity-commission",
      "slug": "uk-charity-commission",
      "title": "Charity Commission ~ Register of Charities API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Charity Commission for England and Wales",
      "source": "Charity Commission for England and Wales",
      "sourceUrl": "https://register-of-charities.charitycommission.gov.uk/en/documentation-on-the-api",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://register-of-charities.charitycommission.gov.uk/en/documentation-on-the-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free but requires registering on the developer portal (api-portal.charitycommission.gov.uk) and subscribing to get an API key; covers England & Wales charities only.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Charity Commission for England and Wales",
        "sourceUrl": "https://register-of-charities.charitycommission.gov.uk/en/documentation-on-the-api",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-theyworkforyou",
      "slug": "uk-theyworkforyou",
      "title": "mySociety ~ TheyWorkForYou parliamentary API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "mySociety",
      "source": "mySociety",
      "sourceUrl": "https://www.theyworkforyou.com/api/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.theyworkforyou.com/api/",
      "baseUrl": "https://www.theyworkforyou.com/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Needs a free API key; free/reduced for non-profit and charitable projects, paid plans for commercial use; covers Westminster, Holyrood, Senedd and Stormont.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "mySociety",
        "sourceUrl": "https://www.theyworkforyou.com/api/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-carbon-intensity",
      "slug": "uk-carbon-intensity",
      "title": "National Grid ESO ~ Carbon Intensity API",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "UK"
      ],
      "provider": "National Energy System Operator (NESO)",
      "source": "National Energy System Operator (NESO)",
      "sourceUrl": "https://carbon-intensity.github.io/api-definitions/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://carbon-intensity.github.io/api-definitions/",
      "baseUrl": "https://api.carbonintensity.org.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Fully keyless; half-hourly actual and up-to-48h forecast carbon intensity plus generation mix, nationally and by region/postcode, all timestamps in UTC.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Energy System Operator (NESO)",
        "sourceUrl": "https://carbon-intensity.github.io/api-definitions/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-rtt-trains",
      "slug": "uk-rtt-trains",
      "title": "Realtime Trains ~ live GB train running & schedules",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Realtime Trains (Swift Media)",
      "source": "Realtime Trains (Swift Media)",
      "sourceUrl": "https://www.realtimetrains.co.uk/about/developer/pull/docs/",
      "tier": "open",
      "kind": "realtime",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.realtimetrains.co.uk/about/developer/pull/docs/",
      "baseUrl": "https://api.rtt.io/api/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free for reasonable use but requires registering at api-portal.rtt.io; authenticate with HTTP Basic auth (username + password); returns JSON station line-ups and service detail.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Realtime Trains (Swift Media)",
        "sourceUrl": "https://www.realtimetrains.co.uk/about/developer/pull/docs/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "uk-bus-open-data",
      "slug": "uk-bus-open-data",
      "title": "DfT ~ Bus Open Data Service (timetables & live GPS)",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Department for Transport",
      "source": "Department for Transport",
      "sourceUrl": "https://data.bus-data.dft.gov.uk/guidance/requirements/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.bus-data.dft.gov.uk/guidance/requirements/",
      "baseUrl": "https://data.bus-data.dft.gov.uk/api/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free but requires a BODS account for an API key; separate endpoints for timetables (TransXChange), fares (NeTEx) and live vehicle positions (GTFS-RT / SIRI-VM); England only.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Department for Transport",
        "sourceUrl": "https://data.bus-data.dft.gov.uk/guidance/requirements/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-dvla-ves",
      "slug": "uk-dvla-ves",
      "title": "DVLA ~ Vehicle Enquiry Service (lookup by plate)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Driver & Vehicle Licensing Agency",
      "source": "Driver & Vehicle Licensing Agency",
      "sourceUrl": "https://developer-portal.driver-vehicle-licensing.api.gov.uk/apis/vehicle-enquiry-service/vehicle-enquiry-service-description.html",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "x-api-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer-portal.driver-vehicle-licensing.api.gov.uk/apis/vehicle-enquiry-service/vehicle-enquiry-service-description.html",
      "baseUrl": "https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "POST a registration number with an x-api-key header; free, though DVLA has at times paused new VES registrations for system upgrades, so onboarding may be intermittent.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Driver & Vehicle Licensing Agency",
        "sourceUrl": "https://developer-portal.driver-vehicle-licensing.api.gov.uk/apis/vehicle-enquiry-service/vehicle-enquiry-service-description.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-mot-history",
      "slug": "uk-mot-history",
      "title": "DVSA ~ MOT History API (test results & mileage)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Driver & Vehicle Standards Agency",
      "source": "Driver & Vehicle Standards Agency",
      "sourceUrl": "https://documentation.history.mot.api.gov.uk/",
      "tier": "open",
      "kind": "portal",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://documentation.history.mot.api.gov.uk/",
      "baseUrl": "https://history.mot.api.gov.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free but requires registration; the newer API uses OAuth2 client-credentials plus an API key; covers cars/vans/motorcycles since 2005 (NI since 2017) and HGVs/buses.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Driver & Vehicle Standards Agency",
        "sourceUrl": "https://documentation.history.mot.api.gov.uk/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "uk-os-datahub",
      "slug": "uk-os-datahub",
      "title": "Ordnance Survey ~ OS Data Hub (Places, Names, Maps)",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Ordnance Survey",
      "source": "Ordnance Survey",
      "sourceUrl": "https://docs.os.uk/",
      "tier": "commercial",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.os.uk/",
      "baseUrl": "https://api.os.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Requires a free API key; generous free 'OpenData' plan plus a monthly premium allowance, then paid; APIs include OS Maps, OS Vector Tile, OS Features, OS Names and OS Places (address lookup).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Ordnance Survey",
        "sourceUrl": "https://docs.os.uk/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-land-registry",
      "slug": "uk-land-registry",
      "title": "HM Land Registry ~ Price Paid linked data (SPARQL)",
      "category": "Property",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "HM Land Registry",
      "source": "HM Land Registry",
      "sourceUrl": "https://landregistry.data.gov.uk/app/doc/ppd/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://landregistry.data.gov.uk/app/doc/ppd/",
      "baseUrl": "https://landregistry.data.gov.uk/landregistry/query",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless SPARQL endpoint (plus a query console at /qonsole); Price Paid transactions in England & Wales since 1995, filterable by postcode, date, type, tenure and price.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "HM Land Registry",
        "sourceUrl": "https://landregistry.data.gov.uk/app/doc/ppd/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-met-office-datahub",
      "slug": "uk-met-office-datahub",
      "title": "Met Office ~ Weather DataHub (forecasts & models)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Met Office",
      "source": "Met Office",
      "sourceUrl": "https://datahub.metoffice.gov.uk/",
      "tier": "commercial",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://datahub.metoffice.gov.uk/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Requires free registration and an API key; site-specific forecasts have a free tier (call allowance), while raw atmospheric model (GRIB2) data and observations are paid products.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Met Office",
        "sourceUrl": "https://datahub.metoffice.gov.uk/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-boe-iadb",
      "slug": "uk-boe-iadb",
      "title": "Bank of England ~ statistical database (IADB)",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Bank of England",
      "source": "Bank of England",
      "sourceUrl": "https://www.bankofengland.co.uk/boeapps/database/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.bankofengland.co.uk/boeapps/database/",
      "baseUrl": "https://www.bankofengland.co.uk/boeapps/database/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless: build a CSV download URL with SeriesCodes and a date range (no API key), or export interactively; covers Bank Rate, exchange rates, monetary aggregates and yields.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bank of England",
        "sourceUrl": "https://www.bankofengland.co.uk/boeapps/database/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-hmrc",
      "slug": "uk-hmrc",
      "title": "HMRC ~ Developer Hub (Making Tax Digital APIs)",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "HM Revenue & Customs",
      "source": "HM Revenue & Customs",
      "sourceUrl": "https://developer.service.hmrc.gov.uk/api-documentation",
      "tier": "open",
      "kind": "portal",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.service.hmrc.gov.uk/api-documentation",
      "baseUrl": "https://api.service.hmrc.gov.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free but requires creating a developer application; most APIs use OAuth 2.0 (user-restricted or application-restricted) and a sandbox; includes Making Tax Digital for VAT and Income Tax, plus PAYE and more.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "HM Revenue & Customs",
        "sourceUrl": "https://developer.service.hmrc.gov.uk/api-documentation",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "uk-national-archives",
      "slug": "uk-national-archives",
      "title": "The National Archives ~ Discovery catalogue API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "The National Archives",
      "source": "The National Archives",
      "sourceUrl": "https://discovery.nationalarchives.gov.uk/API/sandbox/index",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://discovery.nationalarchives.gov.uk/API/sandbox/index",
      "baseUrl": "https://discovery.nationalarchives.gov.uk/API/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open sandbox returns catalogue records as JSON/XML with no key; heavy/production use asks you to email TNA to register your request IP address, and it's still a beta.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "The National Archives",
        "sourceUrl": "https://discovery.nationalarchives.gov.uk/API/sandbox/index",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "uk-nhs-content",
      "slug": "uk-nhs-content",
      "title": "NHS ~ Website Content API (Health A-Z, medicines)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "NHS England",
      "source": "NHS England",
      "sourceUrl": "https://digital.nhs.uk/developer/api-catalogue/nhs-website-content",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://digital.nhs.uk/developer/api-catalogue/nhs-website-content",
      "baseUrl": "https://api.nhs.uk/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free but requires registering for a subscription key; NHS is consolidating its developer hub, so onboard via the NHS Digital API catalogue.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "NHS England",
        "sourceUrl": "https://digital.nhs.uk/developer/api-catalogue/nhs-website-content",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ae-dubai-ipaas",
      "slug": "ae-dubai-ipaas",
      "title": "Dubai Digital Authority ~ government services API gallery",
      "category": "Government services",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "Dubai Digital Authority (DDA)",
      "source": "Dubai Digital Authority (DDA)",
      "sourceUrl": "https://developer.dubai.gov.ae/portal/apis",
      "tier": "open",
      "kind": "portal",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.dubai.gov.ae/portal/apis",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Public catalogue of Dubai government service APIs (Sanad card, Dubai Courts certificates, shared payment); consuming most needs an onboarding request.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Dubai Digital Authority (DDA)",
        "sourceUrl": "https://developer.dubai.gov.ae/portal/apis",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "ae-ngenius",
      "slug": "ae-ngenius",
      "title": "Network International ~ N-Genius online payments API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "Network International",
      "source": "Network International",
      "sourceUrl": "https://docs.ngenius-payments.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.ngenius-payments.com/",
      "baseUrl": "https://api-gateway.ngenius-online.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "N-Genius Online from the region's largest acquirer; hosted payment pages, Web/mobile SDKs and direct API with a free sandbox.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Network International",
        "sourceUrl": "https://docs.ngenius-payments.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ae-amazon-payment-services",
      "slug": "ae-amazon-payment-services",
      "title": "Amazon Payment Services ~ MENA card payments (PayFort)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "AE",
        "SA"
      ],
      "provider": "Amazon Payment Services (formerly PayFort)",
      "source": "Amazon Payment Services (formerly PayFort)",
      "sourceUrl": "https://paymentservices.amazon.com/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://paymentservices.amazon.com/docs/api",
      "baseUrl": "https://paymentservices.payfort.com/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "UAE-born PSP acquired by Amazon; SHA-signed requests, payment links, hosted checkout and full PCI custom integration.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Amazon Payment Services (formerly PayFort)",
        "sourceUrl": "https://paymentservices.amazon.com/docs/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ae-telr",
      "slug": "ae-telr",
      "title": "Telr ~ UAE hosted & direct payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "Telr",
      "source": "Telr",
      "sourceUrl": "https://docs.telr.com/reference/introduction-2",
      "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.telr.com/reference/introduction-2",
      "baseUrl": "https://secure.telr.com/gateway/order.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Dubai-based PCI-DSS Level 1 gateway; hosted page, iframe, remote/direct API and mobile SDKs, with a sandbox.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Telr",
        "sourceUrl": "https://docs.telr.com/reference/introduction-2",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ae-ziina",
      "slug": "ae-ziina",
      "title": "Ziina ~ UAE payment links & checkout API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "Ziina",
      "source": "Ziina",
      "sourceUrl": "https://docs.ziina.com/business/other-platforms",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.ziina.com/business/other-platforms",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Central Bank of the UAE-licensed fintech; custom checkout API plus webhooks, API key generated instantly from the business portal.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Ziina",
        "sourceUrl": "https://docs.ziina.com/business/other-platforms",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "ae-mamo",
      "slug": "ae-mamo",
      "title": "Mamo ~ UAE payment links, payouts & API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "Mamo (MamoPay)",
      "source": "Mamo (MamoPay)",
      "sourceUrl": "https://mamopay.readme.io/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://mamopay.readme.io/",
      "baseUrl": "https://business.mamopay.com/manage_api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "UAE business-payments platform; payment links, subscriptions, bulk payouts and webhooks with a full sandbox.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Mamo (MamoPay)",
        "sourceUrl": "https://mamopay.readme.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ae-rakbank",
      "slug": "ae-rakbank",
      "title": "RAKBANK ~ open banking & payments developer APIs",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "RAKBANK",
      "source": "RAKBANK",
      "sourceUrl": "https://developer.rakbank.ae/",
      "tier": "commercial",
      "kind": "portal",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.rakbank.ae/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Publicly browsable UAE open-banking sandbox; beneficiary, fund-transfer, forex-rate and card-payment APIs with test consoles.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "RAKBANK",
        "sourceUrl": "https://developer.rakbank.ae/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "ae-dld-gateway",
      "slug": "ae-dld-gateway",
      "title": "Dubai Land Department ~ Ejari/Mollak real-estate APIs",
      "category": "Property",
      "group": "Build",
      "country": [
        "AE"
      ],
      "provider": "Dubai Land Department (DLD)",
      "source": "Dubai Land Department (DLD)",
      "sourceUrl": "https://dubailand.gov.ae/en/eservices/api-gateway/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://dubailand.gov.ae/en/eservices/api-gateway/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official DLD API gateway (Ejari tenancy, Mollak service charges, Trakheesi permits, Rental Index); paid annual subscription per API.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Dubai Land Department (DLD)",
        "sourceUrl": "https://dubailand.gov.ae/en/eservices/api-gateway/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "au-bom-space-weather",
      "slug": "au-bom-space-weather",
      "title": "Bureau of Meteorology ~ space weather data API",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "AU"
      ],
      "provider": "Bureau of Meteorology (Australian Space Weather Forecasting Centre)",
      "source": "Bureau of Meteorology (Australian Space Weather Forecasting Centre)",
      "sourceUrl": "https://sws-data.sws.bom.gov.au/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://sws-data.sws.bom.gov.au/",
      "baseUrl": "https://sws-data.sws.bom.gov.au",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official BOM API for near real-time geophysical data; free API key via registration, HTTP POST requests.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Bureau of Meteorology (Australian Space Weather Forecasting Centre)",
        "sourceUrl": "https://sws-data.sws.bom.gov.au/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "au-ga-web-services",
      "slug": "au-ga-web-services",
      "title": "Geoscience Australia ~ earthquake & geo web services",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Geoscience Australia",
      "source": "Geoscience Australia",
      "sourceUrl": "https://services.ga.gov.au/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://services.ga.gov.au/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Central register of Geoscience Australia's public OGC (WMS/WFS) and REST web services covering earthquakes, geology and topography.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Geoscience Australia",
        "sourceUrl": "https://services.ga.gov.au/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "au-geoscape-gnaf",
      "slug": "au-geoscape-gnaf",
      "title": "Geoscape ~ G-NAF address & geocoding API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Geoscape Australia",
      "source": "Geoscape Australia",
      "sourceUrl": "https://docs.geoscape.com.au/",
      "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.geoscape.com.au/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official API over the Geocoded National Address File (G-NAF); free developer tier with API key, paid plans for volume.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Geoscape Australia",
        "sourceUrl": "https://docs.geoscape.com.au/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "au-datavic-opendata",
      "slug": "au-datavic-opendata",
      "title": "DataVic ~ Victoria open-data (CKAN) API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Victorian Government (DataVic / Digital Victoria)",
      "source": "Victorian Government (DataVic / Digital Victoria)",
      "sourceUrl": "https://www.developer.vic.gov.au/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.developer.vic.gov.au/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "CKAN-based Open Data API for the State of Victoria; free API key issued via the Victorian developer portal.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Victorian Government (DataVic / Digital Victoria)",
        "sourceUrl": "https://www.developer.vic.gov.au/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "au-dataqld-opendata",
      "slug": "au-dataqld-opendata",
      "title": "Data.Qld ~ Queensland open-data (CKAN) API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Queensland Government",
      "source": "Queensland Government",
      "sourceUrl": "https://www.data.qld.gov.au/article/standards-and-guidance/publishing-guides-standards/api-user-guide",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.data.qld.gov.au/article/standards-and-guidance/publishing-guides-standards/api-user-guide",
      "baseUrl": "https://www.data.qld.gov.au/api/3/action/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Standard CKAN action API over the Queensland open-data portal; read access needs no key.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Queensland Government",
        "sourceUrl": "https://www.data.qld.gov.au/article/standards-and-guidance/publishing-guides-standards/api-user-guide",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "au-translink-gtfsr",
      "slug": "au-translink-gtfsr",
      "title": "TransLink ~ SEQ Queensland GTFS realtime feed",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "AU"
      ],
      "provider": "TransLink (Queensland Department of Transport and Main Roads)",
      "source": "TransLink (Queensland Department of Transport and Main Roads)",
      "sourceUrl": "https://translink.com.au/about-translink/open-data/gtfs-rt",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://translink.com.au/about-translink/open-data/gtfs-rt",
      "baseUrl": "https://gtfsrt.api.translink.com.au/api/realtime/SEQ/TripUpdates",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open GTFS-Realtime protobuf feeds (trip updates, vehicle positions, alerts) for South East Queensland public transport.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "TransLink (Queensland Department of Transport and Main Roads)",
        "sourceUrl": "https://translink.com.au/about-translink/open-data/gtfs-rt",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "au-ptv-timetable",
      "slug": "au-ptv-timetable",
      "title": "PTV ~ Victoria public transport timetable API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Public Transport Victoria",
      "source": "Public Transport Victoria",
      "sourceUrl": "https://timetableapi.ptv.vic.gov.au/swagger/ui/index",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://timetableapi.ptv.vic.gov.au/swagger/ui/index",
      "baseUrl": "https://timetableapi.ptv.vic.gov.au/v3/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official PTV Timetable API v3 (Swagger); free but requires a user ID + key and an HMAC signature per request.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Public Transport Victoria",
        "sourceUrl": "https://timetableapi.ptv.vic.gov.au/swagger/ui/index",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "au-adelaidemetro-gtfsr",
      "slug": "au-adelaidemetro-gtfsr",
      "title": "Adelaide Metro ~ South Australia GTFS realtime",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Adelaide Metro (SA Department for Infrastructure and Transport)",
      "source": "Adelaide Metro (SA Department for Infrastructure and Transport)",
      "sourceUrl": "https://www.adelaidemetro.com.au/developer-info",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.adelaidemetro.com.au/developer-info",
      "baseUrl": "https://gtfs.adelaidemetro.com.au/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free GTFS and GTFS-Realtime (and SIRI) feeds for Adelaide public transport under a Creative Commons licence.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Adelaide Metro (SA Department for Infrastructure and Transport)",
        "sourceUrl": "https://www.adelaidemetro.com.au/developer-info",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "au-openelectricity",
      "slug": "au-openelectricity",
      "title": "OpenElectricity ~ Australian energy market data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "OpenElectricity (formerly OpenNEM)",
      "source": "OpenElectricity (formerly OpenNEM)",
      "sourceUrl": "https://docs.openelectricity.org.au/",
      "tier": "open",
      "kind": "dataset",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://docs.openelectricity.org.au/",
      "baseUrl": "https://api.openelectricity.org.au/v4",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open energy data API for the NEM and WA WEM; free API key (Bearer token), CC BY-NC licence for non-commercial use.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "OpenElectricity (formerly OpenNEM)",
        "sourceUrl": "https://docs.openelectricity.org.au/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "au-nsw-airquality",
      "slug": "au-nsw-airquality",
      "title": "Air Quality NSW ~ real-time air pollution API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "NSW Department of Climate Change, Energy, the Environment and Water",
      "source": "NSW Department of Climate Change, Energy, the Environment and Water",
      "sourceUrl": "https://www.airquality.nsw.gov.au/air-quality-data-services/air-quality-api",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.airquality.nsw.gov.au/air-quality-data-services/air-quality-api",
      "baseUrl": "https://data.airquality.nsw.gov.au",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open NSW air-quality API with hourly observations, station details and parameter metadata; JSON over POST, no key.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "NSW Department of Climate Change, Energy, the Environment and Water",
        "sourceUrl": "https://www.airquality.nsw.gov.au/air-quality-data-services/air-quality-api",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "au-auspost",
      "slug": "au-auspost",
      "title": "Australia Post ~ shipping, tracking & address API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Australia Post",
      "source": "Australia Post",
      "sourceUrl": "https://developers.auspost.com.au/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.auspost.com.au/",
      "baseUrl": "https://digitalapi.auspost.com.au",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free postcode/postage-calculator APIs with an API key; parcel lodgement, labels and tracking need an eParcel contract.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Australia Post",
        "sourceUrl": "https://developers.auspost.com.au/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "au-basiq",
      "slug": "au-basiq",
      "title": "Basiq ~ open banking & financial data API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Basiq",
      "source": "Basiq",
      "sourceUrl": "https://api.basiq.io/reference/introduction",
      "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.basiq.io/reference/introduction",
      "baseUrl": "https://au-api.basiq.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Australian open-banking / financial-data platform (CDR + connectors) to 180+ AU/NZ banks; free sandbox, tiered pricing.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Basiq",
        "sourceUrl": "https://api.basiq.io/reference/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "au-airwallex",
      "slug": "au-airwallex",
      "title": "Airwallex ~ global payments & treasury API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Airwallex",
      "source": "Airwallex",
      "sourceUrl": "https://www.airwallex.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.airwallex.com/docs/api",
      "baseUrl": "https://api.airwallex.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Australian-founded global fintech; APIs for payments, multi-currency accounts, transfers and issued cards, with a sandbox.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Airwallex",
        "sourceUrl": "https://www.airwallex.com/docs/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "au-zai",
      "slug": "au-zai",
      "title": "Zai ~ marketplace payments & wallets API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Zai (formerly Assembly Payments)",
      "source": "Zai (formerly Assembly Payments)",
      "sourceUrl": "https://developer.hellozai.com/reference/overview",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.hellozai.com/reference/overview",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Australian marketplace-payments engine with wallet accounts, escrow, PayTo and disbursements; OAuth2 bearer tokens.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Zai (formerly Assembly Payments)",
        "sourceUrl": "https://developer.hellozai.com/reference/overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "au-zepto",
      "slug": "au-zepto",
      "title": "Zepto ~ PayTo account-to-account payments API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "AU"
      ],
      "provider": "Zepto",
      "source": "Zepto",
      "sourceUrl": "https://docs.zeptopayments.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.zeptopayments.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Australian account-to-account payments platform (PayTo, direct debit, NPP/PayID); publicly documented REST API with sandbox.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Zepto",
        "sourceUrl": "https://docs.zeptopayments.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "br-viacep",
      "slug": "br-viacep",
      "title": "ViaCEP ~ Brazilian postal code (CEP) address lookup",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "ViaCEP",
      "source": "ViaCEP",
      "sourceUrl": "https://viacep.com.br/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://viacep.com.br/",
      "baseUrl": "https://viacep.com.br/ws/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Famous keyless web service that resolves any 8-digit CEP to a full street address (and reverse-searches by state/city/street) in JSON or XML.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "ViaCEP",
        "sourceUrl": "https://viacep.com.br/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-awesomeapi-cotacoes",
      "slug": "br-awesomeapi-cotacoes",
      "title": "AwesomeAPI ~ real-time BRL currency & crypto quotes",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "AwesomeAPI",
      "source": "AwesomeAPI",
      "sourceUrl": "https://docs.awesomeapi.com.br/api-de-moedas",
      "tier": "commercial",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "freemium",
      "docs": "https://docs.awesomeapi.com.br/api-de-moedas",
      "baseUrl": "https://economia.awesomeapi.com.br/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Brazilian service giving live bid/ask quotes for 150+ currency pairs (USD-BRL, EUR-BRL, BTC-BRL, etc.); keyless works cached, a free key unlocks real-time and higher limits.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "AwesomeAPI",
        "sourceUrl": "https://docs.awesomeapi.com.br/api-de-moedas",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-camara-deputados",
      "slug": "br-camara-deputados",
      "title": "Câmara dos Deputados ~ legislative open data API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Câmara dos Deputados",
      "source": "Câmara dos Deputados",
      "sourceUrl": "https://dadosabertos.camara.leg.br/swagger/api.html",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://dadosabertos.camara.leg.br/swagger/api.html",
      "baseUrl": "https://dadosabertos.camara.leg.br/api/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official open-data REST API of Brazil's lower house exposing deputies, parties, propositions, votes, committees, events and expense records.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Câmara dos Deputados",
        "sourceUrl": "https://dadosabertos.camara.leg.br/swagger/api.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-portal-transparencia",
      "slug": "br-portal-transparencia",
      "title": "Portal da Transparência ~ federal spending data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Controladoria-Geral da União (CGU)",
      "source": "Controladoria-Geral da União (CGU)",
      "sourceUrl": "https://api.portaldatransparencia.gov.br/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api.portaldatransparencia.gov.br/",
      "baseUrl": "https://api.portaldatransparencia.gov.br/api-de-dados/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Federal transparency API covering contracts, agreements, benefits (Bolsa Família, Auxílio), civil-servant salaries, sanctions lists and travel; free token issued by registering an email.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Controladoria-Geral da União (CGU)",
        "sourceUrl": "https://api.portaldatransparencia.gov.br/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "br-receitaws",
      "slug": "br-receitaws",
      "title": "ReceitaWS ~ CNPJ company registration lookup",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "ReceitaWS",
      "source": "ReceitaWS",
      "sourceUrl": "https://receitaws.com.br/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "freemium",
      "docs": "https://receitaws.com.br/api",
      "baseUrl": "https://receitaws.com.br/v1/cnpj/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": "a few requests/minute on the free tier",
      "note": "Popular CNPJ enrichment service returning a company's legal name, trade name, address, activity (CNAE) and status; the free tier is keyless but rate-limited to a few requests per minute, paid plans add a token.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "ReceitaWS",
        "sourceUrl": "https://receitaws.com.br/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "rateLimit": "a few requests/minute on the free tier",
        "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": "br-melhor-envio",
      "slug": "br-melhor-envio",
      "title": "Melhor Envio ~ multi-carrier shipping & labels",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Melhor Envio",
      "source": "Melhor Envio",
      "sourceUrl": "https://docs.melhorenvio.com.br/reference/introducao-api-melhor-envio",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://docs.melhorenvio.com.br/reference/introducao-api-melhor-envio",
      "baseUrl": "https://melhorenvio.com.br/api/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Shipping aggregator that quotes, buys, pays, prints and tracks labels across Correios and private carriers through one OAuth2 API; a sandbox with R$10,000 test balance is provided.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Melhor Envio",
        "sourceUrl": "https://docs.melhorenvio.com.br/reference/introducao-api-melhor-envio",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "br-efi-pix",
      "slug": "br-efi-pix",
      "title": "Efí ~ PIX, boleto & card payments API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Efí Bank (formerly Gerencianet)",
      "source": "Efí Bank (formerly Gerencianet)",
      "sourceUrl": "https://dev.efipay.com.br/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://dev.efipay.com.br/",
      "baseUrl": "https://pix.api.efipay.com.br/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Brazilian payment institution offering full PIX (immediate, scheduled, recurring, automatic), boleto, card and payment-split APIs; auth uses OAuth2 plus a mandatory PFX client certificate.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Efí Bank (formerly Gerencianet)",
        "sourceUrl": "https://dev.efipay.com.br/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "br-asaas",
      "slug": "br-asaas",
      "title": "Asaas ~ PIX, boleto & card billing API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Asaas",
      "source": "Asaas",
      "sourceUrl": "https://docs.asaas.com/docs/visao-geral",
      "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.asaas.com/docs/visao-geral",
      "baseUrl": "https://api.asaas.com/v3/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Billing platform automating charges via PIX, boleto, credit/debit card and transfers, with subscriptions, split and a free sandbox; authenticated by an API key from the account panel.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Asaas",
        "sourceUrl": "https://docs.asaas.com/docs/visao-geral",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "br-mercado-bitcoin",
      "slug": "br-mercado-bitcoin",
      "title": "Mercado Bitcoin ~ crypto exchange market & trading",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Mercado Bitcoin",
      "source": "Mercado Bitcoin",
      "sourceUrl": "https://api.mercadobitcoin.net/api/v4/docs",
      "tier": "commercial",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "freemium",
      "docs": "https://api.mercadobitcoin.net/api/v4/docs",
      "baseUrl": "https://api.mercadobitcoin.net/api/v4/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Largest Latin American crypto exchange; the v4 public endpoints (tickers, orderbook, candles) are keyless while trading, balances and withdrawals need an API key with 2FA.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Mercado Bitcoin",
        "sourceUrl": "https://api.mercadobitcoin.net/api/v4/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-woovi-openpix",
      "slug": "br-woovi-openpix",
      "title": "Woovi / OpenPix ~ PIX charges & payments",
      "category": "Payments",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Woovi (OpenPix)",
      "source": "Woovi (OpenPix)",
      "sourceUrl": "https://developers.openpix.com.br/en/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://developers.openpix.com.br/en/api",
      "baseUrl": "https://api.openpix.com.br/api/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "PIX-native payments API to create charges with QR codes, handle installments (Parcelado), subscriptions and webhooks; a sandbox environment is available for testing.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Woovi (OpenPix)",
        "sourceUrl": "https://developers.openpix.com.br/en/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "br-fipe-parallelum",
      "slug": "br-fipe-parallelum",
      "title": "FIPE API ~ vehicle price table (Tabela FIPE)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Parallelum",
      "source": "Parallelum",
      "sourceUrl": "https://deividfortuna.github.io/fipe/v2/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "freemium",
      "docs": "https://deividfortuna.github.io/fipe/v2/",
      "baseUrl": "https://fipe.parallelum.com.br/api/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Long-running free JSON wrapper of Brazil's official FIPE vehicle price table for cars, motorcycles and trucks; keyless up to 500 requests/day, an optional free token raises the cap.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Parallelum",
        "sourceUrl": "https://deividfortuna.github.io/fipe/v2/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-zenvia",
      "slug": "br-zenvia",
      "title": "Zenvia ~ SMS, WhatsApp & multichannel messaging",
      "category": "Communications",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Zenvia",
      "source": "Zenvia",
      "sourceUrl": "https://zenvia.github.io/zenvia-openapi-spec/v1/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://zenvia.github.io/zenvia-openapi-spec/v1/",
      "baseUrl": "https://api.zenvia.com/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Brazilian CPaaS leader offering one API across SMS, WhatsApp Business, email, RCS and voice channels; requests authenticate with an X-API-TOKEN header and a sandbox is provided.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Zenvia",
        "sourceUrl": "https://zenvia.github.io/zenvia-openapi-spec/v1/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "br-tse-dados-abertos",
      "slug": "br-tse-dados-abertos",
      "title": "TSE ~ Brazilian elections open data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Tribunal Superior Eleitoral",
      "source": "Tribunal Superior Eleitoral",
      "sourceUrl": "https://dadosabertos.tse.jus.br/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://dadosabertos.tse.jus.br/",
      "baseUrl": "https://dadosabertos.tse.jus.br/api/3/action/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official CKAN open-data portal of Brazil's electoral court exposing candidates, results, campaign finance and electorate datasets via a public RPC-style API.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Tribunal Superior Eleitoral",
        "sourceUrl": "https://dadosabertos.tse.jus.br/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-focus-nfe",
      "slug": "br-focus-nfe",
      "title": "Focus NFe ~ electronic invoice (NF-e/NFS-e) issuing",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Focus NFe",
      "source": "Focus NFe",
      "sourceUrl": "https://doc.focusnfe.com.br/reference/introducao",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://doc.focusnfe.com.br/reference/introducao",
      "baseUrl": "https://api.focusnfe.com.br/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "REST API that abstracts Brazil's complex fiscal-document layer, issuing and receiving NF-e, NFC-e, NFS-e, CT-e and MDF-e in JSON with a homologation (test) environment.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Focus NFe",
        "sourceUrl": "https://doc.focusnfe.com.br/reference/introducao",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "br-cvm-dados-abertos",
      "slug": "br-cvm-dados-abertos",
      "title": "CVM ~ securities & investment-fund open data",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Comissão de Valores Mobiliários (CVM)",
      "source": "Comissão de Valores Mobiliários (CVM)",
      "sourceUrl": "https://dados.cvm.gov.br/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://dados.cvm.gov.br/",
      "baseUrl": "https://dados.cvm.gov.br/api/3/action/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open-data portal of Brazil's securities regulator publishing investment-fund registrations, daily quotas, portfolios and financials, plus data on other supervised market participants, via CKAN.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Comissão de Valores Mobiliários (CVM)",
        "sourceUrl": "https://dados.cvm.gov.br/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "br-clicksign",
      "slug": "br-clicksign",
      "title": "Clicksign ~ electronic signature API",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "BR"
      ],
      "provider": "Clicksign",
      "source": "Clicksign",
      "sourceUrl": "https://developers.clicksign.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.clicksign.com/",
      "baseUrl": "https://app.clicksign.com/api/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Brazilian e-signature platform meeting local integrity/authenticity/non-repudiation requirements; REST API plus webhooks and an embedded signing widget, authenticated with an access token.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Clicksign",
        "sourceUrl": "https://developers.clicksign.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "ca-geocoder-ca",
      "slug": "ca-geocoder-ca",
      "title": "Geocoder.ca ~ Canada/US address geocoding & postal lookup",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Geocoder.ca",
      "source": "Geocoder.ca",
      "sourceUrl": "https://geocoder.ca/?api=1",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://geocoder.ca/?api=1",
      "baseUrl": "https://geocoder.ca",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Canada-focused forward/reverse geocoder with full 6-character postal-code and intersection lookups; free tier plus pay-as-you-go accounts.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Geocoder.ca",
        "sourceUrl": "https://geocoder.ca/?api=1",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ca-nrcan-elevation",
      "slug": "ca-nrcan-elevation",
      "title": "Natural Resources Canada ~ elevation & terrain profiles",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Natural Resources Canada",
      "source": "Natural Resources Canada",
      "sourceUrl": "https://natural-resources.canada.ca/science-data/data-analysis/geospatial-data-tools-services/elevation-api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://natural-resources.canada.ca/science-data/data-analysis/geospatial-data-tools-services/elevation-api",
      "baseUrl": "https://geogratis.gc.ca/services/elevation/cdem",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless REST service returning ground altitude for a lat/long or an elevation profile along a line, from the Canadian Digital Elevation Model.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Natural Resources Canada",
        "sourceUrl": "https://natural-resources.canada.ca/science-data/data-analysis/geospatial-data-tools-services/elevation-api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-dfo-iwls-tides",
      "slug": "ca-dfo-iwls-tides",
      "title": "DFO CHS ~ Canadian tides & water levels (IWLS)",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Fisheries and Oceans Canada (CHS)",
      "source": "Fisheries and Oceans Canada (CHS)",
      "sourceUrl": "https://tides.gc.ca/en/web-services-offered-canadian-hydrographic-service",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://tides.gc.ca/en/web-services-offered-canadian-hydrographic-service",
      "baseUrl": "https://api-iwls.dfo-mpo.gc.ca/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "The Canadian Hydrographic Service Integrated Water Level System serves predictions, observations and forecasts at water-level stations nationwide with a public Swagger-documented API.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Fisheries and Oceans Canada (CHS)",
        "sourceUrl": "https://tides.gc.ca/en/web-services-offered-canadian-hydrographic-service",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-translink-gtfsrt",
      "slug": "ca-translink-gtfsrt",
      "title": "TransLink ~ Vancouver transit GTFS-realtime feeds",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "TransLink (Metro Vancouver)",
      "source": "TransLink (Metro Vancouver)",
      "sourceUrl": "https://developer.translink.ca/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.translink.ca/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Metro Vancouver transit authority; the legacy RTTI REST API retired Dec 2024, so live vehicle positions, trip updates and alerts now come via the free GTFS-RT V3 feeds after registration.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "TransLink (Metro Vancouver)",
        "sourceUrl": "https://developer.translink.ca/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ca-metrolinx-openmetrolinx",
      "slug": "ca-metrolinx-openmetrolinx",
      "title": "Metrolinx ~ GO Transit & UP Express live data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Metrolinx",
      "source": "Metrolinx",
      "sourceUrl": "https://api.openmetrolinx.com/OpenDataAPI/Help/Registration/en",
      "tier": "open",
      "kind": "realtime",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api.openmetrolinx.com/OpenDataAPI/Help/Registration/en",
      "baseUrl": "https://api.openmetrolinx.com/OpenDataAPI",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free non-expiring Access Key gives real-time GO Transit and UP Express vehicle positions, trip updates, service alerts, schedules and fares across the Greater Toronto and Hamilton Area.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Metrolinx",
        "sourceUrl": "https://api.openmetrolinx.com/OpenDataAPI/Help/Registration/en",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "ca-drivebc-open511",
      "slug": "ca-drivebc-open511",
      "title": "DriveBC ~ BC road events & closures (Open511)",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "DriveBC (BC Ministry of Transportation)",
      "source": "DriveBC (BC Ministry of Transportation)",
      "sourceUrl": "https://api.open511.gov.bc.ca/help",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.open511.gov.bc.ca/help",
      "baseUrl": "https://api.open511.gov.bc.ca",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless Open511-standard API of live provincial-highway events (accidents, construction, closures, weather) filterable by severity, in JSON or XML.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DriveBC (BC Ministry of Transportation)",
        "sourceUrl": "https://api.open511.gov.bc.ca/help",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-octranspo-gtfsrt",
      "slug": "ca-octranspo-gtfsrt",
      "title": "OC Transpo ~ Ottawa real-time transit (GTFS-RT)",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "OC Transpo (City of Ottawa)",
      "source": "OC Transpo (City of Ottawa)",
      "sourceUrl": "https://www.octranspo.com/en/plan-your-trip/travel-tools/developers/dev-doc",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.octranspo.com/en/plan-your-trip/travel-tools/developers/dev-doc",
      "baseUrl": "https://nextrip-public-api.azure-api.net/octranspo",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Ottawa's transit agency serves GTFS-Realtime vehicle positions and trip updates (JSON or protobuf) via an Azure developer portal after free sign-up; the legacy API 2.0 was retired in 2025.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "OC Transpo (City of Ottawa)",
        "sourceUrl": "https://www.octranspo.com/en/plan-your-trip/travel-tools/developers/dev-doc",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ca-bikeshare-toronto-gbfs",
      "slug": "ca-bikeshare-toronto-gbfs",
      "title": "Bike Share Toronto ~ live station status (GBFS)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "CA"
      ],
      "provider": "Bike Share Toronto",
      "source": "Bike Share Toronto",
      "sourceUrl": "https://gbfs.org/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://gbfs.org/",
      "baseUrl": "https://toronto.publicbikesystem.net/customer/gbfs/v3.0/gbfs.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless GBFS-compliant feed (system info, station information, and live station status with bikes/docks available) for Toronto's public bike-share network.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bike Share Toronto",
        "sourceUrl": "https://gbfs.org/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-healthcanada-dpd",
      "slug": "ca-healthcanada-dpd",
      "title": "Health Canada ~ Drug Product Database API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Health Canada",
      "source": "Health Canada",
      "sourceUrl": "https://health-products.canada.ca/api/documentation/dpd-documentation-en.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://health-products.canada.ca/api/documentation/dpd-documentation-en.html",
      "baseUrl": "https://health-products.canada.ca/api/drug/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless nightly-updated REST API (JSON or XML) over ~47,000 human, veterinary and disinfectant products approved for sale in Canada, keyed by DIN.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Canada",
        "sourceUrl": "https://health-products.canada.ca/api/documentation/dpd-documentation-en.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-healthcanada-recalls",
      "slug": "ca-healthcanada-recalls",
      "title": "Health Canada ~ recalls & safety alerts data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Health Canada",
      "source": "Health Canada",
      "sourceUrl": "https://open.canada.ca/data/en/dataset/d38de914-c94c-429b-8ab1-8776c31643e3",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://open.canada.ca/data/en/dataset/d38de914-c94c-429b-8ab1-8776c31643e3",
      "baseUrl": "https://recalls-rappels.canada.ca/sites/default/files/opendata-donneesouvertes/HCRSAMOpenData.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Daily-updated open JSON dataset of official Government of Canada recalls and safety alerts across food, consumer products, health products, medical devices, cannabis and vehicles.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Health Canada",
        "sourceUrl": "https://open.canada.ca/data/en/dataset/d38de914-c94c-429b-8ab1-8776c31643e3",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-corporations-canada",
      "slug": "ca-corporations-canada",
      "title": "Corporations Canada ~ federal corporation search API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Innovation, Science and Economic Development Canada",
      "source": "Innovation, Science and Economic Development Canada",
      "sourceUrl": "https://api.ised-isde.canada.ca/en/docs?api=corporations",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api.ised-isde.canada.ca/en/docs?api=corporations",
      "baseUrl": "https://api.ised-isde.canada.ca",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Real-time API over federally incorporated businesses (CBCA/NFP/co-ops) exposing status, registered office and directors; basic name/status lookups are free, director data needs a free account key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Innovation, Science and Economic Development Canada",
        "sourceUrl": "https://api.ised-isde.canada.ca/en/docs?api=corporations",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ca-canlii",
      "slug": "ca-canlii",
      "title": "CanLII ~ Canadian case law & legislation API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Canadian Legal Information Institute (CanLII)",
      "source": "Canadian Legal Information Institute (CanLII)",
      "sourceUrl": "https://github.com/canlii/API_documentation/blob/master/EN.md",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://github.com/canlii/API_documentation/blob/master/EN.md",
      "baseUrl": "https://api.canlii.org/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Non-profit legal library; the free HTTPS API returns metadata for court/tribunal decisions and statutes across every Canadian jurisdiction once you request a key via the feedback form.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Canadian Legal Information Institute (CanLII)",
        "sourceUrl": "https://github.com/canlii/API_documentation/blob/master/EN.md",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ca-bc-data-catalogue",
      "slug": "ca-bc-data-catalogue",
      "title": "BC Data Catalogue ~ CKAN open data API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "DataBC (Province of British Columbia)",
      "source": "DataBC (Province of British Columbia)",
      "sourceUrl": "https://bcgov.github.io/data-publication/pages/dps_bcdc_api_w_how_to_use.html",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://bcgov.github.io/data-publication/pages/dps_bcdc_api_w_how_to_use.html",
      "baseUrl": "https://catalogue.data.gov.bc.ca/api/3/action",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Standard CKAN Action API over British Columbia's open datasets; no key or account needed to read public data via package_list, package_show and datastore search.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "DataBC (Province of British Columbia)",
        "sourceUrl": "https://bcgov.github.io/data-publication/pages/dps_bcdc_api_w_how_to_use.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ca-canada-post-developer",
      "slug": "ca-canada-post-developer",
      "title": "Canada Post ~ shipping, rating & tracking APIs",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Canada Post",
      "source": "Canada Post",
      "sourceUrl": "https://www.canadapost-postescanada.ca/info/mc/business/productsservices/developers/services/gettingstarted.jsf",
      "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.canadapost-postescanada.ca/info/mc/business/productsservices/developers/services/gettingstarted.jsf",
      "baseUrl": "https://soa-gw.canadapost.ca",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free developer program with REST/XML web services for rating, tracking, find-a-post-office and shipping; rating and tracking calls are free while shipping/label services tie to a paid account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Canada Post",
        "sourceUrl": "https://www.canadapost-postescanada.ca/info/mc/business/productsservices/developers/services/gettingstarted.jsf",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ca-moneris",
      "slug": "ca-moneris",
      "title": "Moneris ~ Canadian card payment gateway API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Moneris",
      "source": "Moneris",
      "sourceUrl": "https://developer.moneris.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://developer.moneris.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "One of Canada's largest payment processors; the modern OpenAPI-based REST gateway handles purchases, pre-auths, refunds, voids, tokenization and recurring billing for e-commerce.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Moneris",
        "sourceUrl": "https://developer.moneris.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ca-helcim",
      "slug": "ca-helcim",
      "title": "Helcim ~ payments, invoicing & customer API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Helcim",
      "source": "Helcim",
      "sourceUrl": "https://devdocs.helcim.com/docs/overview-of-helcim-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://devdocs.helcim.com/docs/overview-of-helcim-api",
      "baseUrl": "https://api.helcim.com/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Calgary-based processor with a clean RESTful API for card and ACH payments, customers, invoices and payment-hardware bridging, with no contracts or monthly API fees.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Helcim",
        "sourceUrl": "https://devdocs.helcim.com/docs/overview-of-helcim-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ch-opentransportdata",
      "slug": "ch-opentransportdata",
      "title": "opentransportdata.swiss ~ Swiss public transport data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "SBB / Swiss Federal Office of Transport (FOT)",
      "source": "SBB / Swiss Federal Office of Transport (FOT)",
      "sourceUrl": "https://opentransportdata.swiss/en/cookbook/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opentransportdata.swiss/en/cookbook/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official national platform; register in the API-Manager to get a free key for the live interfaces.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "SBB / Swiss Federal Office of Transport (FOT)",
        "sourceUrl": "https://opentransportdata.swiss/en/cookbook/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ch-zefix",
      "slug": "ch-zefix",
      "title": "Zefix ~ Swiss central business name register API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Federal Commercial Registry Office (FCRO / EHRA)",
      "source": "Federal Commercial Registry Office (FCRO / EHRA)",
      "sourceUrl": "https://www.zefix.admin.ch/ZefixPublicREST/",
      "tier": "open",
      "kind": "dataset",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.zefix.admin.ch/ZefixPublicREST/",
      "baseUrl": "https://www.zefix.admin.ch/ZefixPublicREST/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free but you must request an account (email zefix@bj.admin.ch) that authenticates via HTTP Basic.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Federal Commercial Registry Office (FCRO / EHRA)",
        "sourceUrl": "https://www.zefix.admin.ch/ZefixPublicREST/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "ch-fedlex",
      "slug": "ch-fedlex",
      "title": "Fedlex ~ Swiss federal law as linked open data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Swiss Federal Chancellery",
      "source": "Swiss Federal Chancellery",
      "sourceUrl": "https://fedlex.data.admin.ch/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://fedlex.data.admin.ch/",
      "baseUrl": "https://fedlex.data.admin.ch/sparqlendpoint",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "SPARQL endpoint over RDF using the European Legislation Identifier (ELI) model; no key needed.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Swiss Federal Chancellery",
        "sourceUrl": "https://fedlex.data.admin.ch/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ch-meteoswiss-opendata",
      "slug": "ch-meteoswiss-opendata",
      "title": "MeteoSwiss ~ open weather & climate data (OGD)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Federal Office of Meteorology and Climatology MeteoSwiss",
      "source": "Federal Office of Meteorology and Climatology MeteoSwiss",
      "sourceUrl": "https://opendatadocs.meteoswiss.ch/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://opendatadocs.meteoswiss.ch/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Bulk open data via file downloads and the swisstopo STAC infrastructure; a per-query API is slated for 2026.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Federal Office of Meteorology and Climatology MeteoSwiss",
        "sourceUrl": "https://opendatadocs.meteoswiss.ch/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ch-existenz",
      "slug": "ch-existenz",
      "title": "Existenz.ch ~ live Swiss weather & river data",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "CH"
      ],
      "provider": "Bureau fuer digitale Existenz (Christian Studer)",
      "source": "Bureau fuer digitale Existenz (Christian Studer)",
      "sourceUrl": "https://api.existenz.ch/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.existenz.ch/",
      "baseUrl": "https://api.existenz.ch/apiv1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Unofficial community API repackaging MeteoSwiss and BAFU feeds at ~10-minute cadence with no SLA.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bureau fuer digitale Existenz (Christian Studer)",
        "sourceUrl": "https://api.existenz.ch/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ch-swisstopo-reframe",
      "slug": "ch-swisstopo-reframe",
      "title": "swisstopo ~ REFRAME coordinate transformation API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Federal Office of Topography swisstopo",
      "source": "Federal Office of Topography swisstopo",
      "sourceUrl": "https://www.swisstopo.admin.ch/en/rest-api-geoservices-reframe-web",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.swisstopo.admin.ch/en/rest-api-geoservices-reframe-web",
      "baseUrl": "https://geodesy.geo.admin.ch/reframe/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Distinct from the GeoAdmin search/identify API; free geodetic REST for LV95/LV03 <-> WGS84 conversion.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Federal Office of Topography swisstopo",
        "sourceUrl": "https://www.swisstopo.admin.ch/en/rest-api-geoservices-reframe-web",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ch-searchch-tel",
      "slug": "ch-searchch-tel",
      "title": "search.ch ~ Swiss phone & business directory API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "search.ch (Swisscom Directories AG)",
      "source": "search.ch (Swisscom Directories AG)",
      "sourceUrl": "https://search.ch/tel/api/help.en.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://search.ch/tel/api/help.en.html",
      "baseUrl": "https://search.ch/tel/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free key gives ~1000 requests/month of structured results; source attribution to Swisscom Directories is required.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "search.ch (Swisscom Directories AG)",
        "sourceUrl": "https://search.ch/tel/api/help.en.html",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ch-swisspost-address",
      "slug": "ch-swisspost-address",
      "title": "Swiss Post ~ address, parcel & tracking APIs",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Swiss Post (Die Schweizerische Post)",
      "source": "Swiss Post (Die Schweizerische Post)",
      "sourceUrl": "https://developer.post.ch/en/api-and-documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.post.ch/en/api-and-documentation",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Real, well-documented REST APIs but usage needs a Swiss Post business/billing account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Swiss Post (Die Schweizerische Post)",
        "sourceUrl": "https://developer.post.ch/en/api-and-documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "ch-datatrans",
      "slug": "ch-datatrans",
      "title": "Datatrans ~ Swiss card & TWINT payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Datatrans AG (SIX)",
      "source": "Datatrans AG (SIX)",
      "sourceUrl": "https://docs.datatrans.ch/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.datatrans.ch/",
      "baseUrl": "https://api.datatrans.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Leading Swiss PSP; JSON API uses HTTP Basic (merchantId + password) and needs a Datatrans merchant account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Datatrans AG (SIX)",
        "sourceUrl": "https://docs.datatrans.ch/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "ch-threema-gateway",
      "slug": "ch-threema-gateway",
      "title": "Threema ~ Gateway API to send secure messages",
      "category": "Communications",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Threema GmbH",
      "source": "Threema GmbH",
      "sourceUrl": "https://gateway.threema.ch/en/developer/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://gateway.threema.ch/en/developer/api",
      "baseUrl": "https://msgapi.threema.ch/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Prepaid credits per message; needs a Gateway ID and secret, with optional end-to-end mode.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Threema GmbH",
        "sourceUrl": "https://gateway.threema.ch/en/developer/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "ch-exoscale",
      "slug": "ch-exoscale",
      "title": "Exoscale ~ Swiss cloud infrastructure API",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Exoscale (Akenes SA)",
      "source": "Exoscale (Akenes SA)",
      "sourceUrl": "https://openapi-v2.exoscale.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://openapi-v2.exoscale.com/",
      "baseUrl": "https://api-ch-gva-2.exoscale.com/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Swiss/EU-sovereign IaaS; full OpenAPI spec with API-key + signature auth, priced pay-as-you-go.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Exoscale (Akenes SA)",
        "sourceUrl": "https://openapi-v2.exoscale.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ch-infomaniak-ai",
      "slug": "ch-infomaniak-ai",
      "title": "Infomaniak ~ sovereign Swiss-hosted LLM AI API",
      "category": "AI",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "Infomaniak Network SA",
      "source": "Infomaniak Network SA",
      "sourceUrl": "https://developer.infomaniak.com/docs/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.infomaniak.com/docs/api",
      "baseUrl": "https://api.infomaniak.com/1/ai",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "OpenAI-style inference on open-weight models, hosted entirely in Swiss data centres; billed per token.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Infomaniak Network SA",
        "sourceUrl": "https://developer.infomaniak.com/docs/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "ch-bexio",
      "slug": "ch-bexio",
      "title": "bexio ~ Swiss SME accounting & ERP API",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "CH"
      ],
      "provider": "bexio AG",
      "source": "bexio AG",
      "sourceUrl": "https://docs.bexio.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.bexio.com/",
      "baseUrl": "https://api.bexio.com/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Requires a paid bexio account; OAuth2 authorisation-code flow, JSON REST, Swiss-VAT aware.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "bexio AG",
        "sourceUrl": "https://docs.bexio.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "cn-alipay-open",
      "slug": "cn-alipay-open",
      "title": "Alipay ~ open-platform payments & merchant APIs",
      "category": "Payments",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Ant Group (Alipay)",
      "source": "Ant Group (Alipay)",
      "sourceUrl": "https://opendocs.alipay.com/open/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opendocs.alipay.com/open/",
      "baseUrl": "https://openapi.alipay.com/gateway.do",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "API access is free; standard merchant transaction fees apply to settled payments.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Ant Group (Alipay)",
        "sourceUrl": "https://opendocs.alipay.com/open/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-wechat-pay",
      "slug": "cn-wechat-pay",
      "title": "WeChat Pay ~ merchant payment APIs (v3)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Tencent (WeChat Pay)",
      "source": "Tencent (WeChat Pay)",
      "sourceUrl": "https://pay.weixin.qq.com/doc/global/v3/en",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://pay.weixin.qq.com/doc/global/v3/en",
      "baseUrl": "https://api.mch.weixin.qq.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "APIv3 uses certificate-based signing and AES-256-GCM for callbacks; merchant onboarding required.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Tencent (WeChat Pay)",
        "sourceUrl": "https://pay.weixin.qq.com/doc/global/v3/en",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-baidu-ai-ocr",
      "slug": "cn-baidu-ai-ocr",
      "title": "Baidu AI ~ OCR & image text recognition",
      "category": "AI",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Baidu AI Cloud",
      "source": "Baidu AI Cloud",
      "sourceUrl": "https://ai.baidu.com/ai-doc/OCR/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://ai.baidu.com/ai-doc/OCR/",
      "baseUrl": "https://aip.baidubce.com/rest/2.0/ocr/v1/general",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Requires an access_token minted from API Key + Secret Key; free monthly quota then pay-per-call.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Baidu AI Cloud",
        "sourceUrl": "https://ai.baidu.com/ai-doc/OCR/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-iflytek-xfyun",
      "slug": "cn-iflytek-xfyun",
      "title": "iFlytek ~ speech recognition, TTS & voice AI",
      "category": "AI",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "iFlytek (讯飞开放平台)",
      "source": "iFlytek (讯飞开放平台)",
      "sourceUrl": "https://www.xfyun.cn/doc/",
      "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.xfyun.cn/doc/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "WebSocket/HTTP endpoints vary per capability; auth uses HMAC-SHA256 over APIKey and APISecret.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "iFlytek (讯飞开放平台)",
        "sourceUrl": "https://www.xfyun.cn/doc/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-baidu-translate",
      "slug": "cn-baidu-translate",
      "title": "Baidu Translate ~ machine translation API",
      "category": "AI",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Baidu",
      "source": "Baidu",
      "sourceUrl": "https://fanyi-api.baidu.com/doc/21",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://fanyi-api.baidu.com/doc/21",
      "baseUrl": "https://fanyi-api.baidu.com/api/trans/vip/translate",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Standard tier gives 50,000 free characters/month; signed with APP ID + MD5 salt signature.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Baidu",
        "sourceUrl": "https://fanyi-api.baidu.com/doc/21",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-tencent-cloud-openapi",
      "slug": "cn-tencent-cloud-openapi",
      "title": "Tencent Cloud ~ cloud service OpenAPI 3.0",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Tencent Cloud",
      "source": "Tencent Cloud",
      "sourceUrl": "https://intl.cloud.tencent.com/document/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://intl.cloud.tencent.com/document/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Per-service endpoints like cvm.tencentcloudapi.com; signed with SecretId/SecretKey (TC3-HMAC-SHA256).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Tencent Cloud",
        "sourceUrl": "https://intl.cloud.tencent.com/document/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-alibaba-cloud-openapi",
      "slug": "cn-alibaba-cloud-openapi",
      "title": "Alibaba Cloud ~ Aliyun service OpenAPI portal",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Alibaba Cloud (Aliyun)",
      "source": "Alibaba Cloud (Aliyun)",
      "sourceUrl": "https://next.api.alibabacloud.com/document",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://next.api.alibabacloud.com/document",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Interactive OpenAPI portal covers every Aliyun product; signed with AccessKey ID/Secret.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Alibaba Cloud (Aliyun)",
        "sourceUrl": "https://next.api.alibabacloud.com/document",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-qiniu-kodo",
      "slug": "cn-qiniu-kodo",
      "title": "Qiniu Kodo ~ object storage & media processing",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Qiniu Cloud (七牛云)",
      "source": "Qiniu Cloud (七牛云)",
      "sourceUrl": "https://developer.qiniu.com/kodo",
      "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.qiniu.com/kodo",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Region-based upload/management hosts; requests signed with AccessKey/SecretKey; free storage tier available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Qiniu Cloud (七牛云)",
        "sourceUrl": "https://developer.qiniu.com/kodo",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-seniverse-weather",
      "slug": "cn-seniverse-weather",
      "title": "Seniverse ~ weather & air-quality data API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "Seniverse (心知天气)",
      "source": "Seniverse (心知天气)",
      "sourceUrl": "https://docs.seniverse.com/api/weather/now.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://docs.seniverse.com/api/weather/now.html",
      "baseUrl": "https://api.seniverse.com/v3/weather/now.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free plan covers current conditions and 3-day forecast; higher resolution and history are paid.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Seniverse (心知天气)",
        "sourceUrl": "https://docs.seniverse.com/api/weather/now.html",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "cn-netease-yunxin-im",
      "slug": "cn-netease-yunxin-im",
      "title": "NetEase Yunxin ~ IM messaging & SMS APIs",
      "category": "Communications",
      "group": "Build",
      "country": [
        "CN"
      ],
      "provider": "NetEase Yunxin (网易云信)",
      "source": "NetEase Yunxin (网易云信)",
      "sourceUrl": "https://doc.yunxin.163.com/messaging/server-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://doc.yunxin.163.com/messaging/server-apis",
      "baseUrl": "https://api.netease.im/nimserver",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Server APIs authenticate with AppKey/AppSecret CheckSum (Nonce + CurTime SHA1); English docs provided.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "NetEase Yunxin (网易云信)",
        "sourceUrl": "https://doc.yunxin.163.com/messaging/server-apis",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "de-autobahn-api",
      "slug": "de-autobahn-api",
      "title": "Autobahn GmbH ~ live motorway roadworks & traffic",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Autobahn GmbH des Bundes",
      "source": "Autobahn GmbH des Bundes",
      "sourceUrl": "https://autobahn.api.bund.dev/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://autobahn.api.bund.dev/",
      "baseUrl": "https://verkehr.autobahn.de/o/autobahn/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official open data from the federal motorway operator, documented via the civil-society bund.dev project; no key needed.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Autobahn GmbH des Bundes",
        "sourceUrl": "https://autobahn.api.bund.dev/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-tankerkoenig-fuel",
      "slug": "de-tankerkoenig-fuel",
      "title": "Tankerkönig ~ live German fuel prices",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Tankerkönig (MTS-K data)",
      "source": "Tankerkönig (MTS-K data)",
      "sourceUrl": "https://creativecommons.tankerkoenig.de/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://creativecommons.tankerkoenig.de/",
      "baseUrl": "https://creativecommons.tankerkoenig.de/json/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free CC-BY data sourced from the federal Market Transparency Unit for Fuels; a free API key is required per user.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Tankerkönig (MTS-K data)",
        "sourceUrl": "https://creativecommons.tankerkoenig.de/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "de-marktstammdaten-energy",
      "slug": "de-marktstammdaten-energy",
      "title": "Marktstammdatenregister ~ energy unit registry",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Bundesnetzagentur (BNetzA)",
      "source": "Bundesnetzagentur (BNetzA)",
      "sourceUrl": "https://www.marktstammdatenregister.de/MaStR/Datendownload",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.marktstammdatenregister.de/MaStR/Datendownload",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Access is via a daily-refreshed bulk XML export (Gesamtdatenauszug) under DL-DE-BY-2.0, not a live REST API.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bundesnetzagentur (BNetzA)",
        "sourceUrl": "https://www.marktstammdatenregister.de/MaStR/Datendownload",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-abgeordnetenwatch",
      "slug": "de-abgeordnetenwatch",
      "title": "abgeordnetenwatch ~ German MPs & votes",
      "category": "Government services",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "abgeordnetenwatch.de",
      "source": "abgeordnetenwatch.de",
      "sourceUrl": "https://www.abgeordnetenwatch.de/api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.abgeordnetenwatch.de/api",
      "baseUrl": "https://www.abgeordnetenwatch.de/api/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open CC0 data covering the Bundestag and state parliaments; no key required for the read-only v2 API.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "abgeordnetenwatch.de",
        "sourceUrl": "https://www.abgeordnetenwatch.de/api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-dwd-opendata",
      "slug": "de-dwd-opendata",
      "title": "DWD ~ open weather, radar & climate data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Deutscher Wetterdienst (DWD)",
      "source": "Deutscher Wetterdienst (DWD)",
      "sourceUrl": "https://www.dwd.de/EN/ourservices/opendata/opendata.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.dwd.de/EN/ourservices/opendata/opendata.html",
      "baseUrl": "https://opendata.dwd.de/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Raw file/HTTPS open-data server (model forecasts, radar, climate archives) — the source behind wrappers like Bright Sky, not a friendly JSON API itself.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Deutscher Wetterdienst (DWD)",
        "sourceUrl": "https://www.dwd.de/EN/ourservices/opendata/opendata.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-bundesbank-sdmx",
      "slug": "de-bundesbank-sdmx",
      "title": "Bundesbank ~ SDMX economic time series",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Deutsche Bundesbank",
      "source": "Deutsche Bundesbank",
      "sourceUrl": "https://www.bundesbank.de/en/statistics/time-series-databases/help-for-sdmx-web-service",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.bundesbank.de/en/statistics/time-series-databases/help-for-sdmx-web-service",
      "baseUrl": "https://api.statistiken.bundesbank.de/rest/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Germany's central bank REST/SDMX service; open over HTTPS with no key, returning SDMX-ML or CSV.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Deutsche Bundesbank",
        "sourceUrl": "https://www.bundesbank.de/en/statistics/time-series-databases/help-for-sdmx-web-service",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-dip-bundestag",
      "slug": "de-dip-bundestag",
      "title": "DIP Bundestag ~ parliamentary documents API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Deutscher Bundestag (DIP)",
      "source": "Deutscher Bundestag (DIP)",
      "sourceUrl": "https://dip.bundestag.api.bund.dev/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://dip.bundestag.api.bund.dev/",
      "baseUrl": "https://search.dip.bundestag.de/api/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official Bundestag documentation & information system; a public shared API key is published in the docs, capped at 25 concurrent requests.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Deutscher Bundestag (DIP)",
        "sourceUrl": "https://dip.bundestag.api.bund.dev/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "de-dhl-tracking",
      "slug": "de-dhl-tracking",
      "title": "DHL ~ unified shipment tracking API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "DHL Group",
      "source": "DHL Group",
      "sourceUrl": "https://developer.dhl.com/api-reference/shipment-tracking",
      "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.dhl.com/api-reference/shipment-tracking",
      "baseUrl": "https://api-eu.dhl.com/track/shipments",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free developer tier gives 250 calls/day (1 every 5s); higher volume needs a production agreement.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "DHL Group",
        "sourceUrl": "https://developer.dhl.com/api-reference/shipment-tracking",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "de-offeneregister",
      "slug": "de-offeneregister",
      "title": "OffeneRegister ~ German company registry data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "OffeneRegister.de (OKF DE)",
      "source": "OffeneRegister.de (OKF DE)",
      "sourceUrl": "https://offeneregister.de/daten/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://offeneregister.de/daten/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "A CC-BY open-data snapshot of the Handelsregister (largely 2017–2019), offered as downloadable dumps and queryable via OpenCorporates — not a live feed.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "OffeneRegister.de (OKF DE)",
        "sourceUrl": "https://offeneregister.de/daten/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-nina-warnings",
      "slug": "de-nina-warnings",
      "title": "NINA (BBK) ~ civil-protection hazard warnings",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "DE"
      ],
      "provider": "Bundesamt für Bevölkerungsschutz (BBK)",
      "source": "Bundesamt für Bevölkerungsschutz (BBK)",
      "sourceUrl": "https://nina.api.bund.dev/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://nina.api.bund.dev/",
      "baseUrl": "https://warnung.bund.de/api31/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "The feed behind the official NINA warning app; usable without a key but documented via the community bund.dev project rather than officially.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bundesamt für Bevölkerungsschutz (BBK)",
        "sourceUrl": "https://nina.api.bund.dev/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-solaris-baas",
      "slug": "de-solaris-baas",
      "title": "Solaris ~ Banking-as-a-Service platform",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Solaris SE",
      "source": "Solaris SE",
      "sourceUrl": "https://docs.solarisgroup.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.solarisgroup.com/",
      "baseUrl": "https://api.solaris-sandbox.de/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "A licensed German bank; production access needs a partner agreement, but the sandbox and full API docs are openly available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Solaris SE",
        "sourceUrl": "https://docs.solarisgroup.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "de-openplz",
      "slug": "de-openplz",
      "title": "OpenPLZ ~ DACH postal codes, places & streets",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "DE",
        "CH"
      ],
      "provider": "OpenPLZ API (OpenPotato)",
      "source": "OpenPLZ API (OpenPotato)",
      "sourceUrl": "https://www.openplzapi.org/en/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.openplzapi.org/en/",
      "baseUrl": "https://openplzapi.org/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free, keyless REST API covering Germany (plus AT, CH, LI); street data derived from OpenStreetMap.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "OpenPLZ API (OpenPotato)",
        "sourceUrl": "https://www.openplzapi.org/en/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-openligadb",
      "slug": "de-openligadb",
      "title": "OpenLigaDB ~ Bundesliga scores & fixtures",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "OpenLigaDB",
      "source": "OpenLigaDB",
      "sourceUrl": "https://api.openligadb.de/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.openligadb.de/",
      "baseUrl": "https://api.openligadb.de/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free, keyless community project; results are crowd-entered, so freshness can vary during live matches.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "OpenLigaDB",
        "sourceUrl": "https://api.openligadb.de/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-feiertage-api",
      "slug": "de-feiertage-api",
      "title": "Feiertage-API ~ German public holidays JSON",
      "category": "Government services",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Feiertage-API",
      "source": "Feiertage-API",
      "sourceUrl": "https://feiertage-api.de/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://feiertage-api.de/",
      "baseUrl": "https://feiertage-api.de/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free for any use including commercial; per-state holiday data compiled from Wikipedia, so verify against official sources for critical uses.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Feiertage-API",
        "sourceUrl": "https://feiertage-api.de/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "de-unzer-payments",
      "slug": "de-unzer-payments",
      "title": "Unzer ~ online payments & checkout API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "Unzer GmbH",
      "source": "Unzer GmbH",
      "sourceUrl": "https://docs.unzer.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.unzer.com/",
      "baseUrl": "https://api.unzer.com/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "German (Heidelberg) payment provider, formerly Heidelpay; public sandbox keys and SDKs, live use requires a merchant contract.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Unzer GmbH",
        "sourceUrl": "https://docs.unzer.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "de-sipgate-io",
      "slug": "de-sipgate-io",
      "title": "sipgate.io ~ voice, SMS & fax REST API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "DE"
      ],
      "provider": "sipgate GmbH",
      "source": "sipgate GmbH",
      "sourceUrl": "https://www.sipgate.io/rest-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.sipgate.io/rest-api",
      "baseUrl": "https://api.sipgate.com/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "German (Düsseldorf) telephony provider; the REST + push APIs are included with a sipgate account and use personal access tokens.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "sipgate GmbH",
        "sourceUrl": "https://www.sipgate.io/rest-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "es-banco-espana-stats",
      "slug": "es-banco-espana-stats",
      "title": "Banco de España ~ statistics data web service",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Banco de España",
      "source": "Banco de España",
      "sourceUrl": "https://www.bde.es/webbe/en/estadisticas/recursos/api-estadisticas-bde.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.bde.es/webbe/en/estadisticas/recursos/api-estadisticas-bde.html",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free JSON web service exposing every published Banco de España statistical series by its BIEST series code.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Banco de España",
        "sourceUrl": "https://www.bde.es/webbe/en/estadisticas/recursos/api-estadisticas-bde.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "es-ree-redata",
      "slug": "es-ree-redata",
      "title": "Red Eléctrica REData ~ electricity demand & generation",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Red Eléctrica de España",
      "source": "Red Eléctrica de España",
      "sourceUrl": "https://www.ree.es/en/datos/apidata",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.ree.es/en/datos/apidata",
      "baseUrl": "https://apidatos.ree.es",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless REST API (apidatos.ree.es) serving the same demand, generation and balance data behind REE's public REData widgets.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Red Eléctrica de España",
        "sourceUrl": "https://www.ree.es/en/datos/apidata",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "es-ree-esios",
      "slug": "es-ree-esios",
      "title": "REE ESIOS ~ electricity market prices & indicators",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Red Eléctrica de España (ESIOS)",
      "source": "Red Eléctrica de España (ESIOS)",
      "sourceUrl": "https://api.esios.ree.es/",
      "tier": "open",
      "kind": "realtime",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api.esios.ree.es/",
      "baseUrl": "https://api.esios.ree.es",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "System-operator API for market prices and thousands of energy indicators; free personal token issued by email on request.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Red Eléctrica de España (ESIOS)",
        "sourceUrl": "https://api.esios.ree.es/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "es-boe-datosabiertos",
      "slug": "es-boe-datosabiertos",
      "title": "BOE ~ official state gazette open-data API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Agencia Estatal Boletín Oficial del Estado",
      "source": "Agencia Estatal Boletín Oficial del Estado",
      "sourceUrl": "https://www.boe.es/datosabiertos/api/api.php",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.boe.es/datosabiertos/api/api.php",
      "baseUrl": "https://www.boe.es/datosabiertos/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "REST API over HTTPS returning BOE/BORME daily summaries and consolidated legislation with links to PDF, XML and HTML.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Agencia Estatal Boletín Oficial del Estado",
        "sourceUrl": "https://www.boe.es/datosabiertos/api/api.php",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "es-emt-madrid-mobilitylabs",
      "slug": "es-emt-madrid-mobilitylabs",
      "title": "EMT Madrid MobilityLabs ~ bus, bikes & mobility",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "EMT Madrid",
      "source": "EMT Madrid",
      "sourceUrl": "https://apidocs.emtmadrid.es/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://apidocs.emtmadrid.es/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Madrid's public transport operator offers a documented REST API for bus arrivals, stops, lines, GTFS and BiciMAD; free login gives x-ClientId/passKey.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "EMT Madrid",
        "sourceUrl": "https://apidocs.emtmadrid.es/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "es-tmb-barcelona",
      "slug": "es-tmb-barcelona",
      "title": "TMB Barcelona ~ metro & bus iBus arrival times",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Transports Metropolitans de Barcelona",
      "source": "Transports Metropolitans de Barcelona",
      "sourceUrl": "https://developer.tmb.cat/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.tmb.cat/",
      "baseUrl": "https://api.tmb.cat/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Barcelona's transit operator provides REST services for network, iBus arrivals, GTFS and multimodal routing; free app_id/app_key from the developer portal.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Transports Metropolitans de Barcelona",
        "sourceUrl": "https://developer.tmb.cat/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "es-monei",
      "slug": "es-monei",
      "title": "MONEI ~ payments incl. Bizum & cards for Spain",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "MONEI",
      "source": "MONEI",
      "sourceUrl": "https://docs.monei.com/apis/rest/",
      "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.monei.com/apis/rest/",
      "baseUrl": "https://api.monei.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Spanish payment gateway with a clean REST API and first-class support for Bizum, cards and local methods; per-transaction pricing.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "MONEI",
        "sourceUrl": "https://docs.monei.com/apis/rest/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "es-idealista",
      "slug": "es-idealista",
      "title": "Idealista ~ property listings & search (needs key)",
      "category": "Property",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "idealista",
      "source": "idealista",
      "sourceUrl": "https://developers.idealista.com/access-request",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.idealista.com/access-request",
      "baseUrl": "https://api.idealista.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Spain's leading property portal offers an official Search API; access is granted on request via an approval form, with OAuth2 client credentials.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "idealista",
        "sourceUrl": "https://developers.idealista.com/access-request",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "es-cartociudad-ign",
      "slug": "es-cartociudad-ign",
      "title": "CartoCiudad (IGN) ~ Spain address geocoder",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Instituto Geográfico Nacional (IGN)",
      "source": "Instituto Geográfico Nacional (IGN)",
      "sourceUrl": "https://github.com/IDEESpain/Cartociudad",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://github.com/IDEESpain/Cartociudad",
      "baseUrl": "https://www.cartociudad.es/geocoder/api/geocoder",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Spain's national mapping agency runs a free REST geocoder over its official address database, with forward, reverse and cadastral-reference lookups.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Instituto Geográfico Nacional (IGN)",
        "sourceUrl": "https://github.com/IDEESpain/Cartociudad",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "es-correos",
      "slug": "es-correos",
      "title": "Correos ~ Spanish post shipping, labels & tracking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Correos",
      "source": "Correos",
      "sourceUrl": "https://developers.correos.es/",
      "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.correos.es/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Spain's national postal operator runs a developer portal with REST APIs for label generation, pickups and shipment tracking; requires a transport contract.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Correos",
        "sourceUrl": "https://developers.correos.es/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "es-meteocat",
      "slug": "es-meteocat",
      "title": "Meteocat ~ Catalonia weather data & forecasts",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Servei Meteorològic de Catalunya",
      "source": "Servei Meteorològic de Catalunya",
      "sourceUrl": "https://apidocs.meteocat.gencat.cat/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://apidocs.meteocat.gencat.cat/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Catalonia's regional weather service offers a REST API for observations, forecasts and weather warnings; free citizen access plus paid professional tiers.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Servei Meteorològic de Catalunya",
        "sourceUrl": "https://apidocs.meteocat.gencat.cat/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "es-renfe-data",
      "slug": "es-renfe-data",
      "title": "Renfe Data ~ rail GTFS schedules & open data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Renfe",
      "source": "Renfe",
      "sourceUrl": "https://data.renfe.com/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.renfe.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Spain's national rail operator publishes an open-data portal with downloadable GTFS timetable feeds (Cercanías and more) and other datasets.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Renfe",
        "sourceUrl": "https://data.renfe.com/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "es-redsys",
      "slug": "es-redsys",
      "title": "Redsys ~ card payment gateway (TPV Virtual)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Redsys",
      "source": "Redsys",
      "sourceUrl": "https://pagosonline.redsys.es/desarrolladores-inicio/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://pagosonline.redsys.es/desarrolladores-inicio/",
      "baseUrl": "https://sis.redsys.es",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "The gateway behind most Spanish banks' virtual POS; documents Redirect, inSite and REST integrations with signed merchant credentials.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Redsys",
        "sourceUrl": "https://pagosonline.redsys.es/desarrolladores-inicio/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "es-face",
      "slug": "es-face",
      "title": "FACe ~ e-invoicing entry point for Spanish gov",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Gobierno de España (FACe)",
      "source": "Gobierno de España (FACe)",
      "sourceUrl": "https://administracionelectronica.gob.es/ctt/face",
      "tier": "open",
      "kind": "portal",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://administracionelectronica.gob.es/ctt/face",
      "baseUrl": "https://api.face.gob.es",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Spain's general entry point for electronic invoices to public administrations, with REST and SOAP web services signed by electronic certificate.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Gobierno de España (FACe)",
        "sourceUrl": "https://administracionelectronica.gob.es/ctt/face",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "es-opendata-bcn",
      "slug": "es-opendata-bcn",
      "title": "Open Data BCN ~ Barcelona city open-data (CKAN)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Ajuntament de Barcelona",
      "source": "Ajuntament de Barcelona",
      "sourceUrl": "https://opendata-ajuntament.barcelona.cat/en/desenvolupadors",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opendata-ajuntament.barcelona.cat/en/desenvolupadors",
      "baseUrl": "https://opendata-ajuntament.barcelona.cat/data/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Barcelona City Council's CKAN open-data portal with keyless catalogue, dataset and CSV-query APIs across hundreds of city datasets.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Ajuntament de Barcelona",
        "sourceUrl": "https://opendata-ajuntament.barcelona.cat/en/desenvolupadors",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-recherche-entreprises",
      "slug": "fr-recherche-entreprises",
      "title": "Recherche Entreprises ~ open French company search",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "DINUM / Etalab (api.gouv.fr)",
      "source": "DINUM / Etalab (api.gouv.fr)",
      "sourceUrl": "https://recherche-entreprises.api.gouv.fr/docs",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://recherche-entreprises.api.gouv.fr/docs",
      "baseUrl": "https://recherche-entreprises.api.gouv.fr/search",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless full-text search over France's public company register (SIRENE plus non-profit associations).",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DINUM / Etalab (api.gouv.fr)",
        "sourceUrl": "https://recherche-entreprises.api.gouv.fr/docs",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-legifrance",
      "slug": "fr-legifrance",
      "title": "Légifrance (DILA) ~ French law & legal texts API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "DILA (Direction de l'information légale et administrative)",
      "source": "DILA (Direction de l'information légale et administrative)",
      "sourceUrl": "https://www.legifrance.gouv.fr/contenu/pied-de-page/open-data-et-api",
      "tier": "open",
      "kind": "dataset",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.legifrance.gouv.fr/contenu/pied-de-page/open-data-et-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Programmatic access to French codes, laws, decrees and the Journal Officiel; free but requires OAuth2 registration on the PISTE portal.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "DILA (Direction de l'information légale et administrative)",
        "sourceUrl": "https://www.legifrance.gouv.fr/contenu/pied-de-page/open-data-et-api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "fr-dvf",
      "slug": "fr-dvf",
      "title": "DVF (Etalab) ~ French property sale prices",
      "category": "Property",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Etalab / DGFiP",
      "source": "Etalab / DGFiP",
      "sourceUrl": "https://www.data.gouv.fr/datasets/demandes-de-valeurs-foncieres",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.data.gouv.fr/datasets/demandes-de-valeurs-foncieres",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Every notarised real-estate sale in France since 2014 with price, surface and cadastral parcel; published as open data files plus an official web explorer at app.dvf.etalab.gouv.fr.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Etalab / DGFiP",
        "sourceUrl": "https://www.data.gouv.fr/datasets/demandes-de-valeurs-foncieres",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-georisques",
      "slug": "fr-georisques",
      "title": "Géorisques ~ natural & technological risk data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "BRGM / Ministère de la Transition écologique",
      "source": "BRGM / Ministère de la Transition écologique",
      "sourceUrl": "https://www.georisques.gouv.fr/doc-api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.georisques.gouv.fr/doc-api",
      "baseUrl": "https://georisques.gouv.fr/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Per-address flood, seismic, radon, soil-pollution and industrial-hazard reports; v1 endpoints are keyless.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "BRGM / Ministère de la Transition écologique",
        "sourceUrl": "https://www.georisques.gouv.fr/doc-api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-meteo-france",
      "slug": "fr-meteo-france",
      "title": "Météo-France ~ open weather data & vigilance API",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "FR"
      ],
      "provider": "Météo-France",
      "source": "Météo-France",
      "sourceUrl": "https://portail-api.meteofrance.fr/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://portail-api.meteofrance.fr/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official forecasts, observations and the national Vigilance weather-alert bulletin; free with an API token and per-minute quotas.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Météo-France",
        "sourceUrl": "https://portail-api.meteofrance.fr/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "fr-impact-co2",
      "slug": "fr-impact-co2",
      "title": "ADEME Impact CO2 ~ carbon footprint factors API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "ADEME (incubateur)",
      "source": "ADEME (incubateur)",
      "sourceUrl": "https://impactco2.fr/doc/api",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://impactco2.fr/doc/api",
      "baseUrl": "https://impactco2.fr/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Emission factors from ADEME's Base Carbone and Agribalyse to compute carbon equivalents; free with a key requested by email.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ADEME (incubateur)",
        "sourceUrl": "https://impactco2.fr/doc/api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "fr-eco2mix-odre",
      "slug": "fr-eco2mix-odre",
      "title": "ODRÉ éCO2mix ~ real-time French electricity mix",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "RTE / Open Data Réseaux Énergies",
      "source": "RTE / Open Data Réseaux Énergies",
      "sourceUrl": "https://odre.opendatasoft.com/explore/dataset/eco2mix-national-tr/api/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://odre.opendatasoft.com/explore/dataset/eco2mix-national-tr/api/",
      "baseUrl": "https://odre.opendatasoft.com/api/records/1.0/search/?dataset=eco2mix-national-tr",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "National consumption, generation by source and estimated CO2 intensity, refreshed every 15 minutes via the Opendatasoft API.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "RTE / Open Data Réseaux Énergies",
        "sourceUrl": "https://odre.opendatasoft.com/explore/dataset/eco2mix-national-tr/api/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-france-travail-offres",
      "slug": "fr-france-travail-offres",
      "title": "France Travail ~ live French job listings API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "France Travail (ex-Pôle emploi)",
      "source": "France Travail (ex-Pôle emploi)",
      "sourceUrl": "https://francetravail.io/data/documentation",
      "tier": "open",
      "kind": "dataset",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://francetravail.io/data/documentation",
      "baseUrl": "https://api.francetravail.io/partenaire/offresdemploi/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Real-time national job vacancies plus labour-market reference datasets; free via OAuth2 client-credentials after subscribing.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "France Travail (ex-Pôle emploi)",
        "sourceUrl": "https://francetravail.io/data/documentation",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "fr-geo-decoupage",
      "slug": "fr-geo-decoupage",
      "title": "API Géo ~ French communes, EPCI & regions",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Etalab / DINUM",
      "source": "Etalab / DINUM",
      "sourceUrl": "https://geo.api.gouv.fr/decoupage-administratif",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://geo.api.gouv.fr/decoupage-administratif",
      "baseUrl": "https://geo.api.gouv.fr",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless lookup of France's administrative divisions with names, INSEE codes, populations and boundary contours.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Etalab / DINUM",
        "sourceUrl": "https://geo.api.gouv.fr/decoupage-administratif",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-ign-geoplateforme",
      "slug": "fr-ign-geoplateforme",
      "title": "IGN Géoplateforme ~ French maps, geocoding & routing",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "IGN (Institut national de l'information géographique)",
      "source": "IGN (Institut national de l'information géographique)",
      "sourceUrl": "https://geoservices.ign.fr/documentation/services/services-geoplateforme",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://geoservices.ign.fr/documentation/services/services-geoplateforme",
      "baseUrl": "https://data.geopf.fr",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "WMTS/WMS/WFS map tiles, address and cadastral-parcel geocoding, routing and isochrones; most services are now keyless.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "IGN (Institut national de l'information géographique)",
        "sourceUrl": "https://geoservices.ign.fr/documentation/services/services-geoplateforme",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-velib-gbfs",
      "slug": "fr-velib-gbfs",
      "title": "Vélib' Métropole ~ Paris bike-share live GBFS",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Vélib' Métropole / Smovengo",
      "source": "Vélib' Métropole / Smovengo",
      "sourceUrl": "https://www.velib-metropole.fr/donnees-open-data-gbfs-du-service-velib-metropole",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.velib-metropole.fr/donnees-open-data-gbfs-du-service-velib-metropole",
      "baseUrl": "https://velib-metropole-opendata.smovengo.cloud/opendata/Velib_Metropole/gbfs.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Live station status and mechanical/electric bike availability for ~1,400 Paris stations, standard GBFS 1.0, keyless.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Vélib' Métropole / Smovengo",
        "sourceUrl": "https://www.velib-metropole.fr/donnees-open-data-gbfs-du-service-velib-metropole",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "fr-idfm-prim",
      "slug": "fr-idfm-prim",
      "title": "Île-de-France Mobilités PRIM ~ Paris transit realtime",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Île-de-France Mobilités",
      "source": "Île-de-France Mobilités",
      "sourceUrl": "https://prim.iledefrance-mobilites.fr/en/catalogue-data",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://prim.iledefrance-mobilites.fr/en/catalogue-data",
      "baseUrl": "https://prim.iledefrance-mobilites.fr/marketplace",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "SIRI real-time next departures, disruption messages and journey planning for RATP/SNCF/bus across Paris region; free API key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Île-de-France Mobilités",
        "sourceUrl": "https://prim.iledefrance-mobilites.fr/en/catalogue-data",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "fr-qonto",
      "slug": "fr-qonto",
      "title": "Qonto ~ French business banking API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Qonto",
      "source": "Qonto",
      "sourceUrl": "https://docs.qonto.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.qonto.com/",
      "baseUrl": "https://thirdparty.qonto.com/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Read and manage a Qonto business account—transactions, invoices, transfers, teams—via OAuth2 with a sandbox; needs a Qonto account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Qonto",
        "sourceUrl": "https://docs.qonto.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "fr-bridge",
      "slug": "fr-bridge",
      "title": "Bridge (Bankin') ~ open-banking data & payments",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Bridge by Bankin' Group",
      "source": "Bridge by Bankin' Group",
      "sourceUrl": "https://docs.bridgeapi.io/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.bridgeapi.io/",
      "baseUrl": "https://api.bridgeapi.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "PSD2-licensed account aggregation (AIS) and pay-by-bank initiation (PIS) across French and European banks through one integration.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Bridge by Bankin' Group",
        "sourceUrl": "https://docs.bridgeapi.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "fr-stancer",
      "slug": "fr-stancer",
      "title": "Stancer ~ French card & SEPA payment API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Stancer (Groupe Crédit Agricole)",
      "source": "Stancer (Groupe Crédit Agricole)",
      "sourceUrl": "https://www.stancer.com/documentation/fr/api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.stancer.com/documentation/fr/api/",
      "baseUrl": "https://api.stancer.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "RESTful card and SEPA payments, refunds, payouts and a hosted payment page; API-key auth via HTTP Basic.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Stancer (Groupe Crédit Agricole)",
        "sourceUrl": "https://www.stancer.com/documentation/fr/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "fr-bnf-gallica",
      "slug": "fr-bnf-gallica",
      "title": "BnF Gallica ~ digitized heritage & IIIF images API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "FR"
      ],
      "provider": "Bibliothèque nationale de France",
      "source": "Bibliothèque nationale de France",
      "sourceUrl": "https://api.bnf.fr/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.bnf.fr/",
      "baseUrl": "https://gallica.bnf.fr",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Search 7M+ digitised documents and fetch high-resolution IIIF images from France's national library; keyless.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bibliothèque nationale de France",
        "sourceUrl": "https://api.bnf.fr/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-oireachtas-opendata",
      "slug": "ie-oireachtas-opendata",
      "title": "Houses of the Oireachtas ~ debates, votes & PQs data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Houses of the Oireachtas",
      "source": "Houses of the Oireachtas",
      "sourceUrl": "https://api.oireachtas.ie/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.oireachtas.ie/",
      "baseUrl": "https://api.oireachtas.ie/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official parliamentary open-data API for debates, divisions (votes), members, bills and parliamentary questions; no key needed.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Houses of the Oireachtas",
        "sourceUrl": "https://api.oireachtas.ie/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-luas-forecasting",
      "slug": "ie-luas-forecasting",
      "title": "Transport Infrastructure Ireland ~ Luas forecasts",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "IE"
      ],
      "provider": "Transport Infrastructure Ireland (Luas)",
      "source": "Transport Infrastructure Ireland (Luas)",
      "sourceUrl": "https://data.gov.ie/dataset/luas-forecasting-api",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.gov.ie/dataset/luas-forecasting-api",
      "baseUrl": "https://luasforecasts.rpa.ie/xml/get.ashx",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless XML feed of predicted tram arrival times for every Red and Green line Luas stop in Dublin.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Transport Infrastructure Ireland (Luas)",
        "sourceUrl": "https://data.gov.ie/dataset/luas-forecasting-api",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-cro-openservices",
      "slug": "ie-cro-openservices",
      "title": "Companies Registration Office ~ Irish company data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Companies Registration Office (CRO)",
      "source": "Companies Registration Office (CRO)",
      "sourceUrl": "https://services.cro.ie/overview.aspx",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://services.cro.ie/overview.aspx",
      "baseUrl": "https://services.cro.ie/cws/companies",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official CRO Open Services RESTful API for company search, company details and filed-document listings; free registration required and some data is chargeable.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Companies Registration Office (CRO)",
        "sourceUrl": "https://services.cro.ie/overview.aspx",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ie-autoaddress-eircode",
      "slug": "ie-autoaddress-eircode",
      "title": "Autoaddress ~ Eircode address lookup & verification",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Autoaddress",
      "source": "Autoaddress",
      "sourceUrl": "https://docs.autoaddress.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.autoaddress.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Ireland's leading commercial address autocomplete, verification and Eircode lookup/geocoding API; requires a developer key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Autoaddress",
        "sourceUrl": "https://docs.autoaddress.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ie-tailte-geohive",
      "slug": "ie-tailte-geohive",
      "title": "Tailte Eireann GeoHive ~ national geospatial data",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Tailte Eireann (GeoHive)",
      "source": "Tailte Eireann (GeoHive)",
      "sourceUrl": "https://data-osi.opendata.arcgis.com/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data-osi.opendata.arcgis.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Ireland's national geospatial hub (Ordnance Survey successor) publishing authoritative boundaries, addresses and mapping via ArcGIS REST, WMS and WFS.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Tailte Eireann (GeoHive)",
        "sourceUrl": "https://data-osi.opendata.arcgis.com/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-dublinbikes-gbfs",
      "slug": "ie-dublinbikes-gbfs",
      "title": "dublinbikes ~ GBFS live station & bike availability",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "dublinbikes / JCDecaux",
      "source": "dublinbikes / JCDecaux",
      "sourceUrl": "https://data.smartdublin.ie/dataset/dublinbikes-api",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://data.smartdublin.ie/dataset/dublinbikes-api",
      "baseUrl": "https://api.cyclocity.fr/contracts/dublin/gbfs/gbfs.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Standard GBFS feed for Dublin's docked bike-share, keyless for station info/status; the richer JCDecaux JSON API needs a free key.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "dublinbikes / JCDecaux",
        "sourceUrl": "https://data.smartdublin.ie/dataset/dublinbikes-api",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-central-bank-opendata",
      "slug": "ie-central-bank-opendata",
      "title": "Central Bank of Ireland ~ financial statistics data",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Central Bank of Ireland",
      "source": "Central Bank of Ireland",
      "sourceUrl": "https://opendata.centralbank.ie/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://opendata.centralbank.ie/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open data portal cataloguing Irish financial-sector statistics (interest rates, mortgages, money & banking) with programmatic CKAN-style API access.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Central Bank of Ireland",
        "sourceUrl": "https://opendata.centralbank.ie/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-marine-institute-erddap",
      "slug": "ie-marine-institute-erddap",
      "title": "Marine Institute ~ ERDDAP ocean & buoy data server",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Marine Institute (Ireland)",
      "source": "Marine Institute (Ireland)",
      "sourceUrl": "https://erddap.marine.ie/erddap/rest.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://erddap.marine.ie/erddap/rest.html",
      "baseUrl": "https://erddap.marine.ie/erddap",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Ireland's Marine Institute ERDDAP server offers a RESTful web service over ocean, weather-buoy and model datasets in CSV, JSON, netCDF and more.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Marine Institute (Ireland)",
        "sourceUrl": "https://erddap.marine.ie/erddap/rest.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-epa-open-data",
      "slug": "ie-epa-open-data",
      "title": "EPA Ireland ~ environmental open data web services",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Environmental Protection Agency (Ireland)",
      "source": "Environmental Protection Agency (Ireland)",
      "sourceUrl": "https://data.epa.ie/api-list/",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://data.epa.ie/api-list/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "EPA Ireland's catalogue of HTTP open-data APIs covering bathing water, radiation, water framework directive, licensing/enforcement and more.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Environmental Protection Agency (Ireland)",
        "sourceUrl": "https://data.epa.ie/api-list/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "ie-logainm-placenames",
      "slug": "ie-logainm-placenames",
      "title": "Logainm ~ Placenames Database of Ireland API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Gaois / DCU & The Placenames Branch",
      "source": "Gaois / DCU & The Placenames Branch",
      "sourceUrl": "https://docs.gaois.ie/en/data/logainm/v1.0/api",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://docs.gaois.ie/en/data/logainm/v1.0/api",
      "baseUrl": "https://www.logainm.ie/api/v1.0/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Authoritative bilingual (Irish/English) placenames database exposed via a documented API; free credentials from the Gaois developer hub, CC BY 4.0 data.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Gaois / DCU & The Placenames Branch",
        "sourceUrl": "https://docs.gaois.ie/en/data/logainm/v1.0/api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ie-transfermate-payments",
      "slug": "ie-transfermate-payments",
      "title": "TransferMate ~ cross-border B2B payments API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "TransferMate",
      "source": "TransferMate",
      "sourceUrl": "https://developer.transfermate.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.transfermate.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Kilkenny-founded global payments firm; REST API (OAuth2) to embed international B2B payments across 200+ countries and 140+ currencies.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "TransferMate",
        "sourceUrl": "https://developer.transfermate.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "ie-nuapay-open-banking",
      "slug": "ie-nuapay-open-banking",
      "title": "Nuapay ~ open banking, SEPA & direct debit API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Nuapay (Sentenial)",
      "source": "Nuapay (Sentenial)",
      "sourceUrl": "https://developer.nuapay.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.nuapay.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Maynooth-based payments platform with documented APIs and webhooks for open banking, SEPA/Bacs direct debit and bank transfers; sandbox key available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Nuapay (Sentenial)",
        "sourceUrl": "https://developer.nuapay.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "ie-global-payments-gp-api",
      "slug": "ie-global-payments-gp-api",
      "title": "Global Payments ~ Realex online card payments API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IE"
      ],
      "provider": "Global Payments (Realex)",
      "source": "Global Payments (Realex)",
      "sourceUrl": "https://developer.globalpayments.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://developer.globalpayments.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Global Payments (which acquired Dublin's Realex Payments) offers the GP API and hosted fields/SDKs for online card acquiring across Europe.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Global Payments (Realex)",
        "sourceUrl": "https://developer.globalpayments.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-cashfree",
      "slug": "in-cashfree",
      "title": "Cashfree ~ payments, payouts & ID verification",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Cashfree Payments",
      "source": "Cashfree Payments",
      "sourceUrl": "https://www.cashfree.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.cashfree.com/docs/",
      "baseUrl": "https://api.cashfree.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "One of India's larger payment gateways; documents Payments, Payouts and a Secure ID (KYC/verification) suite with a full sandbox.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Cashfree Payments",
        "sourceUrl": "https://www.cashfree.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-payu",
      "slug": "in-payu",
      "title": "PayU India ~ online payment gateway & payouts",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "PayU Payments (India)",
      "source": "PayU Payments (India)",
      "sourceUrl": "https://docs.payu.in/",
      "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.payu.in/",
      "baseUrl": "https://secure.payu.in",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Major Indian payment gateway; docs cover hosted/merchant-hosted checkout, tokenization, EMI, recurring payments, refunds and settlement APIs.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PayU Payments (India)",
        "sourceUrl": "https://docs.payu.in/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-phonepe",
      "slug": "in-phonepe",
      "title": "PhonePe ~ UPI & payment gateway for merchants",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "PhonePe",
      "source": "PhonePe",
      "sourceUrl": "https://developer.phonepe.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.phonepe.com/",
      "baseUrl": "https://api.phonepe.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official developer docs for India's leading UPI app; covers web/mobile payment-gateway integration, Autopay, payment links and in-store QR/EDC.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PhonePe",
        "sourceUrl": "https://developer.phonepe.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-mappls",
      "slug": "in-mappls",
      "title": "Mappls (MapmyIndia) ~ maps, routing & geocoding",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Mappls (MapmyIndia)",
      "source": "Mappls (MapmyIndia)",
      "sourceUrl": "https://about.mappls.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://about.mappls.com/api/",
      "baseUrl": "https://apis.mappls.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "India-first mapping platform with 120+ APIs; the domestic alternative to Google Maps, with a free tier after signup at the Mappls console.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Mappls (MapmyIndia)",
        "sourceUrl": "https://about.mappls.com/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-ola-maps",
      "slug": "in-ola-maps",
      "title": "Ola Maps ~ maps, routing, places & geocoding",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Ola Krutrim",
      "source": "Ola Krutrim",
      "sourceUrl": "https://maps.olakrutrim.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://maps.olakrutrim.com/docs",
      "baseUrl": "https://api.olamaps.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Ola's homegrown maps stack (via Krutrim Cloud) offering routing, geocoding, places, roads and tiles with a free tier; a newer Indian Google Maps rival.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Ola Krutrim",
        "sourceUrl": "https://maps.olakrutrim.com/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-msg91",
      "slug": "in-msg91",
      "title": "MSG91 ~ SMS, OTP, WhatsApp & email API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "MSG91",
      "source": "MSG91",
      "sourceUrl": "https://docs.msg91.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.msg91.com/",
      "baseUrl": "https://control.msg91.com/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Popular Indian cloud-communications platform; a single authkey drives SMS, a dedicated OTP flow, WhatsApp, email and voice, with DLT-compliant Indian routing.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "MSG91",
        "sourceUrl": "https://docs.msg91.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-exotel",
      "slug": "in-exotel",
      "title": "Exotel ~ cloud telephony, voice & SMS",
      "category": "Communications",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Exotel",
      "source": "Exotel",
      "sourceUrl": "https://developer.exotel.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.exotel.com/",
      "baseUrl": "https://api.exotel.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Leading Indian cloud-telephony provider; docs cover programmable voice (v1/v2/v3), IVR, virtual numbers, DLT-compliant SMS and WhatsApp.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Exotel",
        "sourceUrl": "https://developer.exotel.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-gupshup",
      "slug": "in-gupshup",
      "title": "Gupshup ~ WhatsApp, SMS & conversational APIs",
      "category": "Communications",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Gupshup",
      "source": "Gupshup",
      "sourceUrl": "https://docs.gupshup.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.gupshup.io/",
      "baseUrl": "https://api.gupshup.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Large Indian conversational-messaging platform and a WhatsApp Business Solution Provider; also does SMS, RCS, Instagram and voice.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Gupshup",
        "sourceUrl": "https://docs.gupshup.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-apisetu",
      "slug": "in-apisetu",
      "title": "API Setu ~ India's government API marketplace",
      "category": "Government services",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Digital India Corporation (MeitY)",
      "source": "Digital India Corporation (MeitY)",
      "sourceUrl": "https://apisetu.gov.in/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://apisetu.gov.in/",
      "baseUrl": "https://apisetu.gov.in",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official MeitY platform aggregating hundreds of government and DigiLocker-issuer APIs (document pull, verification) in one discoverable marketplace.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Digital India Corporation (MeitY)",
        "sourceUrl": "https://apisetu.gov.in/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-reverie",
      "slug": "in-reverie",
      "title": "Reverie ~ Indian-language translation, TTS & STT",
      "category": "AI",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Reverie Language Technologies",
      "source": "Reverie Language Technologies",
      "sourceUrl": "https://docs.reverieinc.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.reverieinc.com/",
      "baseUrl": "https://revapi.reverieinc.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Indian-language NLP specialist (a Reliance Jio company); production APIs tuned for Indian accents, scripts and dialects.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Reverie Language Technologies",
        "sourceUrl": "https://docs.reverieinc.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-bhashini",
      "slug": "in-bhashini",
      "title": "Bhashini ~ Indian-language translation, ASR & TTS",
      "category": "AI",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Bhashini (Digital India Bhashini Division)",
      "source": "Bhashini (Digital India Bhashini Division)",
      "sourceUrl": "https://bhashini.gitbook.io/bhashini-apis",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://bhashini.gitbook.io/bhashini-apis",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "India's national language-translation mission; pipeline APIs chain ASR, translation (NMT) and TTS across 22 scheduled Indian languages, free after registration.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Bhashini (Digital India Bhashini Division)",
        "sourceUrl": "https://bhashini.gitbook.io/bhashini-apis",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-shiprocket",
      "slug": "in-shiprocket",
      "title": "Shiprocket ~ multi-courier shipping & tracking",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Shiprocket",
      "source": "Shiprocket",
      "sourceUrl": "https://apidocs.shiprocket.in/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://apidocs.shiprocket.in/",
      "baseUrl": "https://apiv2.shiprocket.in/v1/external",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "India's widely-used ecommerce shipping aggregator; REST APIs (bearer token valid 10 days) for orders, courier assignment, labels and tracking across many carriers.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Shiprocket",
        "sourceUrl": "https://apidocs.shiprocket.in/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "in-digio",
      "slug": "in-digio",
      "title": "Digio ~ Aadhaar eSign, eKYC & eNACH",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Digio",
      "source": "Digio",
      "sourceUrl": "https://documentation.digio.in/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://documentation.digio.in/",
      "baseUrl": "https://api.digio.in",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Indian digital-onboarding provider; APIs and SDKs for Aadhaar eSign, digital KYC, DSC signing and NPCI eNACH mandates, with a sandbox.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Digio",
        "sourceUrl": "https://documentation.digio.in/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "in-masters-india-gst",
      "slug": "in-masters-india-gst",
      "title": "Masters India ~ GST verification & e-invoicing",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "Masters India",
      "source": "Masters India",
      "sourceUrl": "https://docs.mastersindia.co/gst-verification-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.mastersindia.co/gst-verification-api",
      "baseUrl": "https://commonapi.mastersindia.co",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "A licensed GST Suvidha Provider (GSP); OAuth-token APIs for GSTIN verification/search, e-invoice (IRN) generation and e-way bills.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Masters India",
        "sourceUrl": "https://docs.mastersindia.co/gst-verification-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "in-imd-weather",
      "slug": "in-imd-weather",
      "title": "IMD ~ India Met Dept weather forecasts",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "IN"
      ],
      "provider": "India Meteorological Department",
      "source": "India Meteorological Department",
      "sourceUrl": "https://mausam.imd.gov.in/responsive/apis.php",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://mausam.imd.gov.in/responsive/apis.php",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official Indian government weather source; free APIs for city forecasts, current weather, rainfall, nowcasts and CAP warnings, but access requires IP whitelisting.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "India Meteorological Department",
        "sourceUrl": "https://mausam.imd.gov.in/responsive/apis.php",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-terna-transparency",
      "slug": "it-terna-transparency",
      "title": "Terna ~ Italian electricity grid transparency data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Terna",
      "source": "Terna",
      "sourceUrl": "https://developer.terna.it/docs/read/apis_catalog",
      "tier": "open",
      "kind": "dataset",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.terna.it/docs/read/apis_catalog",
      "baseUrl": "https://api.terna.it",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free public data but requires portal registration and an OAuth2 token; hourly Italian power-system time series.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Terna",
        "sourceUrl": "https://developer.terna.it/docs/read/apis_catalog",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "it-viaggiatreno",
      "slug": "it-viaggiatreno",
      "title": "ViaggiaTreno ~ live Italian train status & delays",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "ViaggiaTreno (Trenitalia / RFI)",
      "source": "ViaggiaTreno (Trenitalia / RFI)",
      "sourceUrl": "https://github.com/MarcoBuster/railway-opendata/blob/master/docs/VIAGGIATRENO.md",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/MarcoBuster/railway-opendata/blob/master/docs/VIAGGIATRENO.md",
      "baseUrl": "http://www.viaggiatreno.it/infomobilita/resteasy/viaggiatreno",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Unofficial, undocumented endpoint that powers Trenitalia's own site; community-documented, no key, and may change without notice.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "ViaggiaTreno (Trenitalia / RFI)",
        "sourceUrl": "https://github.com/MarcoBuster/railway-opendata/blob/master/docs/VIAGGIATRENO.md",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-scalapay",
      "slug": "it-scalapay",
      "title": "Scalapay ~ buy-now-pay-later checkout",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Scalapay",
      "source": "Scalapay",
      "sourceUrl": "https://developers.scalapay.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.scalapay.com/",
      "baseUrl": "https://api.scalapay.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Merchant integration requires a Scalapay partner account and a production API key (prefix sp_).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Scalapay",
        "sourceUrl": "https://developers.scalapay.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "it-nexi-xpay",
      "slug": "it-nexi-xpay",
      "title": "Nexi XPay ~ card & e-commerce payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Nexi",
      "source": "Nexi",
      "sourceUrl": "https://developer.nexi.it/en/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://developer.nexi.it/en/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Requires a Nexi merchant contract; each call carries the terminal's X-Api-Key header.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Nexi",
        "sourceUrl": "https://developer.nexi.it/en/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "it-pagopa",
      "slug": "it-pagopa",
      "title": "PagoPA ~ payments to Italian public administration",
      "category": "Payments",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "PagoPA S.p.A.",
      "source": "PagoPA S.p.A.",
      "sourceUrl": "https://developer.pagopa.it/pago-pa/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://developer.pagopa.it/pago-pa/api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "National public-payment platform; integration requires accreditation as a public body (ente) or payment-service provider.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PagoPA S.p.A.",
        "sourceUrl": "https://developer.pagopa.it/pago-pa/api",
        "sourceType": "Curated source",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "it-anac-opendata",
      "slug": "it-anac-opendata",
      "title": "ANAC ~ Italian public contracts open data (OCDS)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "ANAC (Autorita Nazionale Anticorruzione)",
      "source": "ANAC (Autorita Nazionale Anticorruzione)",
      "sourceUrl": "https://dati.anticorruzione.it/opendata",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://dati.anticorruzione.it/opendata",
      "baseUrl": "https://dati.anticorruzione.it/opendata",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Bulk open datasets plus tenders/awards in Open Contracting Data Standard JSON; no key, updated monthly.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "ANAC (Autorita Nazionale Anticorruzione)",
        "sourceUrl": "https://dati.anticorruzione.it/opendata",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-openpolis-opdm",
      "slug": "it-openpolis-opdm",
      "title": "Openpolis ~ Italian politicians & power database",
      "category": "Government services",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Openpolis",
      "source": "Openpolis",
      "sourceUrl": "https://service.opdm.openpolis.io/about/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://service.opdm.openpolis.io/about/",
      "baseUrl": "https://service.opdm.openpolis.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Anonymous read access up to ~10,000 requests/day; free registration lifts the limit.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Openpolis",
        "sourceUrl": "https://service.opdm.openpolis.io/about/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-ispra-idrogeo",
      "slug": "it-ispra-idrogeo",
      "title": "ISPRA IdroGEO ~ Italy landslide & flood hazard data",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "ISPRA",
      "source": "ISPRA",
      "sourceUrl": "https://idrogeo.isprambiente.it/app/page/open-data",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://idrogeo.isprambiente.it/app/page/open-data",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open geospatial data and a REST API behind the national IFFI landslide inventory and flood hazard maps.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "ISPRA",
        "sourceUrl": "https://idrogeo.isprambiente.it/app/page/open-data",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-atm-milano-gtfs",
      "slug": "it-atm-milano-gtfs",
      "title": "ATM Milano ~ Milan public transport GTFS",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Comune di Milano / ATM (AMAT)",
      "source": "Comune di Milano / ATM (AMAT)",
      "sourceUrl": "https://dati.comune.milano.it/dataset/ds929-orari-del-trasporto-pubblico-locale-nel-comune-di-milano-in-formato-gtfs",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://dati.comune.milano.it/dataset/ds929-orari-del-trasporto-pubblico-locale-nel-comune-di-milano-in-formato-gtfs",
      "baseUrl": "https://dati.comune.milano.it/gtfs.zip",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Static GTFS zip published by the City of Milan for ATM's network; refreshed roughly every 2-4 weeks.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Comune di Milano / ATM (AMAT)",
        "sourceUrl": "https://dati.comune.milano.it/dataset/ds929-orari-del-trasporto-pubblico-locale-nel-comune-di-milano-in-formato-gtfs",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-atac-roma-gtfs",
      "slug": "it-atac-roma-gtfs",
      "title": "ATAC Roma ~ Rome transit GTFS & realtime",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Roma Mobilita (ATAC)",
      "source": "Roma Mobilita (ATAC)",
      "sourceUrl": "https://romamobilita.it/it/tecnologie/open-data",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://romamobilita.it/it/tecnologie/open-data",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "GTFS static timetables plus a public GTFS-Realtime feed maintained by Roma Mobilita for ATAC and Roma TPL.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Roma Mobilita (ATAC)",
        "sourceUrl": "https://romamobilita.it/it/tecnologie/open-data",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "it-infocamere-registro",
      "slug": "it-infocamere-registro",
      "title": "InfoCamere ~ Italian business register API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "InfoCamere",
      "source": "InfoCamere",
      "sourceUrl": "https://accessoallebanchedati.registroimprese.it/abdo/en/api?lang=en",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://accessoallebanchedati.registroimprese.it/abdo/en/api?lang=en",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official but commercial and institutional; requires SPID/CIE/CNS onboarding and uses per-document pricing.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "InfoCamere",
        "sourceUrl": "https://accessoallebanchedati.registroimprese.it/abdo/en/api?lang=en",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "it-openapi-sdi",
      "slug": "it-openapi-sdi",
      "title": "Openapi ~ Italian e-invoicing (SDI) API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Openapi",
      "source": "Openapi",
      "sourceUrl": "https://console.openapi.com/apis/sdi/documentation",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://console.openapi.com/apis/sdi/documentation",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Commercial Italian API vendor; per-invoice pricing with a sandbox, handles signature, SDI submission and legal storage.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Openapi",
        "sourceUrl": "https://console.openapi.com/apis/sdi/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "it-fabrick-openbanking",
      "slug": "it-fabrick-openbanking",
      "title": "Fabrick ~ Italian open banking & payments API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Fabrick",
      "source": "Fabrick",
      "sourceUrl": "https://docs.fabrick.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.fabrick.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Bank of Italy-licensed AISP/PISP; sandbox is free, production requires onboarding and contracts.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Fabrick",
        "sourceUrl": "https://docs.fabrick.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "it-opencoesione",
      "slug": "it-opencoesione",
      "title": "OpenCoesione ~ EU cohesion funds project data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "OpenCoesione (Dip. Politiche di Coesione)",
      "source": "OpenCoesione (Dip. Politiche di Coesione)",
      "sourceUrl": "https://opencoesione.gov.it/it/opendata/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://opencoesione.gov.it/it/opendata/",
      "baseUrl": "https://opencoesione.gov.it/it/opendata/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Downloadable open datasets on EU/national cohesion-funded projects, payments and indicators; no key, updated bimonthly.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "OpenCoesione (Dip. Politiche di Coesione)",
        "sourceUrl": "https://opencoesione.gov.it/it/opendata/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "jp-gsi-maps",
      "slug": "jp-gsi-maps",
      "title": "GSI ~ Japan map tiles, elevation & geocoding",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "Geospatial Information Authority of Japan (国土地理院)",
      "source": "Geospatial Information Authority of Japan (国土地理院)",
      "sourceUrl": "https://maps.gsi.go.jp/development/siyou.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://maps.gsi.go.jp/development/siyou.html",
      "baseUrl": "https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official national mapping agency XYZ tiles usable commercially with GSI attribution.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Geospatial Information Authority of Japan (国土地理院)",
        "sourceUrl": "https://maps.gsi.go.jp/development/siyou.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "jp-houjin-bangou",
      "slug": "jp-houjin-bangou",
      "title": "National Tax Agency ~ corporate number API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "National Tax Agency (国税庁)",
      "source": "National Tax Agency (国税庁)",
      "sourceUrl": "https://www.houjin-bangou.nta.go.jp/webapi/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.houjin-bangou.nta.go.jp/webapi/",
      "baseUrl": "https://api.houjin-bangou.nta.go.jp/4/num",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free application ID required per request; returns official 13-digit corporate numbers as CSV/XML under CC BY 4.0.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "National Tax Agency (国税庁)",
        "sourceUrl": "https://www.houjin-bangou.nta.go.jp/webapi/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-rakuten-webservice",
      "slug": "jp-rakuten-webservice",
      "title": "Rakuten ~ Ichiba, Books, Travel & Recipe Web Service",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "Rakuten Group",
      "source": "Rakuten Group",
      "sourceUrl": "https://webservice.rakuten.co.jp/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://webservice.rakuten.co.jp/documentation",
      "baseUrl": "https://app.rakuten.co.jp/services/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free Application ID; family of read APIs across Rakuten Ichiba, Books, Travel, Recipe and Kobo with rate limits.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Rakuten Group",
        "sourceUrl": "https://webservice.rakuten.co.jp/documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-yahoo-yolp",
      "slug": "jp-yahoo-yolp",
      "title": "Yahoo! JAPAN ~ YOLP maps, geocoding & local search",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "LY Corporation (Yahoo! JAPAN)",
      "source": "LY Corporation (Yahoo! JAPAN)",
      "sourceUrl": "https://developer.yahoo.co.jp/webapi/map/",
      "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.yahoo.co.jp/webapi/map/",
      "baseUrl": "https://map.yahooapis.jp",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free Client ID (appid) from Yahoo! Developer Network; strong Japan-local POI, geocoding and routing coverage.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "LY Corporation (Yahoo! JAPAN)",
        "sourceUrl": "https://developer.yahoo.co.jp/webapi/map/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-payjp",
      "slug": "jp-payjp",
      "title": "PAY.JP ~ Japanese card payments API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "PAY, Inc. (BASE group)",
      "source": "PAY, Inc. (BASE group)",
      "sourceUrl": "https://pay.jp/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://pay.jp/docs/api/",
      "baseUrl": "https://api.pay.jp/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Stripe-like REST API with test keys free; tokenized card input, subscriptions and marketplace payouts for Japan.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PAY, Inc. (BASE group)",
        "sourceUrl": "https://pay.jp/docs/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-komoju",
      "slug": "jp-komoju",
      "title": "KOMOJU ~ konbini, PayPay & Japan payment methods",
      "category": "Payments",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "Degica Co., Ltd.",
      "source": "Degica Co., Ltd.",
      "sourceUrl": "https://docs.komoju.com/en/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.komoju.com/en/api/overview/",
      "baseUrl": "https://komoju.com/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "One API for konbini, PayPay, Merpay, Paidy, bank transfer and cards; strong for foreign merchants selling into Japan.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Degica Co., Ltd.",
        "sourceUrl": "https://docs.komoju.com/en/api/overview/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-ndl-search",
      "slug": "jp-ndl-search",
      "title": "National Diet Library ~ bibliographic search API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "National Diet Library (国立国会図書館)",
      "source": "National Diet Library (国立国会図書館)",
      "sourceUrl": "https://ndlsearch.ndl.go.jp/en/help/api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://ndlsearch.ndl.go.jp/en/help/api",
      "baseUrl": "https://ndlsearch.ndl.go.jp/api/opensearch",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Standards-based SRU / OpenSearch / OAI-PMH over Japan's national library catalogue; thumbnail API included.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Diet Library (国立国会図書館)",
        "sourceUrl": "https://ndlsearch.ndl.go.jp/en/help/api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "jp-line-messaging",
      "slug": "jp-line-messaging",
      "title": "LINE ~ Messaging API for bots & notifications",
      "category": "Communications",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "LINE Corporation (LY Corporation)",
      "source": "LINE Corporation (LY Corporation)",
      "sourceUrl": "https://developers.line.biz/en/docs/messaging-api/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.line.biz/en/docs/messaging-api/",
      "baseUrl": "https://api.line.me/v2/bot",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Japan's dominant chat app; reach users via a LINE Official Account with rich messages, quick replies and webhooks.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "LINE Corporation (LY Corporation)",
        "sourceUrl": "https://developers.line.biz/en/docs/messaging-api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "jp-ekispert",
      "slug": "jp-ekispert",
      "title": "Ekispert ~ train route search & station data API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "Val Laboratory Corporation (ヴァル研究所)",
      "source": "Val Laboratory Corporation (ヴァル研究所)",
      "sourceUrl": "https://docs.ekispert.com/v1/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.ekispert.com/v1/api/",
      "baseUrl": "https://api.ekispert.jp/v1/json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Long-standing 駅すぱあと engine; free plan available for station data and route/fare search across Japan.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Val Laboratory Corporation (ヴァル研究所)",
        "sourceUrl": "https://docs.ekispert.com/v1/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-odpt",
      "slug": "jp-odpt",
      "title": "ODPT ~ Tokyo transit realtime open data",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "JP"
      ],
      "provider": "Association for Open Data of Public Transportation",
      "source": "Association for Open Data of Public Transportation",
      "sourceUrl": "https://developer.odpt.org/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.odpt.org/",
      "baseUrl": "https://api.odpt.org/api/v4",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free consumer key after registration; JSON and GTFS feeds for rail, bus, ferry and air, including realtime train positions.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Association for Open Data of Public Transportation",
        "sourceUrl": "https://developer.odpt.org/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-postcodejp",
      "slug": "jp-postcodejp",
      "title": "PostcodeJP ~ Japanese postal code & address API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "PostcodeJP",
      "source": "PostcodeJP",
      "sourceUrl": "https://api-doc.postcode-jp.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://api-doc.postcode-jp.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Managed, CORS-enabled postal-code lookup with English/Japanese fields; free tier plus paid plans.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PostcodeJP",
        "sourceUrl": "https://api-doc.postcode-jp.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "jp-fincode-gmo",
      "slug": "jp-fincode-gmo",
      "title": "fincode by GMO ~ REST payments for startups",
      "category": "Payments",
      "group": "Build",
      "country": [
        "JP"
      ],
      "provider": "GMO Epsilon / GMO Payment Gateway",
      "source": "GMO Epsilon / GMO Payment Gateway",
      "sourceUrl": "https://docs.fincode.jp/api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.fincode.jp/api",
      "baseUrl": "https://api.fincode.jp/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "GMO's modern REST payment platform; instant test environment, cards, Google Pay, virtual-account bank transfer and subscriptions.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "GMO Epsilon / GMO Payment Gateway",
        "sourceUrl": "https://docs.fincode.jp/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "kr-naver-search",
      "slug": "kr-naver-search",
      "title": "Naver Search ~ blog/news/shopping search API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Naver",
      "source": "Naver",
      "sourceUrl": "https://developers.naver.com/docs/serviceapi/search/blog/blog.md",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.naver.com/docs/serviceapi/search/blog/blog.md",
      "baseUrl": "https://openapi.naver.com/v1/search",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free generous daily quota (~25k calls/day) via a Naver Developers app; results are Korean-market-tuned.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Naver",
        "sourceUrl": "https://developers.naver.com/docs/serviceapi/search/blog/blog.md",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-papago-translation",
      "slug": "kr-papago-translation",
      "title": "Papago ~ neural machine translation API",
      "category": "AI",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Naver Cloud Platform",
      "source": "Naver Cloud Platform",
      "sourceUrl": "https://api.ncloud-docs.com/docs/en/ai-naver-papagonmt",
      "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.ncloud-docs.com/docs/en/ai-naver-papagonmt",
      "baseUrl": "https://papago.apigw.ntruss.com/nmt/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Best-in-class Korean<->EN/JP/CN translation; NCP does not store or train on your source text.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Naver Cloud Platform",
        "sourceUrl": "https://api.ncloud-docs.com/docs/en/ai-naver-papagonmt",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-clova-ocr",
      "slug": "kr-clova-ocr",
      "title": "CLOVA OCR ~ Korean document text extraction",
      "category": "AI",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Naver Cloud Platform",
      "source": "Naver Cloud Platform",
      "sourceUrl": "https://api.ncloud-docs.com/docs/en/ai-application-service-ocr",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://api.ncloud-docs.com/docs/en/ai-application-service-ocr",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Each OCR domain you create gets its own invokeURL from the NCP console, so there is no single global base URL.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Naver Cloud Platform",
        "sourceUrl": "https://api.ncloud-docs.com/docs/en/ai-application-service-ocr",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-kakao-login",
      "slug": "kr-kakao-login",
      "title": "Kakao Login ~ OAuth social sign-in for Korea",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Kakao",
      "source": "Kakao",
      "sourceUrl": "https://developers.kakao.com/docs/latest/en/kakaologin/rest-api",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developers.kakao.com/docs/latest/en/kakaologin/rest-api",
      "baseUrl": "https://kapi.kakao.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "KakaoTalk is near-ubiquitous in Korea, making Kakao Login the default social sign-in for local apps.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Kakao",
        "sourceUrl": "https://developers.kakao.com/docs/latest/en/kakaologin/rest-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "kr-naver-cloud-maps",
      "slug": "kr-naver-cloud-maps",
      "title": "Naver Cloud Maps ~ geocoding & directions",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Naver Cloud Platform",
      "source": "Naver Cloud Platform",
      "sourceUrl": "https://guide.ncloud-docs.com/docs/en/maps-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://guide.ncloud-docs.com/docs/en/maps-overview",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Korea's most detailed local map data; endpoints are issued per registered application in the NCP console.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Naver Cloud Platform",
        "sourceUrl": "https://guide.ncloud-docs.com/docs/en/maps-overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-toss-payments",
      "slug": "kr-toss-payments",
      "title": "Toss Payments ~ cards & Korean pay methods",
      "category": "Payments",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Toss Payments",
      "source": "Toss Payments",
      "sourceUrl": "https://docs.tosspayments.com/en/api-guide",
      "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.tosspayments.com/en/api-guide",
      "baseUrl": "https://api.tosspayments.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Test keys (test_sk_...) let you fully sandbox card, transfer and virtual-account flows before going live.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Toss Payments",
        "sourceUrl": "https://docs.tosspayments.com/en/api-guide",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-kakaopay-online",
      "slug": "kr-kakaopay-online",
      "title": "KakaoPay ~ online payment ready/approve API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Kakao Pay",
      "source": "Kakao Pay",
      "sourceUrl": "https://developers.kakaopay.com/docs/payment/online/common",
      "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.kakaopay.com/docs/payment/online/common",
      "baseUrl": "https://open-api.kakaopay.com/online/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "One of Korea's most-used wallets; the classic ready -> approve two-step flow drives a KakaoTalk payment prompt.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Kakao Pay",
        "sourceUrl": "https://developers.kakaopay.com/docs/payment/online/common",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-portone-iamport",
      "slug": "kr-portone-iamport",
      "title": "PortOne (i'mport) ~ multi-PG payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "PortOne",
      "source": "PortOne",
      "sourceUrl": "https://developers.portone.io/api/rest-v2",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.portone.io/api/rest-v2",
      "baseUrl": "https://api.iamport.kr",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Aggregator: integrate once and switch between Korean PGs (KG INICIS, Toss, KakaoPay, NICE) without re-coding.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "PortOne",
        "sourceUrl": "https://developers.portone.io/api/rest-v2",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "kr-opendart-filings",
      "slug": "kr-opendart-filings",
      "title": "Open DART ~ Korean corporate filings & financials",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Financial Supervisory Service (FSS)",
      "source": "Financial Supervisory Service (FSS)",
      "sourceUrl": "https://opendart.fss.or.kr/intro/main.do",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opendart.fss.or.kr/intro/main.do",
      "baseUrl": "https://opendart.fss.or.kr/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free official access to every KOSPI/KOSDAQ disclosure; an English intro is at engopendart.fss.or.kr.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Financial Supervisory Service (FSS)",
        "sourceUrl": "https://opendart.fss.or.kr/intro/main.do",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-koreaexim-fx",
      "slug": "kr-koreaexim-fx",
      "title": "Korea Eximbank ~ daily FX exchange rates",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Export-Import Bank of Korea",
      "source": "Export-Import Bank of Korea",
      "sourceUrl": "https://www.koreaexim.go.kr/ir/HPHKIR020M01?apino=2&viewtype=C",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.koreaexim.go.kr/ir/HPHKIR020M01?apino=2&viewtype=C",
      "baseUrl": "https://oapi.koreaexim.go.kr/site/program/financial/exchangeJSON",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Request host migrated to oapi.koreaexim.go.kr in 2025; a free auth key comes from simple verification.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Export-Import Bank of Korea",
        "sourceUrl": "https://www.koreaexim.go.kr/ir/HPHKIR020M01?apino=2&viewtype=C",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-kma-village-forecast",
      "slug": "kr-kma-village-forecast",
      "title": "KMA ~ short-term village weather forecast",
      "category": "Government services",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Korea Meteorological Administration",
      "source": "Korea Meteorological Administration",
      "sourceUrl": "https://www.data.go.kr/data/15084084/openapi.do",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.data.go.kr/data/15084084/openapi.do",
      "baseUrl": "https://apis.data.go.kr/1360000/VilageFcstInfoService_2.0",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Nation split into a 5km grid; you convert lat/long to grid (nx, ny) before calling. Key from data.go.kr.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Korea Meteorological Administration",
        "sourceUrl": "https://www.data.go.kr/data/15084084/openapi.do",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-airkorea-air-quality",
      "slug": "kr-airkorea-air-quality",
      "title": "AirKorea ~ real-time air quality (PM2.5/PM10)",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "KR"
      ],
      "provider": "Korea Environment Corporation",
      "source": "Korea Environment Corporation",
      "sourceUrl": "https://www.data.go.kr/data/15073861/openapi.do",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.data.go.kr/data/15073861/openapi.do",
      "baseUrl": "https://apis.data.go.kr/B552584/ArpltnInforInqireSvc",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free key via data.go.kr; dev accounts are capped at ~500 calls/day (10k for operational).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Korea Environment Corporation",
        "sourceUrl": "https://www.data.go.kr/data/15073861/openapi.do",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-tourapi-visitkorea",
      "slug": "kr-tourapi-visitkorea",
      "title": "Korea Tourism (TourAPI) ~ attractions & events",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Korea Tourism Organization (KTO)",
      "source": "Korea Tourism Organization (KTO)",
      "sourceUrl": "https://api.visitkorea.or.kr/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api.visitkorea.or.kr/",
      "baseUrl": "https://apis.data.go.kr/B551011/KorService1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "~260k curated items across 15 categories from VisitKorea; multilingual services exist alongside KorService.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Korea Tourism Organization (KTO)",
        "sourceUrl": "https://api.visitkorea.or.kr/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "kr-seoul-topis-bus",
      "slug": "kr-seoul-topis-bus",
      "title": "Seoul TOPIS ~ real-time bus arrival info",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "KR"
      ],
      "provider": "Seoul Metropolitan Government (TOPIS)",
      "source": "Seoul Metropolitan Government (TOPIS)",
      "sourceUrl": "https://topis.seoul.go.kr/refRoom/openRefRoom_4.do",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://topis.seoul.go.kr/refRoom/openRefRoom_4.do",
      "baseUrl": "http://ws.bus.go.kr/api/rest",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Tracks ~9,000 Seoul buses at ~99% accuracy; keys are issued through the Seoul open-data platform.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Seoul Metropolitan Government (TOPIS)",
        "sourceUrl": "https://topis.seoul.go.kr/refRoom/openRefRoom_4.do",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "mx-facturama",
      "slug": "mx-facturama",
      "title": "Facturama ~ CFDI 4.0 e-invoicing stamping (SAT)",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Facturama",
      "source": "Facturama",
      "sourceUrl": "https://apisandbox.facturama.mx/Docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://apisandbox.facturama.mx/Docs",
      "baseUrl": "https://apisandbox.facturama.mx/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Certified PAC providing an open sandbox so you can test CFDI 4.0 stamping before going live.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Facturama",
        "sourceUrl": "https://apisandbox.facturama.mx/Docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "mx-satws",
      "slug": "mx-satws",
      "title": "Satws ~ SAT fiscal data & CFDI retrieval API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Satws (Syntage)",
      "source": "Satws (Syntage)",
      "sourceUrl": "https://sat.ws/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://sat.ws/docs/api/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Pulls a taxpayer's own fiscal data from the SAT with their credentials; now branded Syntage.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Satws (Syntage)",
        "sourceUrl": "https://sat.ws/docs/api/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "mx-bitso",
      "slug": "mx-bitso",
      "title": "Bitso ~ crypto exchange trading & payments API",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Bitso",
      "source": "Bitso",
      "sourceUrl": "https://docs.bitso.com/bitso-api/docs/api-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://docs.bitso.com/bitso-api/docs/api-overview",
      "baseUrl": "https://api.bitso.com/v3/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Public market-data endpoints are free and keyless; trading/account endpoints need HMAC-signed keys.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Bitso",
        "sourceUrl": "https://docs.bitso.com/bitso-api/docs/api-overview",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "mx-belvo",
      "slug": "mx-belvo",
      "title": "Belvo ~ open finance data & payments (LatAm)",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Belvo",
      "source": "Belvo",
      "sourceUrl": "https://developers.belvo.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.belvo.com/",
      "baseUrl": "https://api.belvo.com/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Sandbox uses dummy data so you can build the whole link/widget flow before production access.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Belvo",
        "sourceUrl": "https://developers.belvo.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "mx-prometeo",
      "slug": "mx-prometeo",
      "title": "Prometeo ~ single banking & SPEI payments API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Prometeo",
      "source": "Prometeo",
      "sourceUrl": "https://docs.prometeoapi.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.prometeoapi.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "One API abstracts hundreds of bank connections across ten LatAm countries, including Mexico.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Prometeo",
        "sourceUrl": "https://docs.prometeoapi.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "mx-openpay",
      "slug": "mx-openpay",
      "title": "Openpay ~ card, cash & SPEI payments (BBVA)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Openpay (BBVA)",
      "source": "Openpay (BBVA)",
      "sourceUrl": "https://documents.openpay.mx/en/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://documents.openpay.mx/en/api",
      "baseUrl": "https://api.openpay.mx/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "BBVA-owned processor; separate sandbox base host lets you test before switching to production keys.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Openpay (BBVA)",
        "sourceUrl": "https://documents.openpay.mx/en/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "mx-clip",
      "slug": "mx-clip",
      "title": "Clip ~ card payments & hosted checkout API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Clip",
      "source": "Clip",
      "sourceUrl": "https://developer.clip.mx/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.clip.mx/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Popular Mexican SoftPOS/reader brand; docs even publish an llms.txt index for AI agents.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Clip",
        "sourceUrl": "https://developer.clip.mx/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "mx-mercadopago",
      "slug": "mx-mercadopago",
      "title": "Mercado Pago ~ checkout & payments API (Mexico)",
      "category": "Payments",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Mercado Pago",
      "source": "Mercado Pago",
      "sourceUrl": "https://www.mercadopago.com.mx/developers/en/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://www.mercadopago.com.mx/developers/en/docs",
      "baseUrl": "https://api.mercadopago.com/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "MercadoLibre's payments arm; Mexico portal documents local methods and OAuth access tokens.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Mercado Pago",
        "sourceUrl": "https://www.mercadopago.com.mx/developers/en/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "mx-palenca",
      "slug": "mx-palenca",
      "title": "Palenca ~ gig-worker income & employment data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Palenca",
      "source": "Palenca",
      "sourceUrl": "https://developers.palenca.com/docs/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://developers.palenca.com/docs/getting-started",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "User-consented payroll/gig data; connects to Uber, Rappi, Didi and formal-employment sources.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Palenca",
        "sourceUrl": "https://developers.palenca.com/docs/getting-started",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "mx-truora",
      "slug": "mx-truora",
      "title": "Truora ~ identity & background-check API (LatAm)",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "MX"
      ],
      "provider": "Truora",
      "source": "Truora",
      "sourceUrl": "https://dev.truora.com/docs/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://dev.truora.com/docs/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "YC-backed; covers Mexico plus five other LatAm countries with a Truora-API-Key header.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Truora",
        "sourceUrl": "https://dev.truora.com/docs/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-squad-gtco",
      "slug": "ng-squad-gtco",
      "title": "Squad by GTCO ~ payments, virtual accounts & payouts",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "HabariPay (Squad by GTCO)",
      "source": "HabariPay (Squad by GTCO)",
      "sourceUrl": "https://docs.squadco.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.squadco.com/",
      "baseUrl": "https://api-d.squadco.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "GTCO/HabariPay's gateway; free sandbox account issues test keys instantly.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "HabariPay (Squad by GTCO)",
        "sourceUrl": "https://docs.squadco.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "ng-korapay",
      "slug": "ng-korapay",
      "title": "Korapay ~ pan-African payments, cards & payouts",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Kora (Korapay)",
      "source": "Kora (Korapay)",
      "sourceUrl": "https://developers.korapay.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developers.korapay.com/",
      "baseUrl": "https://api.korapay.com/merchant",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Test keys are free; there is an llms.txt index for AI agents at the docs root.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Kora (Korapay)",
        "sourceUrl": "https://developers.korapay.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "ng-remita",
      "slug": "ng-remita",
      "title": "Remita ~ collections, payouts & bill payments",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "SystemSpecs (Remita)",
      "source": "SystemSpecs (Remita)",
      "sourceUrl": "https://api.remita.net/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://api.remita.net/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Widely used for Nigerian enterprise and government (RRR) collections; sandbox available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "SystemSpecs (Remita)",
        "sourceUrl": "https://api.remita.net/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-vtpass",
      "slug": "ng-vtpass",
      "title": "VTpass ~ airtime, data, electricity & TV bills API",
      "category": "Telco & reload",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "VTpass",
      "source": "VTpass",
      "sourceUrl": "https://www.vtpass.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://www.vtpass.com/documentation/",
      "baseUrl": "https://vtpass.com/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Wallet-funded RESTful bills-payment API with a full sandbox at sandbox.vtpass.com.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "VTpass",
        "sourceUrl": "https://www.vtpass.com/documentation/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-dojah",
      "slug": "ng-dojah",
      "title": "Dojah ~ KYC, BVN/NIN checks & identity verification",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Dojah",
      "source": "Dojah",
      "sourceUrl": "https://docs.dojah.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.dojah.io/",
      "baseUrl": "https://api.dojah.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free sandbox with test BVN 22222222222; App ID plus secret key authenticate calls.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Dojah",
        "sourceUrl": "https://docs.dojah.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-smile-id",
      "slug": "ng-smile-id",
      "title": "Smile ID ~ African KYC, biometric & document checks",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Smile ID",
      "source": "Smile ID",
      "sourceUrl": "https://docs.usesmileid.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.usesmileid.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free account includes sandbox; supports REST plus iOS, Android, Web and Flutter SDKs.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Smile ID",
        "sourceUrl": "https://docs.usesmileid.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-prembly-identitypass",
      "slug": "ng-prembly-identitypass",
      "title": "Prembly Identitypass ~ KYC/KYB & identity checks",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Prembly",
      "source": "Prembly",
      "sourceUrl": "https://docs.prembly.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.prembly.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "YC-backed; covers Nigeria plus several African and Asian markets via one API.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Prembly",
        "sourceUrl": "https://docs.prembly.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-anchor",
      "slug": "ng-anchor",
      "title": "Anchor ~ banking-as-a-service accounts, cards & loans",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Anchor",
      "source": "Anchor",
      "sourceUrl": "https://docs.getanchor.co/",
      "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.getanchor.co/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "YC S22 embedded-finance platform; needs a dashboard account and API key to build.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Anchor",
        "sourceUrl": "https://docs.getanchor.co/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-fincra",
      "slug": "ng-fincra",
      "title": "Fincra ~ virtual accounts, payouts & FX for Africa",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Fincra",
      "source": "Fincra",
      "sourceUrl": "https://docs.fincra.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.fincra.com/",
      "baseUrl": "https://api.fincra.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Issues NGN, EUR and GBP virtual accounts; includes a BVN-resolution KYC endpoint.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Fincra",
        "sourceUrl": "https://docs.fincra.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ng-open-banking-nigeria",
      "slug": "ng-open-banking-nigeria",
      "title": "Open Banking Nigeria ~ open bank API standard & sandbox",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Open Technology Foundation (Open Banking Nigeria)",
      "source": "Open Technology Foundation (Open Banking Nigeria)",
      "sourceUrl": "https://apis.openbanking.ng/",
      "tier": "open",
      "kind": "portal",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://apis.openbanking.ng/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open-source CBN-aligned standard with a free sandbox; a Postman workspace is public.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Open Technology Foundation (Open Banking Nigeria)",
        "sourceUrl": "https://apis.openbanking.ng/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "ng-quidax",
      "slug": "ng-quidax",
      "title": "Quidax ~ crypto trading, wallets & fiat payouts API",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "NG"
      ],
      "provider": "Quidax",
      "source": "Quidax",
      "sourceUrl": "https://docs.quidax.io/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.quidax.io/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "SEC-licensed Nigerian exchange; SDKs and Postman collection provided, llms.txt index too.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Quidax",
        "sourceUrl": "https://docs.quidax.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "nl-rdw-open-data",
      "slug": "nl-rdw-open-data",
      "title": "RDW ~ Dutch vehicle registration open data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "RDW (Rijksdienst voor het Wegverkeer)",
      "source": "RDW (Rijksdienst voor het Wegverkeer)",
      "sourceUrl": "https://opendata.rdw.nl/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://opendata.rdw.nl/",
      "baseUrl": "https://opendata.rdw.nl/resource/m9d7-ebf2.json",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": "rate-limited without a free app token",
      "note": "Keyless Socrata SODA API; a free app token only lifts rate limits.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "RDW (Rijksdienst voor het Wegverkeer)",
        "sourceUrl": "https://opendata.rdw.nl/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "rateLimit": "rate-limited without a free app token",
        "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": "nl-ns-reisinformatie",
      "slug": "nl-ns-reisinformatie",
      "title": "NS ~ Dutch railways travel & disruption info",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Nederlandse Spoorwegen (NS)",
      "source": "Nederlandse Spoorwegen (NS)",
      "sourceUrl": "https://apiportal.ns.nl/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://apiportal.ns.nl/",
      "baseUrl": "https://gateway.apiportal.ns.nl",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free personal (non-commercial) subscription key via the NS API portal.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Nederlandse Spoorwegen (NS)",
        "sourceUrl": "https://apiportal.ns.nl/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-knmi-data-platform",
      "slug": "nl-knmi-data-platform",
      "title": "KNMI ~ weather, radar & climate open data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "KNMI (Royal Netherlands Meteorological Institute)",
      "source": "KNMI (Royal Netherlands Meteorological Institute)",
      "sourceUrl": "https://developer.dataplatform.knmi.nl/open-data-api",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.dataplatform.knmi.nl/open-data-api",
      "baseUrl": "https://api.dataplatform.knmi.nl/open-data/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free anonymous API key; file-based Open Data API plus an OGC EDR point-query API.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "KNMI (Royal Netherlands Meteorological Institute)",
        "sourceUrl": "https://developer.dataplatform.knmi.nl/open-data-api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-luchtmeetnet",
      "slug": "nl-luchtmeetnet",
      "title": "Luchtmeetnet ~ real-time Dutch air quality",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "RIVM / Luchtmeetnet",
      "source": "RIVM / Luchtmeetnet",
      "sourceUrl": "https://api-docs.luchtmeetnet.nl/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api-docs.luchtmeetnet.nl/",
      "baseUrl": "https://api.luchtmeetnet.nl/open_api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless open API of hourly, unvalidated measurements from the national network.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "RIVM / Luchtmeetnet",
        "sourceUrl": "https://api-docs.luchtmeetnet.nl/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nl-bag-kadaster",
      "slug": "nl-bag-kadaster",
      "title": "Kadaster BAG ~ Dutch addresses & buildings",
      "category": "Property",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Kadaster (Netherlands' Cadastre)",
      "source": "Kadaster (Netherlands' Cadastre)",
      "sourceUrl": "https://lvbag.github.io/BAG-API/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://lvbag.github.io/BAG-API/",
      "baseUrl": "https://api.bag.kadaster.nl/lvbag/individuelebevragingen/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free API key from Kadaster; HAL+JSON registry of every Dutch address and building.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Kadaster (Netherlands' Cadastre)",
        "sourceUrl": "https://lvbag.github.io/BAG-API/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-ovapi-openov",
      "slug": "nl-ovapi-openov",
      "title": "OVapi / OpenOV ~ NL transit GTFS & realtime",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "NL"
      ],
      "provider": "OVapi / OpenOV",
      "source": "OVapi / OpenOV",
      "sourceUrl": "https://gtfs.ovapi.nl/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://gtfs.ovapi.nl/",
      "baseUrl": "https://gtfs.ovapi.nl/nl/gtfs-nl.zip",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Community-run keyless nationwide GTFS static plus GTFS-realtime feeds and a REST API.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "OVapi / OpenOV",
        "sourceUrl": "https://gtfs.ovapi.nl/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nl-postcodeapi-nu",
      "slug": "nl-postcodeapi-nu",
      "title": "PostcodeAPI.nu ~ Dutch postcode address lookup",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "PostcodeAPI.nu",
      "source": "PostcodeAPI.nu",
      "sourceUrl": "https://www.postcodeapi.nu/docs/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://www.postcodeapi.nu/docs/v2/",
      "baseUrl": "https://api.postcodeapi.nu/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "X-Api-Key header; free tier for low volume, paid plans above it.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PostcodeAPI.nu",
        "sourceUrl": "https://www.postcodeapi.nu/docs/v2/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-sendcloud",
      "slug": "nl-sendcloud",
      "title": "Sendcloud ~ multi-carrier shipping & labels",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Sendcloud",
      "source": "Sendcloud",
      "sourceUrl": "https://sendcloud.dev/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://sendcloud.dev/",
      "baseUrl": "https://panel.sendcloud.sc/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Basic auth with a public/private key pair from your Sendcloud account.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Sendcloud",
        "sourceUrl": "https://sendcloud.dev/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-adyen-checkout",
      "slug": "nl-adyen-checkout",
      "title": "Adyen ~ global payments & checkout API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Adyen",
      "source": "Adyen",
      "sourceUrl": "https://docs.adyen.com/api-explorer/",
      "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.adyen.com/api-explorer/",
      "baseUrl": "https://checkout-test.adyen.com/v71",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "X-API-Key auth; free test environment, live requires a merchant contract.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Adyen",
        "sourceUrl": "https://docs.adyen.com/api-explorer/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-bird-messagebird",
      "slug": "nl-bird-messagebird",
      "title": "Bird (MessageBird) ~ SMS, voice & WhatsApp API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Bird (formerly MessageBird)",
      "source": "Bird (formerly MessageBird)",
      "sourceUrl": "https://developers.messagebird.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.messagebird.com/",
      "baseUrl": "https://rest.messagebird.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "AccessKey in the Authorization header; pay per message with test keys available.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Bird (formerly MessageBird)",
        "sourceUrl": "https://developers.messagebird.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-duo-onderwijsdata",
      "slug": "nl-duo-onderwijsdata",
      "title": "DUO ~ Dutch education open data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "DUO (Dienst Uitvoering Onderwijs)",
      "source": "DUO (Dienst Uitvoering Onderwijs)",
      "sourceUrl": "https://duo.nl/open_onderwijsdata/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://duo.nl/open_onderwijsdata/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless open data as CSV downloads plus a REST/JSON-LD API at api.duo.nl.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "DUO (Dienst Uitvoering Onderwijs)",
        "sourceUrl": "https://duo.nl/open_onderwijsdata/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nl-rws-waterwebservices",
      "slug": "nl-rws-waterwebservices",
      "title": "Rijkswaterstaat ~ live water level & flow data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Rijkswaterstaat",
      "source": "Rijkswaterstaat",
      "sourceUrl": "https://rijkswaterstaat.github.io/wm-ws-dl/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://rijkswaterstaat.github.io/wm-ws-dl/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless JSON WaterWebservices plus WFS/WMS map layers for the national water network.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Rijkswaterstaat",
        "sourceUrl": "https://rijkswaterstaat.github.io/wm-ws-dl/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nl-tikkie-abnamro",
      "slug": "nl-tikkie-abnamro",
      "title": "Tikkie ~ ABN AMRO payment-request API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "ABN AMRO (Tikkie)",
      "source": "ABN AMRO (Tikkie)",
      "sourceUrl": "https://developer.abnamro.com/api-products/tikkie/reference-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.abnamro.com/api-products/tikkie/reference-documentation",
      "baseUrl": "https://api.abnamro.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "App token plus API key (OAuth-style) with a free sandbox on the ABN AMRO portal.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "ABN AMRO (Tikkie)",
        "sourceUrl": "https://developer.abnamro.com/api-products/tikkie/reference-documentation",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-ndw-wegverkeer",
      "slug": "nl-ndw-wegverkeer",
      "title": "NDW ~ national road-traffic open data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "NDW (Nationaal Dataportaal Wegverkeer)",
      "source": "NDW (Nationaal Dataportaal Wegverkeer)",
      "sourceUrl": "https://docs.ndw.nu/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://docs.ndw.nu/",
      "baseUrl": "https://opendata.ndw.nu/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless DATEX II and REST feeds bundling traffic data from 19 road authorities.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "NDW (Nationaal Dataportaal Wegverkeer)",
        "sourceUrl": "https://docs.ndw.nu/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nl-overheid-io",
      "slug": "nl-overheid-io",
      "title": "Overheid.io ~ KVK, BAG & vehicle data API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Overheid.io",
      "source": "Overheid.io",
      "sourceUrl": "https://overheid.io/documentatie",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://overheid.io/documentatie",
      "baseUrl": "https://api.overheid.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "One API key spans OpenKvK business, BAG address, energy-label and RDW vehicle datasets.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Overheid.io",
        "sourceUrl": "https://overheid.io/documentatie",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nl-buckaroo",
      "slug": "nl-buckaroo",
      "title": "Buckaroo ~ iDEAL & Dutch payment methods API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NL"
      ],
      "provider": "Buckaroo",
      "source": "Buckaroo",
      "sourceUrl": "https://docs.buckaroo.io/",
      "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.buckaroo.io/",
      "baseUrl": "https://checkout.buckaroo.nl/json/Transaction",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "HMAC-signed JSON API; live use requires a Buckaroo merchant contract.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Buckaroo",
        "sourceUrl": "https://docs.buckaroo.io/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "no-met-locationforecast",
      "slug": "no-met-locationforecast",
      "title": "MET Norway ~ global weather forecast by coordinate",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Meteorologisk institutt (MET Norway)",
      "source": "Meteorologisk institutt (MET Norway)",
      "sourceUrl": "https://api.met.no/weatherapi/locationforecast/2.0/documentation",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.met.no/weatherapi/locationforecast/2.0/documentation",
      "baseUrl": "https://api.met.no/weatherapi/locationforecast/2.0",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless worldwide forecasts (the engine behind Yr); only requirement is a descriptive User-Agent header.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Meteorologisk institutt (MET Norway)",
        "sourceUrl": "https://api.met.no/weatherapi/locationforecast/2.0/documentation",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "no-met-frost",
      "slug": "no-met-frost",
      "title": "MET Frost ~ historical weather & climate archive",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Meteorologisk institutt (MET Norway)",
      "source": "Meteorologisk institutt (MET Norway)",
      "sourceUrl": "https://frost.met.no/howto.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://frost.met.no/howto.html",
      "baseUrl": "https://frost.met.no",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free access to quality-controlled historical observations; you register an email to get a client ID used as the request credential.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Meteorologisk institutt (MET Norway)",
        "sourceUrl": "https://frost.met.no/howto.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "no-norges-bank-rates",
      "slug": "no-norges-bank-rates",
      "title": "Norges Bank ~ exchange rates & interest rates",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Norges Bank",
      "source": "Norges Bank",
      "sourceUrl": "https://www.norges-bank.no/en/topics/Statistics/open-data/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.norges-bank.no/en/topics/Statistics/open-data/",
      "baseUrl": "https://data.norges-bank.no/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official NOK middle exchange rates (~40 currencies) plus policy/Nowa/government-securities interest rates, published daily around 16:00 CET.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Norges Bank",
        "sourceUrl": "https://www.norges-bank.no/en/topics/Statistics/open-data/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "no-vegvesen-autosys",
      "slug": "no-vegvesen-autosys",
      "title": "Statens vegvesen ~ vehicle registry lookup",
      "category": "Government services",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Statens vegvesen",
      "source": "Statens vegvesen",
      "sourceUrl": "https://autosys-kjoretoy-api.atlas.vegvesen.no/api-ui/index-enkeltoppslag.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://autosys-kjoretoy-api.atlas.vegvesen.no/api-ui/index-enkeltoppslag.html",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Technical vehicle data by licence plate or VIN in JSON; the open tier excludes owner information and is capped at 50,000 calls per key per day.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Statens vegvesen",
        "sourceUrl": "https://autosys-kjoretoy-api.atlas.vegvesen.no/api-ui/index-enkeltoppslag.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "no-nve-hydapi",
      "slug": "no-nve-hydapi",
      "title": "NVE ~ Norwegian hydrology time series (HydAPI)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "NVE (Norges vassdrags- og energidirektorat)",
      "source": "NVE (Norges vassdrags- og energidirektorat)",
      "sourceUrl": "https://hydapi.nve.no/UserDocumentation/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://hydapi.nve.no/UserDocumentation/",
      "baseUrl": "https://hydapi.nve.no/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Historical and continuously updated observations — discharge, water level, water temperature — from NVE's national gauging network; free API key by email.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "NVE (Norges vassdrags- og energidirektorat)",
        "sourceUrl": "https://hydapi.nve.no/UserDocumentation/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "no-barentswatch-ais",
      "slug": "no-barentswatch-ais",
      "title": "BarentsWatch ~ live vessel AIS positions",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "NO"
      ],
      "provider": "BarentsWatch",
      "source": "BarentsWatch",
      "sourceUrl": "https://developer.barentswatch.no/",
      "tier": "open",
      "kind": "realtime",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.barentswatch.no/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Real-time ship positions from the Norwegian Coastal Administration's AIS network, plus fish-health/aquaculture data; access via OpenID Connect client credentials.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "BarentsWatch",
        "sourceUrl": "https://developer.barentswatch.no/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "no-bring-tracking",
      "slug": "no-bring-tracking",
      "title": "Bring ~ parcel tracking & shipping",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Bring (Posten Norge)",
      "source": "Bring (Posten Norge)",
      "sourceUrl": "https://developer.bring.com/api/tracking/",
      "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.bring.com/api/tracking/",
      "baseUrl": "https://api.bring.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Posten/Bring's carrier APIs; tracking now requires an authenticated Mybring API key, with richer shipping-guide and booking APIs alongside.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Bring (Posten Norge)",
        "sourceUrl": "https://developer.bring.com/api/tracking/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "no-oslo-bysykkel-gbfs",
      "slug": "no-oslo-bysykkel-gbfs",
      "title": "Oslo Bysykkel ~ live city-bike availability (GBFS)",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Oslo Bysykkel (Urban Sharing)",
      "source": "Oslo Bysykkel (Urban Sharing)",
      "sourceUrl": "https://oslobysykkel.no/en/open-data/realtime",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://oslobysykkel.no/en/open-data/realtime",
      "baseUrl": "https://gbfs.urbansharing.com/oslobysykkel.no",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Standard GBFS feeds updated every ~10 seconds; only a descriptive Client-Identifier header is required (same platform powers Bergen/Trondheim).",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Oslo Bysykkel (Urban Sharing)",
        "sourceUrl": "https://oslobysykkel.no/en/open-data/realtime",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "no-altinn",
      "slug": "no-altinn",
      "title": "Altinn ~ government digital services platform",
      "category": "Government services",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Digdir / Altinn",
      "source": "Digdir / Altinn",
      "sourceUrl": "https://altinn.github.io/docs/api/rest/",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://altinn.github.io/docs/api/rest/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "The backbone platform used by ~100% of Norwegian businesses for reporting to agencies; register your app and use an API key plus authentication.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Digdir / Altinn",
        "sourceUrl": "https://altinn.github.io/docs/api/rest/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "no-vegvesen-nvdb",
      "slug": "no-vegvesen-nvdb",
      "title": "Statens vegvesen ~ national road database (NVDB)",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Statens vegvesen",
      "source": "Statens vegvesen",
      "sourceUrl": "https://nvdb-docs.atlas.vegvesen.no/nvdbapil/v4/introduksjon/Oversikt/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://nvdb-docs.atlas.vegvesen.no/nvdbapil/v4/introduksjon/Oversikt/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open read API over Norway's official road network geometry/topology and 300–400 road-object types; licensed under NLOD (a descriptive client header is expected).",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Statens vegvesen",
        "sourceUrl": "https://nvdb-docs.atlas.vegvesen.no/nvdbapil/v4/introduksjon/Oversikt/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "no-nasjonalbiblioteket",
      "slug": "no-nasjonalbiblioteket",
      "title": "Nasjonalbiblioteket ~ digitized collection search",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Nasjonalbiblioteket (National Library of Norway)",
      "source": "Nasjonalbiblioteket (National Library of Norway)",
      "sourceUrl": "https://api.nb.no/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.nb.no/",
      "baseUrl": "https://api.nb.no",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Search API over the National Library's vast digitized collection — books, newspapers, periodicals, images and more — with a Swagger UI to explore endpoints.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Nasjonalbiblioteket (National Library of Norway)",
        "sourceUrl": "https://api.nb.no/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "no-nilu-air-quality",
      "slug": "no-nilu-air-quality",
      "title": "NILU ~ live Norwegian air-quality data",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "NO"
      ],
      "provider": "NILU (Norwegian Institute for Air Research)",
      "source": "NILU (Norwegian Institute for Air Research)",
      "sourceUrl": "https://api.nilu.no/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.nilu.no/",
      "baseUrl": "https://api.nilu.no",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open, keyless API for current and historical measurements (PM2.5, PM10, NO2, NOx) from Norway's national air-quality station network, plus UV forecasts.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "NILU (Norwegian Institute for Air Research)",
        "sourceUrl": "https://api.nilu.no/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nz-geonet",
      "slug": "nz-geonet",
      "title": "GeoNet ~ NZ earthquakes, volcanoes & tsunami feeds",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "NZ"
      ],
      "provider": "GeoNet (GNS Science / Toka Tu Ake NHC)",
      "source": "GeoNet (GNS Science / Toka Tu Ake NHC)",
      "sourceUrl": "https://api.geonet.org.nz/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.geonet.org.nz/",
      "baseUrl": "https://api.geonet.org.nz",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Famous, freely available and keyless geohazard API covering quakes, volcanic alert levels and shaking intensity.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "GeoNet (GNS Science / Toka Tu Ake NHC)",
        "sourceUrl": "https://api.geonet.org.nz/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nz-nzta-traffic",
      "slug": "nz-nzta-traffic",
      "title": "Waka Kotahi NZTA ~ live traffic, travel-time & cameras",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "NZ"
      ],
      "provider": "NZ Transport Agency Waka Kotahi",
      "source": "NZ Transport Agency Waka Kotahi",
      "sourceUrl": "https://www.nzta.govt.nz/traffic-and-travel-information/use-our-data/about-the-apis",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.nzta.govt.nz/traffic-and-travel-information/use-our-data/about-the-apis",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open, account-free traffic and travel APIs; you only need to accept the terms of use.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "NZ Transport Agency Waka Kotahi",
        "sourceUrl": "https://www.nzta.govt.nz/traffic-and-travel-information/use-our-data/about-the-apis",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "nz-metservice-point-forecast",
      "slug": "nz-metservice-point-forecast",
      "title": "MetService ~ NZ point weather forecast API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "MetService (Meteorological Service of NZ)",
      "source": "MetService (Meteorological Service of NZ)",
      "sourceUrl": "https://data.metservice.com/product/point-forecast-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://data.metservice.com/product/point-forecast-api",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "National met service's commercial forecast API for any NZ/AU coordinate, with a free starter tier (x-api-key auth).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "MetService (Meteorological Service of NZ)",
        "sourceUrl": "https://data.metservice.com/product/point-forecast-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nz-electricity-authority",
      "slug": "nz-electricity-authority",
      "title": "Electricity Authority ~ NZ power market data API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Electricity Authority (Te Mana Hiko)",
      "source": "Electricity Authority (Te Mana Hiko)",
      "sourceUrl": "https://www.ea.govt.nz/data-and-insights/tools-and-apis/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.ea.govt.nz/data-and-insights/tools-and-apis/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official wholesale-electricity APIs (real-time prices/dispatch and ICP connection data); the platform is migrating off the legacy EMI site.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Electricity Authority (Te Mana Hiko)",
        "sourceUrl": "https://www.ea.govt.nz/data-and-insights/tools-and-apis/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nz-metlink",
      "slug": "nz-metlink",
      "title": "Metlink ~ Wellington transit GTFS & realtime API",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Metlink (Greater Wellington Regional Council)",
      "source": "Metlink (Greater Wellington Regional Council)",
      "sourceUrl": "https://opendata.metlink.org.nz/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opendata.metlink.org.nz/",
      "baseUrl": "https://api.opendata.metlink.org.nz/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free but registration-gated; subscribe to the 'Metlink Open Data API' on the portal to get a key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Metlink (Greater Wellington Regional Council)",
        "sourceUrl": "https://opendata.metlink.org.nz/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nz-metro-christchurch",
      "slug": "nz-metro-christchurch",
      "title": "Metro Christchurch ~ Canterbury transit GTFS & SIRI",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Environment Canterbury / Metro",
      "source": "Environment Canterbury / Metro",
      "sourceUrl": "https://apidevelopers.metroinfo.co.nz/",
      "tier": "open",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://apidevelopers.metroinfo.co.nz/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Canterbury's transit developer portal; sign up for a key to reach GTFS, GTFS-Realtime and SIRI feeds.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Environment Canterbury / Metro",
        "sourceUrl": "https://apidevelopers.metroinfo.co.nz/",
        "sourceType": "Official public feed",
        "endpointType": "Public feed, non-JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nz-akahu",
      "slug": "nz-akahu",
      "title": "Akahu ~ NZ open-finance & bank account data API",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Akahu",
      "source": "Akahu",
      "sourceUrl": "https://developers.akahu.nz/docs/getting-started",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.akahu.nz/docs/getting-started",
      "baseUrl": "https://api.akahu.io/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Accredited CDR intermediary; spin up a free personal sandbox app for instant access to your own accounts.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Akahu",
        "sourceUrl": "https://developers.akahu.nz/docs/getting-started",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "nz-windcave",
      "slug": "nz-windcave",
      "title": "Windcave ~ NZ/AU card payment gateway REST API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Windcave (formerly Payment Express)",
      "source": "Windcave (formerly Payment Express)",
      "sourceUrl": "https://www.windcave.com/developer-e-commerce-api-rest",
      "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.windcave.com/developer-e-commerce-api-rest",
      "baseUrl": "https://sec.windcave.com/api/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Established Australasian gateway; the REST API uses Basic-auth API username plus API key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Windcave (formerly Payment Express)",
        "sourceUrl": "https://www.windcave.com/developer-e-commerce-api-rest",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "nz-blinkpay",
      "slug": "nz-blinkpay",
      "title": "BlinkPay ~ NZ open-banking payment gateway API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "BlinkPay",
      "source": "BlinkPay",
      "sourceUrl": "https://www.blinkpay.co.nz/resources-developers",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.blinkpay.co.nz/resources-developers",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "NZ-built open-banking gateway with a sandbox; a registered Payments NZ standards user integrated with the four major banks.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "BlinkPay",
        "sourceUrl": "https://www.blinkpay.co.nz/resources-developers",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "nz-nzpost",
      "slug": "nz-nzpost",
      "title": "NZ Post ~ address checker, labels & tracking API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "NZ Post",
      "source": "NZ Post",
      "sourceUrl": "https://www.nzpost.co.nz/business/ecommerce/developer-resource-centre",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.nzpost.co.nz/business/ecommerce/developer-resource-centre",
      "baseUrl": "https://api.nzpost.co.nz",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Developer portal for shipping, tracking and the Address Checker built on the ~1.8M-point Postal Address File (PAF).",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "NZ Post",
        "sourceUrl": "https://www.nzpost.co.nz/business/ecommerce/developer-resource-centre",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "nz-trademe",
      "slug": "nz-trademe",
      "title": "Trade Me ~ NZ marketplace listings & search API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Trade Me",
      "source": "Trade Me",
      "sourceUrl": "https://developer.trademe.co.nz/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://developer.trademe.co.nz/",
      "baseUrl": "https://api.trademe.co.nz/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless catalogue/search GETs plus OAuth-protected listing and member methods; aimed at in-trade sellers.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Trade Me",
        "sourceUrl": "https://developer.trademe.co.nz/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "nz-ird-gateway",
      "slug": "nz-ird-gateway",
      "title": "Inland Revenue ~ NZ tax gateway services API",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Inland Revenue (Te Tari Taake)",
      "source": "Inland Revenue (Te Tari Taake)",
      "sourceUrl": "https://www.ird.govt.nz/digital-service-providers",
      "tier": "open",
      "kind": "portal",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.ird.govt.nz/digital-service-providers",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Gateway Services for accredited software providers; registration and onboarding into test/sandbox are required.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Inland Revenue (Te Tari Taake)",
        "sourceUrl": "https://www.ird.govt.nz/digital-service-providers",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "nz-stats-geographic",
      "slug": "nz-stats-geographic",
      "title": "Stats NZ Geographic Data Service ~ boundaries API",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "NZ"
      ],
      "provider": "Stats NZ (Tatauranga Aotearoa)",
      "source": "Stats NZ (Tatauranga Aotearoa)",
      "sourceUrl": "https://datafinder.stats.govt.nz/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://datafinder.stats.govt.nz/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Koordinates-powered service for statistical boundaries and census geographies; distinct from the Stats NZ open-data (ADE) API.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Stats NZ (Tatauranga Aotearoa)",
        "sourceUrl": "https://datafinder.stats.govt.nz/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "sa-national-address",
      "slug": "sa-national-address",
      "title": "Saudi Post SPL ~ National Address lookup & geocoding",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Saudi Post | SPL",
      "source": "Saudi Post | SPL",
      "sourceUrl": "https://api.address.gov.sa/apidocumentation",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://api.address.gov.sa/apidocumentation",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official Saudi Post SPL developer portal for the National Address system; free starter tier (rate-limited) plus paid unlimited packages.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Saudi Post | SPL",
        "sourceUrl": "https://api.address.gov.sa/apidocumentation",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "sa-wathq",
      "slug": "sa-wathq",
      "title": "Wathq ~ commercial registry & gov data lookups",
      "category": "Government services",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Wathq (Ministry of Commerce)",
      "source": "Wathq (Ministry of Commerce)",
      "sourceUrl": "https://developer.wathq.sa/en/apis",
      "tier": "open",
      "kind": "portal",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.wathq.sa/en/apis",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Government business-data platform that electronically links beneficiary systems to authoritative sources; some APIs are sandbox/free, others metered.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Wathq (Ministry of Commerce)",
        "sourceUrl": "https://developer.wathq.sa/en/apis",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "sa-zatca-fatoora",
      "slug": "sa-zatca-fatoora",
      "title": "ZATCA Fatoora ~ e-invoicing (Phase 2) integration",
      "category": "E-invoicing & tax",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "ZATCA (Zakat, Tax and Customs Authority)",
      "source": "ZATCA (Zakat, Tax and Customs Authority)",
      "sourceUrl": "https://zatca.gov.sa/en/E-Invoicing/SystemsDevelopers/Pages/default.aspx",
      "tier": "open",
      "kind": "portal",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://zatca.gov.sa/en/E-Invoicing/SystemsDevelopers/Pages/default.aspx",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official ZATCA developer resources for Phase 2 (Integration) of the FATOORA e-invoicing mandate, with a public sandbox at sandbox.zatca.gov.sa and Swagger specs.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "ZATCA (Zakat, Tax and Customs Authority)",
        "sourceUrl": "https://zatca.gov.sa/en/E-Invoicing/SystemsDevelopers/Pages/default.aspx",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "rateLimit": null,
        "caveat": "Onboarding, approvals, sandbox/preprod, or compliance steps may be required before production."
      },
      "setup": {
        "level": "authenticated",
        "label": "ACCESS TOKEN SETUP",
        "summary": "Get credentials first, then call the provider from a server or trusted backend."
      }
    },
    {
      "id": "sa-rcrc-opendata",
      "slug": "sa-rcrc-opendata",
      "title": "RCRC ~ Riyadh open-data catalogue API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Royal Commission for Riyadh City",
      "source": "Royal Commission for Riyadh City",
      "sourceUrl": "https://opendata.rcrc.gov.sa/api/explore/v2.1/console",
      "tier": "open",
      "kind": "portal",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://opendata.rcrc.gov.sa/api/explore/v2.1/console",
      "baseUrl": "https://opendata.rcrc.gov.sa/api/explore/v2.1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Government open-data portal for Riyadh built on OpenDataSoft, exposing a standard Explore v2.1 REST API with an interactive console; public reads need no key.",
      "trust": {
        "level": "portal",
        "label": "Choose endpoint",
        "source": "Royal Commission for Riyadh City",
        "sourceUrl": "https://opendata.rcrc.gov.sa/api/explore/v2.1/console",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "sa-geidea",
      "slug": "sa-geidea",
      "title": "Geidea ~ card & wallet payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Geidea",
      "source": "Geidea",
      "sourceUrl": "https://docs.geidea.net/",
      "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.geidea.net/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Saudi-founded MENA fintech offering hosted checkout and direct API integration with a full sandbox and test cards.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Geidea",
        "sourceUrl": "https://docs.geidea.net/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "sa-tamara",
      "slug": "sa-tamara",
      "title": "Tamara ~ Buy Now Pay Later checkout",
      "category": "Payments",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Tamara",
      "source": "Tamara",
      "sourceUrl": "https://docs.tamara.co/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.tamara.co/",
      "baseUrl": "https://api.tamara.co",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "SAMA-licensed Saudi BNPL provider; merchants get a Merchant ID, public key and API token, with a sandbox at api-sandbox.tamara.co.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Tamara",
        "sourceUrl": "https://docs.tamara.co/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "sa-lean-tech",
      "slug": "sa-lean-tech",
      "title": "Lean Technologies ~ open banking data & payments",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Lean Technologies",
      "source": "Lean Technologies",
      "sourceUrl": "https://docs.leantech.me/docs",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.leantech.me/docs",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "First fintech licensed by SAMA for open banking in Saudi Arabia; OAuth 2.0 with JWT bearer tokens and a full sandbox.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Lean Technologies",
        "sourceUrl": "https://docs.leantech.me/docs",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "sa-zid",
      "slug": "sa-zid",
      "title": "Zid ~ online store products & orders API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Zid",
      "source": "Zid",
      "sourceUrl": "https://docs.zid.sa/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.zid.sa/",
      "baseUrl": "https://api.zid.sa",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Major Saudi SaaS platform for online stores; Merchant API plus a theme framework, with a partner onboarding/agreement step.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Zid",
        "sourceUrl": "https://docs.zid.sa/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "sa-foodics",
      "slug": "sa-foodics",
      "title": "Foodics ~ restaurant POS & operations API",
      "category": "Accounting & ERP",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Foodics",
      "source": "Foodics",
      "sourceUrl": "https://developers.foodics.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.foodics.com/",
      "baseUrl": "https://api.foodics.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Saudi-founded restaurant management and POS platform serving 30k+ F&B outlets; partner OAuth flow and marketplace of 100+ integrations.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Foodics",
        "sourceUrl": "https://developers.foodics.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "sa-unifonic",
      "slug": "sa-unifonic",
      "title": "Unifonic ~ SMS, WhatsApp & voice messaging",
      "category": "Communications",
      "group": "Build",
      "country": [
        "SA"
      ],
      "provider": "Unifonic",
      "source": "Unifonic",
      "sourceUrl": "https://docs.unifonic.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.unifonic.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Saudi-headquartered CPaaS with CST/SAMA data-residency compliance and Arabic/Unicode support; API-key based access.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Unifonic",
        "sourceUrl": "https://docs.unifonic.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "se-kolada-kpi",
      "slug": "se-kolada-kpi",
      "title": "Kolada ~ Swedish municipality & region KPI database",
      "category": "Government services",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "RKA (Kolada)",
      "source": "RKA (Kolada)",
      "sourceUrl": "https://github.com/Hypergene/kolada",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://github.com/Hypergene/kolada",
      "baseUrl": "https://api.kolada.se/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free, no agreement or key needed; ~4,500 standardized KPIs for all Swedish municipalities and regions, CC BY 4.0.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "RKA (Kolada)",
        "sourceUrl": "https://github.com/Hypergene/kolada",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "se-sveriges-radio",
      "slug": "se-sveriges-radio",
      "title": "Sveriges Radio ~ public radio programs & podcasts API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Sveriges Radio",
      "source": "Sveriges Radio",
      "sourceUrl": "https://api.sr.se/api/documentation/v2/index.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.sr.se/api/documentation/v2/index.html",
      "baseUrl": "https://api.sr.se/api/v2",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free and keyless with JSON output; officially no longer actively maintained but still working.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Sveriges Radio",
        "sourceUrl": "https://api.sr.se/api/documentation/v2/index.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "se-lantmateriet-geodata",
      "slug": "se-lantmateriet-geodata",
      "title": "Lantmateriet ~ Sweden maps, addresses & property data",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Lantmateriet",
      "source": "Lantmateriet",
      "sourceUrl": "https://www.lantmateriet.se/sv/geodata/vara-produkter/produktsupport/api-portalen/",
      "tier": "open",
      "kind": "portal",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.lantmateriet.se/sv/geodata/vara-produkter/produktsupport/api-portalen/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Much geodata became free from 2022, but the direct-access APIs still require a (free) Geotorget account and authorization key; some premium products are paid.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "Lantmateriet",
        "sourceUrl": "https://www.lantmateriet.se/sv/geodata/vara-produkter/produktsupport/api-portalen/",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "se-bolagsverket-company",
      "slug": "se-bolagsverket-company",
      "title": "Bolagsverket ~ Swedish company registry information API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Bolagsverket",
      "source": "Bolagsverket",
      "sourceUrl": "https://bolagsverket.se/apierochoppnadata/hamtaforetagsinformation/apiforatthamtaforetagsinformation.3988.html",
      "tier": "open",
      "kind": "portal",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://bolagsverket.se/apierochoppnadata/hamtaforetagsinformation/apiforatthamtaforetagsinformation.3988.html",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Government registry; the company-information API needs an agreement plus OAuth 2.0 credentials, while a free 'valuable datasets' open API is also published.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Bolagsverket",
        "sourceUrl": "https://bolagsverket.se/apierochoppnadata/hamtaforetagsinformation/apiforatthamtaforetagsinformation.3988.html",
        "sourceType": "Official portal or provider docs",
        "endpointType": "Portal or multi-endpoint API",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "se-postnord-tracking",
      "slug": "se-postnord-tracking",
      "title": "PostNord ~ parcel tracking & shipping services API",
      "category": "Logistics & delivery",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "PostNord",
      "source": "PostNord",
      "sourceUrl": "https://developer.postnord.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.postnord.com/",
      "baseUrl": "https://api2.postnord.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Sign up for a free sandbox key; the API key is passed as an 'apikey' query parameter on every call.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "PostNord",
        "sourceUrl": "https://developer.postnord.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "se-tink-open-banking",
      "slug": "se-tink-open-banking",
      "title": "Tink ~ European open banking accounts & payments",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Tink (Visa)",
      "source": "Tink (Visa)",
      "sourceUrl": "https://docs.tink.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.tink.com/",
      "baseUrl": "https://api.tink.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Swedish-founded (now Visa) PSD2 platform; OAuth-protected with a free sandbox but production access is a paid contract.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Tink (Visa)",
        "sourceUrl": "https://docs.tink.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "se-swish-payments",
      "slug": "se-swish-payments",
      "title": "Swish ~ Swedish mobile payments merchant API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Getswish",
      "source": "Getswish",
      "sourceUrl": "https://developer.swish.nu/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.swish.nu/",
      "baseUrl": "https://cpc.getswish.net/swish-cpcapi/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Sweden's dominant mobile payment method; secured with mTLS client certificates and enrolled through a merchant's bank, with a free Merchant Swish Simulator for testing.",
      "trust": {
        "level": "regulated",
        "label": "Regulated setup",
        "source": "Getswish",
        "sourceUrl": "https://developer.swish.nu/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "se-riksdagen-opendata",
      "slug": "se-riksdagen-opendata",
      "title": "Riksdagen ~ Swedish Parliament documents & members API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Sveriges Riksdag",
      "source": "Sveriges Riksdag",
      "sourceUrl": "https://www.riksdagen.se/sv/dokument-och-lagar/riksdagens-oppna-data/anvandarstod/om-apiet/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.riksdagen.se/sv/dokument-och-lagar/riksdagens-oppna-data/anvandarstod/om-apiet/",
      "baseUrl": "https://data.riksdagen.se",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free, keyless REST API; data available as XML, JSON, JSONP, CSV, text and HTML with only attribution required.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Sveriges Riksdag",
        "sourceUrl": "https://www.riksdagen.se/sv/dokument-och-lagar/riksdagens-oppna-data/anvandarstod/om-apiet/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "se-polisen-events",
      "slug": "se-polisen-events",
      "title": "Polisen ~ Swedish police events open API",
      "category": "Government services",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Polismyndigheten",
      "source": "Polismyndigheten",
      "sourceUrl": "https://polisen.se/om-polisen/om-webbplatsen/oppna-data/api-over-polisens-handelser/",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://polisen.se/om-polisen/om-webbplatsen/oppna-data/api-over-polisens-handelser/",
      "baseUrl": "https://polisen.se/api/events",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free and keyless, returning the latest ~500 published police events; contains no personal data and asks callers not to poll too aggressively.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Polismyndigheten",
        "sourceUrl": "https://polisen.se/om-polisen/om-webbplatsen/oppna-data/api-over-polisens-handelser/",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "se-elpriset-spot",
      "slug": "se-elpriset-spot",
      "title": "Elpriset just nu ~ free Swedish electricity spot prices",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Elpriset just nu",
      "source": "Elpriset just nu",
      "sourceUrl": "https://www.elprisetjustnu.se/elpris-api",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://www.elprisetjustnu.se/elpris-api",
      "baseUrl": "https://www.elprisetjustnu.se/api/v1/prices",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Completely open and free with no key; hourly day-ahead prices in SEK and EUR for zones SE1-SE4, sourced from ENTSO-E, back to November 2022.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Elpriset just nu",
        "sourceUrl": "https://www.elprisetjustnu.se/elpris-api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "se-artdatabanken-species",
      "slug": "se-artdatabanken-species",
      "title": "SLU Artdatabanken ~ Sweden species observations API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "SLU Artdatabanken",
      "source": "SLU Artdatabanken",
      "sourceUrl": "https://api-portal.artdatabanken.se/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api-portal.artdatabanken.se/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free open data but you must create an account and subscribe to a product in the developer portal to get a key; covers ~110 million records including Artportalen.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "SLU Artdatabanken",
        "sourceUrl": "https://api-portal.artdatabanken.se/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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-usaspending",
      "slug": "us-usaspending",
      "title": "USAspending.gov ~ federal spending & awards",
      "category": "Government services",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "U.S. Treasury (Bureau of the Fiscal Service)",
      "source": "U.S. Treasury (Bureau of the Fiscal Service)",
      "sourceUrl": "https://api.usaspending.gov/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://api.usaspending.gov/",
      "baseUrl": "https://api.usaspending.gov/api/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Open REST API over every federal contract, grant and award; no key needed.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "U.S. Treasury (Bureau of the Fiscal Service)",
        "sourceUrl": "https://api.usaspending.gov/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "us-congress-gov",
      "slug": "us-congress-gov",
      "title": "Congress.gov ~ bills, members, votes & laws",
      "category": "Government services",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "Library of Congress",
      "source": "Library of Congress",
      "sourceUrl": "https://api.congress.gov/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api.congress.gov/",
      "baseUrl": "https://api.congress.gov/v3/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official legislative data; sign up for a free data.gov API key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Library of Congress",
        "sourceUrl": "https://api.congress.gov/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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-fec-openfec",
      "slug": "us-fec-openfec",
      "title": "OpenFEC ~ U.S. campaign finance data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "Federal Election Commission",
      "source": "Federal Election Commission",
      "sourceUrl": "https://api.open.fec.gov/developers/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://api.open.fec.gov/developers/",
      "baseUrl": "https://api.open.fec.gov/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Candidates, committees, filings and contributions; free data.gov key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Federal Election Commission",
        "sourceUrl": "https://api.open.fec.gov/developers/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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-openfda",
      "slug": "us-openfda",
      "title": "openFDA ~ drug, device & food safety data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "U.S. Food & Drug Administration",
      "source": "U.S. Food & Drug Administration",
      "sourceUrl": "https://open.fda.gov/apis/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://open.fda.gov/apis/",
      "baseUrl": "https://api.fda.gov/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Works keyless at low volume; a free key raises rate limits.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "U.S. Food & Drug Administration",
        "sourceUrl": "https://open.fda.gov/apis/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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-fbi-crime-data",
      "slug": "us-fbi-crime-data",
      "title": "FBI ~ Crime Data Explorer (UCR/NIBRS) API",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "FBI Uniform Crime Reporting Program",
      "source": "FBI Uniform Crime Reporting Program",
      "sourceUrl": "https://cde.ucr.cjis.gov/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://cde.ucr.cjis.gov/",
      "baseUrl": "https://api.usa.gov/crime/fbi/sapi/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "National and agency-level crime stats; free data.gov key required.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "FBI Uniform Crime Reporting Program",
        "sourceUrl": "https://cde.ucr.cjis.gov/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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-nps-parks",
      "slug": "us-nps-parks",
      "title": "NPS ~ national parks info, alerts & events",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "National Park Service",
      "source": "National Park Service",
      "sourceUrl": "https://www.nps.gov/subjects/developer/api-documentation.htm",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.nps.gov/subjects/developer/api-documentation.htm",
      "baseUrl": "https://developer.nps.gov/api/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Park details, hours, alerts, campgrounds and events; free key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "National Park Service",
        "sourceUrl": "https://www.nps.gov/subjects/developer/api-documentation.htm",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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-nhtsa-vpic",
      "slug": "us-nhtsa-vpic",
      "title": "NHTSA vPIC ~ VIN decode & vehicle data",
      "category": "Travel & mobility",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "NHTSA",
      "source": "NHTSA",
      "sourceUrl": "https://vpic.nhtsa.dot.gov/api/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://vpic.nhtsa.dot.gov/api/",
      "baseUrl": "https://vpic.nhtsa.dot.gov/api/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Decode any VIN and list makes/models; completely keyless.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "NHTSA",
        "sourceUrl": "https://vpic.nhtsa.dot.gov/api/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "us-treasury-fiscaldata",
      "slug": "us-treasury-fiscaldata",
      "title": "U.S. Treasury ~ Fiscal Data (debt, rates, FX)",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "U.S. Department of the Treasury",
      "source": "U.S. Department of the Treasury",
      "sourceUrl": "https://fiscaldata.treasury.gov/api-documentation/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://fiscaldata.treasury.gov/api-documentation/",
      "baseUrl": "https://api.fiscaldata.treasury.gov/services/api/fiscal_service/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "National debt, interest and exchange rates as clean JSON; no key.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "U.S. Department of the Treasury",
        "sourceUrl": "https://fiscaldata.treasury.gov/api-documentation/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "us-bls",
      "slug": "us-bls",
      "title": "BLS ~ labor stats (CPI, jobs, wages)",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "U.S. Bureau of Labor Statistics",
      "source": "U.S. Bureau of Labor Statistics",
      "sourceUrl": "https://www.bls.gov/developers/",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.bls.gov/developers/",
      "baseUrl": "https://api.bls.gov/publicAPI/v2/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Inflation, unemployment and wage series; free key raises daily limits.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "U.S. Bureau of Labor Statistics",
        "sourceUrl": "https://www.bls.gov/developers/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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-usda-fooddata",
      "slug": "us-usda-fooddata",
      "title": "USDA ~ FoodData Central nutrition database",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "U.S. Department of Agriculture (ARS)",
      "source": "U.S. Department of Agriculture (ARS)",
      "sourceUrl": "https://fdc.nal.usda.gov/api-guide.html",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://fdc.nal.usda.gov/api-guide.html",
      "baseUrl": "https://api.nal.usda.gov/fdc/v1/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Nutrient profiles for 400k+ foods; free data.gov key (DEMO_KEY works).",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "U.S. Department of Agriculture (ARS)",
        "sourceUrl": "https://fdc.nal.usda.gov/api-guide.html",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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-smithsonian-open-access",
      "slug": "us-smithsonian-open-access",
      "title": "Smithsonian ~ Open Access collections API",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "US"
      ],
      "provider": "Smithsonian Institution",
      "source": "Smithsonian Institution",
      "sourceUrl": "https://www.si.edu/openaccess/devtools",
      "tier": "open",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "free",
      "docs": "https://www.si.edu/openaccess/devtools",
      "baseUrl": "https://api.si.edu/openaccess/api/v1.0/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "11M+ museum records, many CC0 images; free data.gov key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Smithsonian Institution",
        "sourceUrl": "https://www.si.edu/openaccess/devtools",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "za-eskomsepush-loadshedding",
      "slug": "za-eskomsepush-loadshedding",
      "title": "EskomSePush ~ loadshedding status & schedules",
      "category": "Realtime",
      "group": "Government & open data",
      "country": [
        "ZA"
      ],
      "provider": "EskomSePush (ESP)",
      "source": "EskomSePush (ESP)",
      "sourceUrl": "https://eskomsepush.gumroad.com/l/api",
      "tier": "commercial",
      "kind": "realtime",
      "auth": "token",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://eskomsepush.gumroad.com/l/api",
      "baseUrl": "https://developer.sepush.co.za/business/2.0",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "The famous South African loadshedding app's official API; free daily token quota, paid for higher usage.",
      "trust": {
        "level": "authenticated",
        "label": "Needs token",
        "source": "EskomSePush (ESP)",
        "sourceUrl": "https://eskomsepush.gumroad.com/l/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Direct public JSON endpoint",
        "auth": "token",
        "authLabel": "Access token",
        "lastChecked": "2026-07-05",
        "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": "za-peach-payments",
      "slug": "za-peach-payments",
      "title": "Peach Payments ~ card & PayShap payment gateway",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "Peach Payments",
      "source": "Peach Payments",
      "sourceUrl": "https://developer.peachpayments.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.peachpayments.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "First-party docs hub with API references, interactive playgrounds and Postman collections for a leading SA payment orchestrator.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "Peach Payments",
        "sourceUrl": "https://developer.peachpayments.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "za-snapscan",
      "slug": "za-snapscan",
      "title": "SnapScan ~ QR-code mobile payments API",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "SnapScan",
      "source": "SnapScan",
      "sourceUrl": "https://developer.snapscan.co.za/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.snapscan.co.za/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Merchant API from the popular SA QR-payment app; auth via HTTP Basic with an API key.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "SnapScan",
        "sourceUrl": "https://developer.snapscan.co.za/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "za-ikhokha-ikpay",
      "slug": "za-ikhokha-ikpay",
      "title": "iKhokha iK Pay ~ online card & EFT payments",
      "category": "Payments",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "iKhokha",
      "source": "iKhokha",
      "sourceUrl": "https://developer.ikhokha.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://developer.ikhokha.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "iK Pay API from a major SA SME payments provider; requests are signed with an API key and secret.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "iKhokha",
        "sourceUrl": "https://developer.ikhokha.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "za-luno",
      "slug": "za-luno",
      "title": "Luno ~ crypto exchange trading & market data",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "Luno",
      "source": "Luno",
      "sourceUrl": "https://www.luno.com/en-za/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://www.luno.com/en-za/api",
      "baseUrl": "https://api.luno.com/api/1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Cape Town-founded crypto exchange; public market-data endpoints need no auth, trading endpoints use an API key pair.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Luno",
        "sourceUrl": "https://www.luno.com/en-za/api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "za-valr",
      "slug": "za-valr",
      "title": "VALR ~ SA crypto exchange REST & WebSocket API",
      "category": "Crypto",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "VALR",
      "source": "VALR",
      "sourceUrl": "https://docs.valr.com/",
      "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.valr.com/",
      "baseUrl": "https://api.valr.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "South African crypto exchange with REST endpoints plus a streaming WebSocket for market, order and balance updates.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "VALR",
        "sourceUrl": "https://docs.valr.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "za-clickatell",
      "slug": "za-clickatell",
      "title": "Clickatell ~ SMS & chat messaging API",
      "category": "Communications",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "Clickatell",
      "source": "Clickatell",
      "sourceUrl": "https://docs.clickatell.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.clickatell.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "South African-founded global messaging gateway; token-based auth with SMS and chat-commerce channels.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Clickatell",
        "sourceUrl": "https://docs.clickatell.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "za-census-graphql",
      "slug": "za-census-graphql",
      "title": "SA Census API ~ GraphQL census & place data",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "Adrian Frith (independent)",
      "source": "Adrian Frith (independent)",
      "sourceUrl": "https://adrian.frith.dev/census-api-website/",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://adrian.frith.dev/census-api-website/",
      "baseUrl": "https://census-api.frith.dev/graphql",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Independent, free GraphQL API built on Stats SA census data; query places by name, type or coordinates.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Adrian Frith (independent)",
        "sourceUrl": "https://adrian.frith.dev/census-api-website/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "za-vulekamali-budget",
      "slug": "za-vulekamali-budget",
      "title": "vulekamali ~ SA national budget data (CKAN)",
      "category": "Government services",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "National Treasury (vulekamali)",
      "source": "National Treasury (vulekamali)",
      "sourceUrl": "https://vulekamali.gov.za/about",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://vulekamali.gov.za/about",
      "baseUrl": "https://data.vulekamali.gov.za/api/3/action",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "National Treasury's open budget data portal, served via a standard CKAN datastore API.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "National Treasury (vulekamali)",
        "sourceUrl": "https://vulekamali.gov.za/about",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "za-cipc-apiverse",
      "slug": "za-cipc-apiverse",
      "title": "CIPC APIVerse ~ company & beneficial-owner data",
      "category": "Government services",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "CIPC (Companies and Intellectual Property Commission)",
      "source": "CIPC (Companies and Intellectual Property Commission)",
      "sourceUrl": "https://developer.cipc.co.za/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.cipc.co.za/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Official CIPC developer hub for real-time company registry lookups; OAuth 2.0 auth, subscription-based access.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "CIPC (Companies and Intellectual Property Commission)",
        "sourceUrl": "https://developer.cipc.co.za/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "za-afrigis",
      "slug": "za-afrigis",
      "title": "AfriGIS ~ SA geocoding, address & mapping",
      "category": "Maps & location",
      "group": "Build",
      "country": [
        "ZA"
      ],
      "provider": "AfriGIS",
      "source": "AfriGIS",
      "sourceUrl": "https://developers.afrigis.co.za/",
      "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.afrigis.co.za/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "South African geospatial provider with SABS/ISO-compliant address search across 50M+ address combinations.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "AfriGIS",
        "sourceUrl": "https://developers.afrigis.co.za/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "my-bnm-opr-base-rate",
      "slug": "my-bnm-opr-base-rate",
      "title": "BNM OPR & Base Rate ~ Malaysia's official interest rates",
      "category": "Banking & finance",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Bank Negara Malaysia (BNM)",
      "source": "Bank Negara Malaysia (BNM)",
      "sourceUrl": "https://data.gov.my/data-catalogue/my-bnm-opr-base-rate",
      "tier": "open",
      "kind": "dataset",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://apikijangportal.bnm.gov.my/openapi",
      "baseUrl": "https://api.bnm.gov.my/public/opr",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless REST endpoints for the Overnight Policy Rate and every bank's base rate/base lending rate/indicative effective lending rate; requires an Accept: application/vnd.BNM.API.v1+json header, no key needed.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bank Negara Malaysia (BNM)",
        "sourceUrl": "https://data.gov.my/data-catalogue/my-bnm-opr-base-rate",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "my-bnm-kijang-emas",
      "slug": "my-bnm-kijang-emas",
      "title": "BNM Kijang Emas ~ official Malaysian gold coin price",
      "category": "Commodities & metals",
      "group": "Build",
      "country": [
        "MY"
      ],
      "provider": "Bank Negara Malaysia (BNM)",
      "source": "Bank Negara Malaysia (BNM)",
      "sourceUrl": "https://apikijangportal.bnm.gov.my/openapi",
      "tier": "open",
      "kind": "realtime",
      "auth": "none",
      "authDetails": {
        "scheme": "none",
        "type": "none",
        "credential": null
      },
      "copyable": true,
      "pricing": "free",
      "docs": "https://apikijangportal.bnm.gov.my/openapi",
      "baseUrl": "https://api.bnm.gov.my/public/kijang-emas",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Keyless REST endpoint for BNM's own Kijang Emas gold bullion coin buying/selling prices (1oz/half-oz/quarter-oz) in MYR; requires the versioned Accept header, no key needed. It's BNM's own coin price, not a generic global spot-gold feed.",
      "trust": {
        "level": "copy-paste",
        "label": "Copy-paste ready",
        "source": "Bank Negara Malaysia (BNM)",
        "sourceUrl": "https://apikijangportal.bnm.gov.my/openapi",
        "sourceType": "Official public feed",
        "endpointType": "Direct public JSON endpoint",
        "auth": "none",
        "authLabel": "No auth",
        "lastChecked": "2026-07-05",
        "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": "api-football",
      "slug": "api-football",
      "title": "API-Football ~ live scores, fixtures & stats, 1,200+ leagues",
      "category": "Fun & playground",
      "group": "Build",
      "country": [
        "global"
      ],
      "provider": "API-Sports",
      "source": "API-Sports",
      "sourceUrl": "https://www.api-football.com/documentation-v3",
      "tier": "commercial",
      "kind": "realtime",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "x-apisports-key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://www.api-football.com/documentation-v3",
      "baseUrl": "https://v3.football.api-sports.io",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free plan gives 100 requests/day across every endpoint (including Malaysia's Super League and other SEA leagues) with limited historical seasons; paid plans raise the volume and per-minute rate limit. Key goes in the x-apisports-key header.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "API-Sports",
        "sourceUrl": "https://www.api-football.com/documentation-v3",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Direct public JSON endpoint",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-synthesia",
      "slug": "uk-synthesia",
      "title": "Synthesia API ~ generate AI avatar videos from a script",
      "category": "AI",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Synthesia",
      "source": "Synthesia",
      "sourceUrl": "https://docs.synthesia.io/reference/introduction",
      "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.synthesia.io/reference/introduction",
      "baseUrl": "https://api.synthesia.io/v2/videos",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "API access needs a Creator or Enterprise plan — Free and Starter Synthesia plans can't call the API at all — and included usage is capped (roughly 360 minutes of video/year) before extra credits are billed.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Synthesia",
        "sourceUrl": "https://docs.synthesia.io/reference/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-yoti",
      "slug": "uk-yoti",
      "title": "Yoti ~ identity verification, doc scan & age check API",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Yoti",
      "source": "Yoti",
      "sourceUrl": "https://developers.yoti.com/identity-verification-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://developers.yoti.com/identity-verification-api",
      "baseUrl": "https://api.yoti.com/idverify/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free sandbox with mock verification outcomes for integration testing; production use requires a verified Yoti Hub organisation and is billed per check. Requests are signed with an RSA key pair rather than a simple bearer token.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Yoti",
        "sourceUrl": "https://developers.yoti.com/identity-verification-api",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-esendex",
      "slug": "uk-esendex",
      "title": "Esendex SMS API ~ send & receive text messages from the UK",
      "category": "Communications",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Esendex",
      "source": "Esendex",
      "sourceUrl": "https://developers.esendex.com/api-reference/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "http",
        "type": "basic",
        "credential": "API key as username"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.esendex.com/api-reference/",
      "baseUrl": "https://api.esendex.com/v1.0/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free trial can only send to your own verified phone number; full sending needs purchased message credits. Auth is HTTP Basic with your account username and API password (or a reusable session ID), not OAuth.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Esendex",
        "sourceUrl": "https://developers.esendex.com/api-reference/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "uk-guardian-open-platform",
      "slug": "uk-guardian-open-platform",
      "title": "Guardian Open Platform ~ search Guardian articles since 1999",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "UK"
      ],
      "provider": "Guardian News & Media",
      "source": "Guardian News & Media",
      "sourceUrl": "https://open-platform.theguardian.com/documentation/",
      "tier": "commercial",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://open-platform.theguardian.com/documentation/",
      "baseUrl": "https://content.guardianapis.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free developer key gives 12 calls/second and 5,000 calls/day for non-commercial use; commercial or higher-volume use needs a separate paid tier agreed directly with the Guardian.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Guardian News & Media",
        "sourceUrl": "https://open-platform.theguardian.com/documentation/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "se-spotify-web-api",
      "slug": "se-spotify-web-api",
      "title": "Spotify Web API ~ tracks, albums, playlists & audio features",
      "category": "Design & media",
      "group": "Build",
      "country": [
        "SE"
      ],
      "provider": "Spotify",
      "source": "Spotify",
      "sourceUrl": "https://developer.spotify.com/documentation/web-api",
      "tier": "commercial",
      "kind": "dataset",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.spotify.com/documentation/web-api",
      "baseUrl": "https://api.spotify.com/v1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free once you register an app for a client ID/secret; OAuth 2.0 access tokens expire hourly. Some endpoints (certain audio-features/related-artist calls) have been restricted for newer apps under recent policy changes, so check current endpoint access before building on them.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Spotify",
        "sourceUrl": "https://developer.spotify.com/documentation/web-api",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "es-typeform",
      "slug": "es-typeform",
      "title": "Typeform API ~ create forms & pull responses programmatically",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Typeform",
      "source": "Typeform",
      "sourceUrl": "https://developer.typeform.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.typeform.com/",
      "baseUrl": "https://api.typeform.com",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free Typeform plan covers basic API use; response volume and some advanced logic/webhook features are gated behind paid plans. Supports both OAuth2 and personal access tokens.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Typeform",
        "sourceUrl": "https://developer.typeform.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "es-signaturit",
      "slug": "es-signaturit",
      "title": "Signaturit ~ EU-compliant e-signature & ID verification API",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "ES"
      ],
      "provider": "Signaturit",
      "source": "Signaturit",
      "sourceUrl": "https://docs.signaturit.com/api/latest",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://docs.signaturit.com/api/latest",
      "baseUrl": "https://api.signaturit.com/v3",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free sandbox environment mirrors production for building an integration, but real signing/verification volume is billed — there's no free production tier. Auth is an OAuth2 bearer token issued from the dashboard.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Signaturit",
        "sourceUrl": "https://docs.signaturit.com/api/latest",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "it-lara-translate",
      "slug": "it-lara-translate",
      "title": "Lara Translate API ~ adaptive AI translation, 200+ languages",
      "category": "AI",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Translated",
      "source": "Translated",
      "sourceUrl": "https://developers.laratranslate.com/docs/introduction",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developers.laratranslate.com/docs/introduction",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free tier covers up to 10,000 characters/month with no card required; heavier use moves to per-character paid plans. Lara is Rome-based Translated's newer product line, succeeding their ModernMT API which is being sunset by end of 2026.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Translated",
        "sourceUrl": "https://developers.laratranslate.com/docs/introduction",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "it-musixmatch",
      "slug": "it-musixmatch",
      "title": "Musixmatch API ~ licensed song lyrics & music metadata",
      "category": "Data & enrichment",
      "group": "Build",
      "country": [
        "IT"
      ],
      "provider": "Musixmatch",
      "source": "Musixmatch",
      "sourceUrl": "https://developer.musixmatch.com/",
      "tier": "commercial",
      "kind": "dataset",
      "auth": "apiKey",
      "authDetails": {
        "scheme": "apiKey",
        "type": "header",
        "header": "X-API-Key",
        "credential": "API key"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://developer.musixmatch.com/",
      "baseUrl": "https://api.musixmatch.com/ws/1.1",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free developer plan gives limited daily calls and lyric previews only; full synced lyrics and higher limits need a paid, licensed plan.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Musixmatch",
        "sourceUrl": "https://developer.musixmatch.com/",
        "sourceType": "Official open-data catalogue",
        "endpointType": "Open-data catalogue JSON",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "no-signicat",
      "slug": "no-signicat",
      "title": "Signicat ~ Nordic digital identity, BankID & e-signature API",
      "category": "Auth & identity",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Signicat",
      "source": "Signicat",
      "sourceUrl": "https://developer.signicat.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.signicat.com/",
      "baseUrl": "https://api.signicat.com/",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Enterprise-oriented pricing (custom quotes, no public self-serve free tier) — the value is one integration reaching Norwegian BankID and other Nordic eIDs, not a cheap hobby key. OAuth2 client-credentials flow with a shared signicat-api scope.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Signicat",
        "sourceUrl": "https://developer.signicat.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "no-cognite",
      "slug": "no-cognite",
      "title": "Cognite Data Fusion ~ industrial data platform + free dataset",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "NO"
      ],
      "provider": "Cognite",
      "source": "Cognite",
      "sourceUrl": "https://docs.cognite.com/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "oauth",
      "authDetails": {
        "scheme": "oauth2",
        "type": "bearer",
        "credential": "OAuth access token"
      },
      "copyable": false,
      "pricing": "freemium",
      "docs": "https://docs.cognite.com/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "The core platform is enterprise/paid, but Cognite Hub offers a genuinely free, real dataset (\"Open Industrial Data\": sensor and maintenance data from an Aker BP North Sea oil platform) queryable after creating a free Hub account with OIDC credentials.",
      "trust": {
        "level": "authenticated",
        "label": "Needs OAuth",
        "source": "Cognite",
        "sourceUrl": "https://docs.cognite.com/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "oauth",
        "authLabel": "OAuth",
        "lastChecked": "2026-07-05",
        "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": "ca-1password",
      "slug": "ca-1password",
      "title": "1Password Developer APIs ~ secrets automation & SSH agent",
      "category": "Backend & devtools",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "1Password (AgileBits)",
      "source": "1Password (AgileBits)",
      "sourceUrl": "https://developer.1password.com/docs/secrets-automation/",
      "tier": "commercial",
      "kind": "commercial",
      "auth": "bearer",
      "authDetails": {
        "scheme": "bearer",
        "type": "bearer",
        "credential": "bearer token"
      },
      "copyable": false,
      "pricing": "paid",
      "docs": "https://developer.1password.com/docs/secrets-automation/",
      "baseUrl": null,
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Requires a 1Password Business subscription plus the Secrets Automation add-on; the Connect server is self-hosted (Kubernetes/Docker/VM), so there's no single public base URL. Also ships an Events API and a Users API (public preview) for security-automation workflows.",
      "trust": {
        "level": "authenticated",
        "label": "Needs bearer",
        "source": "1Password (AgileBits)",
        "sourceUrl": "https://developer.1password.com/docs/secrets-automation/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Docs-first integration",
        "auth": "bearer",
        "authLabel": "Bearer token",
        "lastChecked": "2026-07-05",
        "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": "ca-coveo",
      "slug": "ca-coveo",
      "title": "Coveo ~ AI-powered enterprise search & recommendations API",
      "category": "AI",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Coveo",
      "source": "Coveo",
      "sourceUrl": "https://docs.coveo.com/en/13/",
      "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.coveo.com/en/13/",
      "baseUrl": "https://platform.cloud.coveo.com/rest/search",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free trial available; production usage is a paid enterprise plan. Authenticate with an API key or OAuth2 token in the Authorization header.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Coveo",
        "sourceUrl": "https://docs.coveo.com/en/13/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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": "ca-snipcart",
      "slug": "ca-snipcart",
      "title": "Snipcart ~ drop-in e-commerce cart & checkout API",
      "category": "E-commerce",
      "group": "Build",
      "country": [
        "CA"
      ],
      "provider": "Snipcart",
      "source": "Snipcart",
      "sourceUrl": "https://docs.snipcart.com/v3/",
      "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.snipcart.com/v3/",
      "baseUrl": "https://app.snipcart.com/api",
      "frequency": null,
      "coverage": null,
      "lastVerified": "2026-07-05",
      "lastChecked": "2026-07-05",
      "rateLimit": null,
      "note": "Free/test mode while building; live orders are billed as a percentage of sales once you go live. Works as a JS snippet plus a REST API for products, customers, orders and webhooks — no need to build your own cart/checkout backend.",
      "trust": {
        "level": "authenticated",
        "label": "Needs API key",
        "source": "Snipcart",
        "sourceUrl": "https://docs.snipcart.com/v3/",
        "sourceType": "Provider API or developer docs",
        "endpointType": "Provider API base URL",
        "auth": "apiKey",
        "authLabel": "API key",
        "lastChecked": "2026-07-05",
        "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."
      }
    }
  ]
}