API & MCP

Everything a person can do on Schengen 90/180 Day Counter, a program or AI agent can do with the same inputs and get the identical result.

HTTP API

Schengen 90/180 Day Counter

Enter your past and planned stays in the Schengen area. The counter applies the rolling 90/180-day rule of the Schengen Borders Code to every day of stay: how many days you have used on a date, whether any stay was too long, the last day you may stay, how long your next stay can be and when a full 90-day stay is possible again.

Inputs of Schengen 90/180 Day Counter
FieldTypeDefaultDescription
staystable[{"entry":"2026-06-01","exit":"2026-07-15","label":"Summer in Italy"}]Stays in the Schengen area. One row per stay; the day of entry and the day of exit both count. Planned stays count too.
checkDate (required)date"2026-11-14"Check on (date of control or planned entry)
plannedLengthinteger90Length of your next stay (days). Finds the earliest entry date from which a stay this long fits the rule.

Example request

EU manual example: 1 Jan 2024 plus 1 June to 20 September 2024, checked on 14 June

curl -X POST https://hearthschengendays.usefulweb.site/api/v1/calculate -H 'content-type: application/json' -d '{"stays":[{"entry":"2024-01-01","exit":"2024-01-01","label":"Day trip"},{"entry":"2024-06-01","exit":"2024-09-20","label":"Summer stay"}],"checkDate":"2024-06-14","plannedLength":90}'

Every result contains

inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.

MCP (Model Context Protocol)

{
  "mcpServers": {
    "hearth-schengen-days": { "type": "http", "url": "https://hearthschengendays.usefulweb.site/mcp" }
  }
}