Home / Developers
For developers and AI agents
One verified investment-migration dataset, served three ways: a REST dataset, a machine-readable changes feed, and an MCP server for AI agents. Every record carries its source, verification date and freshness score. This page is the API contract.
API version: v1 (current, 2026-08-29). Three public, unauthenticated, read-only surfaces serve the same verified backbone of 98 programmes across 194 countries:
| Surface | Endpoint | What it serves |
|---|---|---|
| REST dataset | https://www.mirabelloconsultancy.com/index.json | The full open dataset: every tracked programme with figures, provenance and a data_freshness block per record. CSV mirror at /mirabello-index.csv. |
| Changes feed | https://www.mirabelloconsultancy.com/api/changes.json | Material data changes, newest first (thresholds, fees, processing times, status, pathway additions, re-verification activity). Supports ?since=YYYY-MM-DD. |
| MCP server | https://mcp.mirabelloconsultancy.com | Model Context Protocol tools for AI agents: get_programme, get_index, comparison, tax, mobility and pathway tools, over the same data. |
Human-readable companions: the programme data pages, the public change log (RSS at /changelog.xml), the verification methodology and the service status page.
/api/changes.json.data_freshness block mean?Every programme record in /index.json and every MCP get_programme response carries a data_freshness block — the machine-readable trust signal integrators can build on:
"data_freshness": {
"verification_confidence": 0-100, // mean per-field confidence (model below)
"last_verified": "YYYY-MM-DD", // most recent field-level verification date
"fields_tracked": n, // provenance-tracked fields on this record
"stale_fields": n // fields past their re-verification SLA
}
Confidence model (from the shipping configuration, schema v1.0): each tracked field starts from a base confidence set by its source tier — official 92, secondary 74, tertiary 58, unknown 45 — and decays once its verification age exceeds the field's SLA: penalty = min(45, overdue_ratio × 22), where overdue_ratio = max(0, age − SLA) ÷ SLA. A record's verification_confidence is the mean across its tracked fields.
Per-field re-verification SLAs (a field older than its SLA counts in stale_fields):
| Field | Meaning | SLA |
|---|---|---|
min_investment | Minimum investment | 90 days |
processing_time | Processing time | 90 days |
visa_free_count | Visa-free count | 35 days |
visa_free_set | Visa-free destination set | 35 days |
travel_access | Travel/residence access | 90 days |
government_fees | Government fees | 90 days |
tax | Tax regime | 180 days |
family_pricing | Family pricing | 120 days |
path_to_citizenship | Path to citizenship | 180 days |
banking_practical | Non-resident banking, practical bank appetite | 30 days |
banking_statutory | Non-resident banking, statutory position | 90 days |
ubo_registry_status | UBO register visibility | 60 days |
foundation_rules | Foundation & trust law | 180 days |
realestate_law | Real-estate law for foreign buyers | 120 days |
name_change_rules | Legal name-change rules | 180 days |
Corroboration semantics: figures are verified value-level against the official government source, then independently cross-checked; divergences are resolved against the official source, never by majority vote. Full detail: the verification methodology.
https://www.mirabelloconsultancy.com/data/programmes/st-kitts-cbi), or to /index.json for dataset-level references./index.json, /api/changes.json and the MCP tools, provided each use attributes Mirabello Immigration Intelligence and links the relevant data page.last_verified date (or the page's as-at date) so end users see how current it is.The dataset is information, not legal, tax or immigration advice. Figures are the published official position at their verification date and change without notice; verify decision-critical values against the linked official source.