GET/v1/date/parse
Turn natural language like "next Tuesday at 3pm" or "in 3 weeks" into ISO dates
Relative phrases are resolved against ref (default: now) in tz. Several dates in one text come back as separate results. certain says which parts were stated explicitly versus assumed.
PARAMETERS
- textquery · stringREQUIRED
- Text containing one or more datese.g. Let's meet next Tuesday at 3pm for an hour
- refquery · string
- Reference instant for relative phrases (ISO-8601, default now)e.g. 2026-10-08T12:00:00Z
- tzquery · string
- Zone the text is spoken ine.g. America/New_York
- forwardquery · boolean
- Prefer future dates for ambiguous phrases like "Friday"e.g. true
REQUEST
curl "https://api.apialmanac.com/v1/date/parse?text=Let%27s+meet+next+Tuesday+at+3pm+for+an+hour" \ -H "X-API-Key: YOUR_KEY"
import requests
r = requests.get("https://api.apialmanac.com/v1/date/parse?text=Let%27s+meet+next+Tuesday+at+3pm+for+an+hour", headers={"X-API-Key": "YOUR_KEY"})
print(r.status_code, r.headers.get("X-Gw-Remaining"))
print(r.json())
const r = await fetch("https://api.apialmanac.com/v1/date/parse?text=Let%27s+meet+next+Tuesday+at+3pm+for+an+hour", {
headers: { "X-API-Key": "YOUR_KEY" }
});
console.log(r.status, r.headers.get("X-Gw-Remaining"));
console.log(await r.json());
RESPONSE
200OK
{
"text": "Let's meet next Tuesday at 3pm for an hour",
"ref": "2026-10-08T12:00:00Z",
"zone": "America/New_York",
"count": 1,
"results": [
{
"text": "next Tuesday at 3pm",
"index": 11,
"start": {
"iso": "2026-10-13T15:00:00-04:00",
"utc": "2026-10-13T19:00:00Z",
"date": "2026-10-13",
"time": "15:00",
"certain": {
"date": true,
"time": true
}
},
"end": null
}
]
}