ASEAN in Data / Developers
Developers

Build with Southeast Asia’s data.

Use the same source datasets behind our charts in your applications, research notebooks and AI tools. Public, read-only access. No account or API key required.
JSON API

Your data workflow.

Discover 56 published tables, inspect their columns, and query original rows with filters and pagination.

/api/v1
Model Context Protocol

Your AI research assistant.

Give compatible AI clients access to the same datasets, source links and coverage notes through four read-only tools.

/mcp
01 / Quick start

Make your first request.

This request returns Philippine remittance observations for 2024. Numeric values stay as strings to preserve the source CSV’s precision.

curl 'https://asean.bettergov.ph/api/v1/datasets/remittances_history/rows?filter.iso3=PHL&filter.year=2024&limit=10'

Open this JSON response →

JavaScript example
const response = await fetch(
  'https://asean.bettergov.ph/api/v1/datasets/remittances_history/rows?filter.iso3=PHL&filter.year=2024&limit=10'
);
if (!response.ok) throw new Error(await response.text());
const { data, dataset, pagination } = await response.json();
console.log(data);
// Follow pagination.next_offset until it is null.
// Inspect dataset.documents for definitions and coverage notes.
02 / Endpoints

A small, consistent API.

GET endpointReturns
/api/v1/countriesCountry names and SEA-11 ISO3 codes.
/api/v1/datasetsAll published tables, columns, row counts and CSV links.
/api/v1/datasets/{dataset}One table’s schema, source documents and SHA-256 checksum.
/api/v1/datasets/{dataset}/rowsOriginal rows, dataset metadata and pagination.

Filters & pagination

Use filter.COLUMN=value for any column in a dataset. Matches are exact, case-sensitive and combined with AND. For example, filter.iso3=PHL&filter.year=2024. FDI uses recipient_iso3; wide tables may have separate year columns. Inspect the schema first.

limit defaults to 100 (maximum 500). offset defaults to 0. Responses include total and next_offset; a null next offset marks the end. Unknown parameters, columns and invalid pagination return 400; unknown datasets return 404. No matching rows returns 200 with an empty array.

Browser requests are supported through public CORS. Successful API responses may be cached for five minutes. Data changes when the site’s source packs are updated; this is an archived research collection, not a live upstream feed.

03 / AI connections

Connect through MCP.

Connect your AI assistant to the datasets behind ASEAN in Data. The server is public and read-only, with no account or API key required.

MCP server URL
https://asean.bettergov.ph/mcp

Choose your client below. If you already have an MCP configuration file, merge the new server entry into it.

Claude Code

Run this command in your terminal, then use /mcp inside Claude Code to check the connection.

Claude Code terminal command
claude mcp add --transport http asean-in-data https://asean.bettergov.ph/mcp
Claude Code setup guide ↗

Claude.ai & Claude Desktop

  1. Open Customize → Connectors (or the Connectors area in Settings).
  2. Select + → Add custom connector.
  3. Name it ASEAN in Data and paste the MCP server URL above. Leave OAuth credentials empty.
  4. Add the connector, then enable it for your conversation from the + → Connectors menu.

For a managed workspace, an owner may need to add the connector first.

Claude connector setup guide ↗

OpenAI Codex

Add this entry to ~/.codex/config.toml, then open a new Codex session.

Codex config.toml
[mcp_servers.asean-in-data]
url = "https://asean.bettergov.ph/mcp"
Codex MCP setup guide ↗

Cursor

Add this to .cursor/mcp.json in your project, or ~/.cursor/mcp.json for all projects. Enable the server in Cursor’s MCP settings.

Cursor mcp.json
{
  "mcpServers": {
    "asean-in-data": {
      "url": "https://asean.bettergov.ph/mcp"
    }
  }
}
Cursor MCP setup guide ↗

VS Code

Add this to .vscode/mcp.json. Run MCP: List Servers from the Command Palette and start asean-in-data.

VS Code mcp.json
{
  "servers": {
    "asean-in-data": {
      "type": "http",
      "url": "https://asean.bettergov.ph/mcp"
    }
  }
}
VS Code MCP setup guide ↗

Other clients

Use the server URL with a client that supports Streamable HTTP, with no authentication. For a stdio-only client, use the mcp-remote bridge with Node.js installed.

Stdio bridge configuration
{
  "mcpServers": {
    "asean-in-data": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://asean.bettergov.ph/mcp"
      ]
    }
  }
}
Bridge setup guide ↗

Check your connection

Ask your assistant to list ASEAN in Data’s datasets. A working connection exposes list_datasets, list_countries, get_dataset and query_dataset. Inspect a dataset’s columns before filtering its rows.

Try asking

  • Find Philippine remittance observations for 2024. Include the units, sources and coverage caveats.
  • Compare Philippine and Malaysian interest payments as a share of revenue using observations from the same year.
  • Which health indicators have missing or older observations across Southeast Asia?
  • Show the sources of FDI into the Philippines, keeping different reporting bases separate.

Connection help

Use https://asean.bettergov.ph/mcp as the server URL; /api is the documentation page. Enable the server’s tools in your client and reload the client after editing configuration if it has not discovered them. No token or OAuth login is needed.

The endpoint uses stateless Streamable HTTP POST with JSON responses. Opening it in a browser returns 405; that is expected for a GET request. It does not provide a standalone SSE stream. For connection errors, check your client’s MCP logs and confirm it can reach the public URL.

Available tools

ToolPurpose
list_datasetsFind published tables and source documents.
list_countriesLook up country names and ISO3 codes.
get_datasetInspect a table using its dataset ID.
query_datasetRead rows with dataset, optional filters, limit and offset.
{
  "dataset": "remittances_history",
  "filters": {
    "iso3": "PHL",
    "year": "2024"
  },
  "limit": 10
}

Try asking: “Find Philippine remittance observations for 2024. Include the units, sources and coverage caveats.” The catalog is also available as the resource asean://datasets.

04 / Published tables

Explore the catalog.

Table IDs are stable API identifiers. Open a schema to see its columns and coverage documents before requesting rows.

DatasetRowsAccess
ai_rankings231Schema · Sample · CSV
ai_rankings_policies19Schema · Sample · CSV
tourism_long53Schema · Sample · CSV
tourism_history27Schema · Sample · CSV
services_ict_history918Schema · Sample · CSV
fdi_sector_matrix18Schema · Sample · CSV
fdi_source_amounts12Schema · Sample · CSV
fdi_sector_map87Schema · Sample · CSV
services_ict_exports132Schema · Sample · CSV
inflation_policy_rates66Schema · Sample · CSV
agriculture_food66Schema · Sample · CSV
investment_climate273Schema · Sample · CSV
egovernment_civic_tech77Schema · Sample · CSV
remittances_expanded33Schema · Sample · CSV
remittances_history858Schema · Sample · CSV
social_protection77Schema · Sample · CSV
external_balance49Schema · Sample · CSV
credit_banking52Schema · Sample · CSV
tax_revenue55Schema · Sample · CSV
scale_growth11Schema · Sample · CSV
living_costs_wages99Schema · Sample · CSV
gender_gaps99Schema · Sample · CSV
climate_disaster110Schema · Sample · CSV
fiscal_debt_scoreboard11Schema · Sample · CSV
remittances_scoreboard11Schema · Sample · CSV
mfg_peer_matrix7Schema · Sample · CSV
fiscal_interest32Schema · Sample · CSV
fdi_flows43Schema · Sample · CSV
fdi_recipient_totals12Schema · Sample · CSV
philippines_peer_matrix20Schema · Sample · CSV
governance_risk11Schema · Sample · CSV
tourism_recovery11Schema · Sample · CSV
poverty_inequality88Schema · Sample · CSV
health_outcomes77Schema · Sample · CSV
logistics_infrastructure90Schema · Sample · CSV
digital_landscape88Schema · Sample · CSV
trade_dependence343Schema · Sample · CSV
education_human_capital99Schema · Sample · CSV
labour_youth44Schema · Sample · CSV
demographics_urbanization88Schema · Sample · CSV
energy_commodities187Schema · Sample · CSV
currencies_fx98Schema · Sample · CSV
venture_capital105Schema · Sample · CSV
election_calendar99Schema · Sample · CSV
housing_residential69Schema · Sample · CSV
rcep_preference_margins103Schema · Sample · CSV
nutrition_outcomes88Schema · Sample · CSV
conflict_fragility99Schema · Sample · CSV
air_quality66Schema · Sample · CSV
water_sanitation66Schema · Sample · CSV
innovation_rd66Schema · Sample · CSV
productivity_informality33Schema · Sample · CSV
diaspora_migrant_stock141Schema · Sample · CSV
sovereign_ratings_debt119Schema · Sample · CSV
tariffs_rcep88Schema · Sample · CSV
rule_of_law_corruption52Schema · Sample · CSV

Keep the context with the numbers.

Empty strings indicate missing data, never zero. Rows keep their original format: long tables have metric/value columns; wide tables retain individual indicator columns. Units, observation years, source dates, projections and reporting bases differ. Read the linked notes before comparing or aggregating.

Some original tables omit inline provenance. Dataset document links and our methods and sources explain those limitations. Cite the original source and observation year alongside ASEAN in Data and the dataset URL. Third-party data retains its original terms; see Terms of Use.