Thai Holiday Data API
Returns Thai public and financial-institution holidays for a year, a date range or a window around today, each with its date, weekday and name.
- Price0.1 ICper request
- Measured110/110
- Capacity1000 requests/hour
- Served65.8Kcalls
Input
- holiday_type
- public
- days_after
- 365
OutputGET /v3/store/data/thai-holiday
- holidays
- 2 × { date, date_thai, weekday, weekday_thai, name, name_thai, type, day_off, region }
- total_count
- 25
- date_range
- start_date: 2025-06-08 end_date: 2026-06-08 query_type: range reference_date: 2025-06-08
- holiday_types
- public
- cached_at
- 2025-06-08T10:29:33.740056
Every field, under ResponseOther endpoints: /range see Request
Request
GET with query parameters; 0.1 IC per request on every endpoint.
Headers
apikeystringrequiredBody
holiday_typestringpublic, the default, financial, or both. public also returns observances, marked as such.days_beforedays_afterintegeryearintegerstart_dateend_datestring/range: YYYY-MM-DD, both required there.| Endpoint | Returns |
|---|---|
/v3/store/data/thai-holiday | The holidays in the window, or in the year |
/v3/store/data/thai-holiday/year/{year} | A whole year |
/v3/store/data/thai-holiday/range | The holidays between two dates |
/v3/store/data/thai-holiday/types | The holiday types |
The legacy path /data/thai-holidays/holidays answers at the same price.
Response
holidays[], each with date, weekday, name, type, day_off, region and, where available, date_thai, weekday_thai and name_thai; total_count; the date_range resolved from your query; and cached_at.As in the panel: holidays[], each with date, weekday, name, type, day_off, region and, where available, date_thai, weekday_thai and name_thai; total_count; the date_range resolved from your query; and cached_at.
type is public (an official day off), financial (a financial-institution holiday) or observance (a day of note that is not a day off, such as Chinese New Year or Christmas Day). day_off is false for observances only, so keep entries with day_off: true to list days off. region is null for a nationwide holiday and names the area otherwise, for example Bangkok.
When a window reaches a year whose financial-institution holidays are not yet published, the published years are returned and date_range.financial_years_unavailable lists the others.
Status codes
400 and 422 for an invalid parameter, such as a date not in YYYY-MM-DD or an unknown holiday_type, with detail[] naming the field; 404 for an unknown endpoint; 503 when financial-institution holidays are requested only for years that are not available, with detail naming the years that are.
Details
Measured
On the production service, version 2.1.0, 29 October 2026, against the Bank of Thailand's financial-institution holiday calendar for 2022 to 2027 and the government-only holidays in the Cabinet's published holiday lists for 2022 to 2026.
| Measure | Result |
|---|---|
| National holidays 2022–2027 on the correct date, substitution and special days included | 110 of 110 (95% CI 96.7–100%) |
| Government-only holidays 2022–2026 on the correct date | 15 of 15 (95% CI 78.2–100%) |
| Financial-institution holidays 2022–2027 on the correct date | 111 of 111, no extra date |
| Entries returned as days off, 2022–2027, that are official holidays | 159 of 159 (95% CI 97.7–100%) |
Observances returned with day_off: false | 36 of 36 |
| Official weekday holidays with the correct name | 115 of 126 (91.3%) |
| Everyday queries answered, the examples on this page included | 10 of 10 |
| Time through the API from Bangkok, median / 95th percentile | 82 ms / 100 ms |
To count days off, keep the entries with day_off: true: the 36 observances (each year three days of Chinese New Year, Valentine's Day, Christmas Eve and Christmas Day) are marked, and 25 of them fall on weekdays. The 11 holidays with an incorrect name are special holidays that carry a generic name (8) or a wrong one (3); their dates are correct. No official machine-readable list of government-only holidays exists, so that reference was compiled from published reports of the Cabinet's decisions; provincial holidays were not measured. Method and limits: the benchmark (PDF).
Limits
- 1,000 requests per hour per key, 100 per minute in bursts; ask us for more.
- Years 2020 to 2030 are accepted. 2020 returns an empty list, and the days off returned for 2028 to 2030 come before any official list for those years and are not marked as provisional.
- Financial-institution holidays cover 2022 to 2027 and government-only holidays 2022 to 2026; each new year is added once the Bank of Thailand or the Cabinet publishes it.
- Fetch a year at a time rather than many small windows.
Data handling
Nothing personal is sent or kept.
Changelog
| Version | Date | Changes |
|---|---|---|
| v2.1.0-20261029 | 29 Oct 2026 | Financial-institution holidays for 2022 to 2027; before this, 2026 only. Observances such as Chinese New Year, Valentine's Day and Christmas Day are still returned with holiday_type=public, now as type observance with day_off false; every entry gains day_off and region. Khao Phansa Day and the other government-only holidays that were missing are added. A window that reaches a year whose financial-institution holidays are not yet published returns the published years and lists the others in date_range.financial_years_unavailable, instead of failing. |