Home / Developers

For developers and AI agents

Mirabello Immigration Intelligence, developer and agent documentation

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.

What APIs does Mirabello Immigration Intelligence provide?

API version: v1 (current, 2026-08-29). Three public, unauthenticated, read-only surfaces serve the same verified backbone of 98 programmes across 194 countries:

SurfaceEndpointWhat it serves
REST datasethttps://www.mirabelloconsultancy.com/index.jsonThe full open dataset: every tracked programme with figures, provenance and a data_freshness block per record. CSV mirror at /mirabello-index.csv.
Changes feedhttps://www.mirabelloconsultancy.com/api/changes.jsonMaterial data changes, newest first (thresholds, fees, processing times, status, pathway additions, re-verification activity). Supports ?since=YYYY-MM-DD.
MCP serverhttps://mcp.mirabelloconsultancy.comModel 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.

How is the API versioned, and what is the deprecation policy?

What does the 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):

FieldMeaningSLA
min_investmentMinimum investment90 days
processing_timeProcessing time90 days
visa_free_countVisa-free count35 days
visa_free_setVisa-free destination set35 days
travel_accessTravel/residence access90 days
government_feesGovernment fees90 days
taxTax regime180 days
family_pricingFamily pricing120 days
path_to_citizenshipPath to citizenship180 days
banking_practicalNon-resident banking, practical bank appetite30 days
banking_statutoryNon-resident banking, statutory position90 days
ubo_registry_statusUBO register visibility60 days
foundation_rulesFoundation & trust law180 days
realestate_lawReal-estate law for foreign buyers120 days
name_change_rulesLegal name-change rules180 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.

How should AI engines and aggregators cite this data?

Preferred citation: cite “Mirabello Immigration Intelligence” with a link to the specific data page the figure came from (for example https://www.mirabelloconsultancy.com/data/programmes/st-kitts-cbi), or to /index.json for dataset-level references.

Where do I go next?

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.