Skip to main content

🏖ïļ āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āđ„āļ—āļĒ

0.1 ICāļ•āđˆāļ­āļ„āļģāļ‚āļ­
v1.0 Active🆕 āļž.āļĻ. 2568 GET /v3/store/data/thai-holiday

āļĒāļīāļ™āļ”āļĩāļ•āđ‰āļ­āļ™āļĢāļąāļšāļŠāļđāđˆ Thai Holiday Data API āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.0 āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļšāļĢāļīāļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļžāļąāļ’āļ™āļēāđ‚āļ”āļĒ āļšāļĢāļīāļĐāļąāļ— āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ āļˆāļģāļāļąāļ” API āļ‚āļ­āļ‡āđ€āļĢāļēāđƒāļŦāđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āļ‚āļ­āļ‡āđ„āļ—āļĒāļ—āļĩāđˆāļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāđāļĨāļ°āđ€āļ›āđ‡āļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļˆāļēāļāđāļŦāļĨāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āļŦāļĨāļēāļĒāđāļŦāđˆāļ‡ āļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļĩāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡āļŠāļģāļŦāļĢāļąāļšāļŠāļ–āļēāļšāļąāļ™āļāļēāļĢāđ€āļ‡āļīāļ™āđāļĨāļ°āļ§āļąāļ™āļŦāļĒāļļāļ”āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒāđƒāļ™āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒ āļ”āđ‰āļ§āļĒāđ€āļ§āļĨāļēāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§āđāļĨāļ°āļšāļĢāļīāļāļēāļĢāļ—āļĩāđˆāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđ„āļ”āđ‰

Try Demo​

Example Queries (Click to try)

?holiday_type=public&days_after=30
āļĢāļąāļšāļ§āļąāļ™āļŦāļĒāļļāļ”āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒāļŠāļģāļŦāļĢāļąāļš 30 āļ§āļąāļ™āļ‚āđ‰āļēāļ‡āļŦāļ™āđ‰āļē
?holiday_type=financial&days_after=90
āļĢāļąāļšāļ§āļąāļ™āļŦāļĒāļļāļ”āļŠāļ–āļēāļšāļąāļ™āļāļēāļĢāđ€āļ‡āļīāļ™āļŠāļģāļŦāļĢāļąāļš 90 āļ§āļąāļ™āļ‚āđ‰āļēāļ‡āļŦāļ™āđ‰āļē
?holiday_type=both&year=2025
āļĢāļąāļšāļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļąāđ‰āļ‡āļŦāļĄāļ” (āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒāđāļĨāļ°āļŠāļ–āļēāļšāļąāļ™āļāļēāļĢāđ€āļ‡āļīāļ™) āļŠāļģāļŦāļĢāļąāļšāļ›āļĩ 2025
?holiday_type=public&start_date=2025-07-01&end_date=2025-12-31
āļĢāļąāļšāļ§āļąāļ™āļŦāļĒāļļāļ”āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒāļ•āļąāđ‰āļ‡āđāļ•āđˆāđ€āļ”āļ·āļ­āļ™āļāļĢāļāļŽāļēāļ„āļĄāļ–āļķāļ‡āļ˜āļąāļ™āļ§āļēāļ„āļĄ 2025

Add query parameters (e.g., ?holiday_type=public&days_after=30)

Getting Started​

  1. Prerequisites

    • API key āļˆāļēāļ āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ
    • HTTP client āļŦāļĢāļ·āļ­āļ āļēāļĐāļēāđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāļ„āļļāļ“āđ€āļĨāļ·āļ­āļ
    • āļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļŦāļĨāļąāļāļāļēāļĢ REST API
  2. Quick Start

    • āđ€āļ§āļĨāļēāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§ (āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āļ•āđˆāļģāļāļ§āđˆāļē 500ms)
    • āļāļēāļĢāļ­āļąāļ›āđ€āļ”āļ•āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āđāļšāļšāđ€āļĢāļĩāļĒāļĨāđ„āļ—āļĄāđŒ
    • āļĢāļ­āļ‡āļĢāļąāļšāļ›āļĢāļ°āđ€āļ āļ—āļ§āļąāļ™āļŦāļĒāļļāļ”āļŦāļĨāļēāļĒāļ›āļĢāļ°āđ€āļ āļ—
    • āļāļēāļĢāļ„āđ‰āļ™āļŦāļēāļŠāđˆāļ§āļ‡āļ§āļąāļ™āļ—āļĩāđˆāļ—āļĩāđˆāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™
  3. Key Features

    • āļ§āļąāļ™āļŦāļĒāļļāļ”āļŠāļ–āļēāļšāļąāļ™āļāļēāļĢāđ€āļ‡āļīāļ™: āļ§āļąāļ™āļŦāļĒāļļāļ”āļ‚āļ­āļ‡āļŠāļ–āļēāļšāļąāļ™āļāļēāļĢāđ€āļ‡āļīāļ™āđƒāļ™āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒāļˆāļēāļāļ˜āļ™āļēāļ„āļēāļĢāđāļŦāđˆāļ‡āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒ
    • āļ§āļąāļ™āļŦāļĒāļļāļ”āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒ: āļ§āļąāļ™āļŦāļĒāļļāļ”āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒāļ‚āļ­āļ‡āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒāļˆāļēāļāļŠāļģāļ™āļąāļāđ€āļĨāļ‚āļēāļ˜āļīāļāļēāļĢāļ„āļ“āļ°āļĢāļąāļāļĄāļ™āļ•āļĢāļĩ
    • āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ§āļĄ: āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ›āļĢāļ°āđ€āļ āļ—āđƒāļ™āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§
    • āļāļēāļĢāļ„āđ‰āļ™āļŦāļēāļŠāđˆāļ§āļ‡āļ§āļąāļ™āļ—āļĩāđˆāļ—āļĩāđˆāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™ (āļ§āļąāļ™āļāđˆāļ­āļ™/āļŦāļĨāļąāļ‡, āļ›āļĩāļ—āļĩāđˆāļĢāļ°āļšāļļ, āļŠāđˆāļ§āļ‡āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡)
    • āļŠāļ·āđˆāļ­āļ§āļąāļ™āļŦāļĒāļļāļ”āļ āļēāļĐāļēāđ„āļ—āļĒāđāļĨāļ°āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ
    • āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āđƒāļ™āļŠāļąāļ›āļ”āļēāļŦāđŒāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ āļēāļĐāļē
  4. Data Freshness

    • āļ—āļĩāļĄāļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļĢāļēāđƒāļ™āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒāļˆāļ°āļ„āļ­āļĒāļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļĨāļ°āļ­āļąāļ›āđ€āļ”āļ•āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āļ­āļĒāđˆāļēāļ‡āļŠāļĄāđˆāļģāđ€āļŠāļĄāļ­āļ—āļąāļ™āļ—āļĩāļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāļ§āļąāļ™āļŦāļĒāļļāļ”āđƒāļŦāļĄāđˆāđƒāļ™āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒ
    • āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļ°āļ–āļđāļāđāļ„āļŠāđ€āļžāļ·āđˆāļ­āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļđāļ‡āļŠāļļāļ” āļžāļĢāđ‰āļ­āļĄāļ—āļąāđ‰āļ‡āļĢāļąāļšāļ›āļĢāļ°āļāļąāļ™āļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡
āļ§āļīāļ˜āļĩāļĢāļąāļš API Key?

āļāļĢāļļāļ“āļēāđ„āļ›āļ—āļĩāđˆāļŦāļ™āđ‰āļē API Key Management āđ€āļžāļ·āđˆāļ­āļ”āļđ API key āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļ„āļļāļ“ āļŦāļĢāļ·āļ­āļ‚āļ­āđƒāļŦāļĄāđˆ

API Endpoints​

EndpointMethodDescriptionCost
/v3/store/data/thai-holiday
Legacy: /data/thai-holidays/holidays
GETāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒāđāļĨāļ°āļ§āļąāļ™āļŦāļĒāļļāļ”āļŠāļ–āļēāļšāļąāļ™āļāļēāļĢāđ€āļ‡āļīāļ™āļ‚āļ­āļ‡āđ„āļ—āļĒ0.1 IC āļ•āđˆāļ­āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰

Example​

Get Current Year Public Holidays​

Request:​

curl -X GET "https://api.iapp.co.th/v3/store/data/thai-holiday?holiday_type=public&days_after=365" \
-H "apikey: YOUR_API_KEY"

Response:​

{
"holidays": [
{
"date": "2025-07-10",
"date_thai": null,
"weekday": "Thursday",
"weekday_thai": null,
"name": "āļ§āļąāļ™āļ­āļēāļŠāļēāļŽāļŦāļšāļđāļŠāļē",
"name_thai": null,
"type": "public"
},
{
"date": "2025-07-28",
"date_thai": null,
"weekday": "Monday",
"weekday_thai": null,
"name": "āļ§āļąāļ™āđ€āļ‰āļĨāļīāļĄāļžāļĢāļ°āļŠāļ™āļĄāļžāļĢāļĢāļĐāļē āļŠāļĄāđ€āļ”āđ‡āļˆāļžāļĢāļ°āđ€āļˆāđ‰āļēāļ­āļĒāļđāđˆāļŦāļąāļ§āļĄāļŦāļēāļ§āļŠāļīāļĢāļēāļĨāļ‡āļāļĢāļ“ āļšāļ”āļīāļ™āļ—āļĢāđ€āļ—āļžāļĒāļ§āļĢāļēāļ‡āļāļđāļĢ",
"name_thai": null,
"type": "public"
}
],
"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"
}

Get Holidays for Specific Year​

Request:​

curl -X GET "https://api.iapp.co.th/v3/store/data/thai-holiday/year/2025?holiday_type=both" \
-H "apikey: YOUR_API_KEY"

Get Holidays in Date Range​

Request:​

curl -X GET "https://api.iapp.co.th/v3/store/data/thai-holiday/range?start_date=2025-01-01&end_date=2025-12-31&holiday_type=financial" \
-H "apikey: YOUR_API_KEY"

Features & Capabilities​

Holiday Types​

API āļ‚āļ­āļ‡āđ€āļĢāļēāļŠāļ™āļąāļšāļŠāļ™āļļāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ” 3 āļ›āļĢāļ°āđ€āļ āļ—:

Public Holidays​

  • Source: The Secretariat of Cabinet (āļ”āļđāđāļĨāđ‚āļ”āļĒāļ—āļĩāļĄ āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ)
  • Description: āļ§āļąāļ™āļŦāļĒāļļāļ”āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒ
  • Includes: āļ§āļąāļ™āļŦāļĒāļļāļ”āļ›āļĢāļ°āļˆāļģāļŠāļēāļ•āļī, āļžāļĢāļ°āļĢāļēāļŠāļžāļīāļ˜āļĩ, āļ§āļąāļ™āļŠāļģāļ„āļąāļāļ—āļēāļ‡āļĻāļēāļŠāļ™āļē

Financial Holidays​

  • Source: Bank of Thailand (āļ”āļđāđāļĨāđ‚āļ”āļĒāļ—āļĩāļĄ āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ)
  • Description: āļ§āļąāļ™āļŦāļĒāļļāļ”āļ•āļēāļĄāļ›āļĢāļ°āđ€āļžāļ“āļĩāļ‚āļ­āļ‡āļŠāļ–āļēāļšāļąāļ™āļāļēāļĢāđ€āļ‡āļīāļ™
  • Includes: āļ§āļąāļ™āļŦāļĒāļļāļ”āļ˜āļ™āļēāļ„āļēāļĢ, āļ§āļąāļ™āļ›āļīāļ”āļ—āļģāļāļēāļĢāļ‚āļ­āļ‡āļ āļēāļ„āļāļēāļĢāđ€āļ‡āļīāļ™

Both Types​

  • Source: āļĢāļ§āļĄāļˆāļēāļāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļŦāļĨāđˆāļ‡
  • Description: āļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļļāļāļ›āļĢāļ°āđ€āļ āļ—āđƒāļ™āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§
  • Use Case: āļāļēāļĢāļ§āļēāļ‡āđāļœāļ™āļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļĩāđˆāļ„āļĢāļ­āļšāļ„āļĨāļļāļĄ

Query Options​

  • Date Ranges: āļ„āđ‰āļ™āļŦāļēāļ•āļēāļĄāļ§āļąāļ™āļāđˆāļ­āļ™/āļŦāļĨāļąāļ‡āļ§āļąāļ™āļ™āļĩāđ‰, āļ›āļĩāļ—āļĩāđˆāļĢāļ°āļšāļļ, āļŦāļĢāļ·āļ­āļŠāđˆāļ§āļ‡āļ§āļąāļ™āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡
  • Flexible Parameters: āļ§āļīāļ˜āļĩāļāļēāļĢāļĢāļ°āļšāļļāļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļēāļ—āļĩāđˆāļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāļŦāļĨāļēāļĒāļ§āļīāļ˜āļĩ
  • Type Filtering: āļĢāļąāļšāđ€āļ‰āļžāļēāļ°āļ›āļĢāļ°āđ€āļ āļ—āļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļāļĢāļ“āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āļ„āļļāļ“

Data Quality​

  • Real-time Updates: āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āļˆāļ°āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ­āļąāļ›āđ€āļ”āļ•āļ—āļąāļ™āļ—āļĩāđ€āļĄāļ·āđˆāļ­āļĄāļĩāļāļēāļĢāļ›āļĢāļ°āļāļēāļĻ
  • Authoritative Sources: āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āļĄāļēāļˆāļēāļ API āļ‚āļ­āļ‡āļĢāļąāļāļšāļēāļĨāđ„āļ—āļĒāļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢāđāļĨāļ°āļ›āļāļīāļ—āļīāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš
  • Bilingual Support: āļŠāļ·āđˆāļ­āļ§āļąāļ™āļŦāļĒāļļāļ”āđāļĨāļ°āļ§āļąāļ™āđƒāļ™āļŠāļąāļ›āļ”āļēāļŦāđŒāļĄāļĩāļ—āļąāđ‰āļ‡āļ āļēāļĐāļēāđ„āļ—āļĒāđāļĨāļ°āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐāđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰āđ„āļ”āđ‰

API Reference​

Base URL​

https://api.iapp.co.th/v3/store/data/thai-holiday

Authentication​

āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ API key āđƒāļ™āļŠāđˆāļ§āļ™āļŦāļąāļ§:

apikey: YOUR_API_KEY

Endpoints​

Get Thai Holidays​

GET /holidays

āļŠāđˆāļ‡āļ„āļ·āļ™āļ§āļąāļ™āļŦāļĒāļļāļ”āļ‚āļ­āļ‡āđ„āļ—āļĒāđƒāļ™āļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļēāļ—āļĩāđˆāļĢāļ°āļšāļļ

Query Parameters​
ParameterTypeRequiredDefaultDescription
days_beforeintegerNo0āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļāđˆāļ­āļ™āļ§āļąāļ™āļ™āļĩāđ‰ (āļŠāļđāļ‡āļŠāļļāļ”: 1825)
days_afterintegerNo365āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļŦāļĨāļąāļ‡āļˆāļēāļāļ§āļąāļ™āļ™āļĩāđ‰ (āļŠāļđāļ‡āļŠāļļāļ”: 1825)
holiday_typestringNo"public"āļ›āļĢāļ°āđ€āļ āļ—: "financial", "public", āļŦāļĢāļ·āļ­ "both"
yearintegerNonullāļ›āļĩāļ—āļĩāđˆāļĢāļ°āļšāļļ (2020-2030, āļˆāļ°āđāļ—āļ™āļ—āļĩāđˆ days_before/after)

Get Holidays by Year​

GET /holidays/year/\{year\}

āļŠāđˆāļ‡āļ„āļ·āļ™āļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļŠāļģāļŦāļĢāļąāļšāļ›āļĩāļ—āļĩāđˆāļĢāļ°āļšāļļ

Path Parameters​
ParameterTypeRequiredDescription
yearintegerYesāļ›āļĩāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āđ‰āļ™āļŦāļē (2020-2030)
Query Parameters​
ParameterTypeRequiredDefaultDescription
holiday_typestringNo"public"āļ›āļĢāļ°āđ€āļ āļ—: "financial", "public", āļŦāļĢāļ·āļ­ "both"

Get Holidays by Date Range​

GET /holidays/range

āļŠāđˆāļ‡āļ„āļ·āļ™āļ§āļąāļ™āļŦāļĒāļļāļ”āđƒāļ™āļŠāđˆāļ§āļ‡āļ§āļąāļ™āļ—āļĩāđˆāļ—āļĩāđˆāļĢāļ°āļšāļļ

Query Parameters​
ParameterTypeRequiredDescription
start_datestring (date)Yesāļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ (āļĢāļđāļ›āđāļšāļš YYYY-MM-DD)
end_datestring (date)Yesāļ§āļąāļ™āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ” (āļĢāļđāļ›āđāļšāļš YYYY-MM-DD)
holiday_typestringNoāļ›āļĢāļ°āđ€āļ āļ—: "financial", "public", āļŦāļĢāļ·āļ­ "both"

Get Holiday Types​

GET /holidays/types

āļŠāđˆāļ‡āļ„āļ·āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļ›āļĢāļ°āđ€āļ āļ—āļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļĩāđˆāļĄāļĩāđƒāļŦāđ‰

Response Format​

Holiday Object​

{
"date": "2025-07-10",
"date_thai": null,
"weekday": "Thursday",
"weekday_thai": null,
"name": "āļ§āļąāļ™āļ­āļēāļŠāļēāļŽāļŦāļšāļđāļŠāļē",
"name_thai": null,
"type": "public"
}

Response Fields​

FieldTypeDescription
datestring (date)āļ§āļąāļ™āļ—āļĩāđˆāđƒāļ™āļĢāļđāļ›āđāļšāļš YYYY-MM-DD
date_thaistring/nullāļ§āļąāļ™āļ—āļĩāđˆāđƒāļ™āļĢāļđāļ›āđāļšāļšāđ„āļ—āļĒ
weekdaystringāļ§āļąāļ™āđƒāļ™āļŠāļąāļ›āļ”āļēāļŦāđŒāļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ
weekday_thaistring/nullāļ§āļąāļ™āđƒāļ™āļŠāļąāļ›āļ”āļēāļŦāđŒāļ āļēāļĐāļēāđ„āļ—āļĒ
namestringāļŠāļ·āđˆāļ­āļ§āļąāļ™āļŦāļĒāļļāļ”
name_thaistring/nullāļŠāļ·āđˆāļ­āļ§āļąāļ™āļŦāļĒāļļāļ”āļ āļēāļĐāļēāđ„āļ—āļĒ
typestringāļ›āļĢāļ°āđ€āļ āļ—āļ§āļąāļ™āļŦāļĒāļļāļ” ("public" āļŦāļĢāļ·āļ­ "financial")

List Response​

{
"holidays": [/* Holiday objects */],
"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"
}

Error Codes​

HTTP Status Codes​

Status CodeDescription
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
404Not Found - Invalid endpoint
422Validation Error - Parameter validation failed
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Validation Errors​

Invalid Date Range​

{
"detail": [
{
"loc": ["query", "start_date"],
"msg": "Invalid date format. Use YYYY-MM-DD",
"type": "value_error"
}
]
}

Invalid Holiday Type​

{
"detail": [
{
"loc": ["query", "holiday_type"],
"msg": "Holiday type must be 'financial', 'public', or 'both'",
"type": "value_error"
}
]
}

Code Examples​

Curl​

curl -X GET "https://api.iapp.co.th/v3/store/data/thai-holiday?year=2025" \
-H "apikey: YOUR_API_KEY"

Python​

import requests

url = "https://api.iapp.co.th/v3/store/data/thai-holiday"

params = {
'holiday_type': 'public',
'days_after': 90
}

headers = {
'apikey': 'YOUR_API_KEY'
}

response = requests.get(url, headers=headers, params=params)
data = response.json()

print(f"Found {data['total_count']} holidays")
for holiday in data['holidays']:
print(f"{holiday['date']}: {holiday['name']}")

JavaScript​

const axios = require('axios');

const config = {
method: 'get',
url: 'https://api.iapp.co.th/v3/store/data/thai-holiday',
headers: {
'apikey': 'YOUR_API_KEY'
},
params: {
holiday_type: 'both',
year: 2025
}
};

axios(config)
.then((response) => {
console.log(`Found ${response.data.total_count} holidays`);
response.data.holidays.forEach(holiday => {
console.log(`${holiday.date}: ${holiday.name}`);
});
})
.catch((error) => console.log(error));

PHP​

<?php
$curl = curl_init();

$url = 'https://api.iapp.co.th/v3/store/data/thai-holiday?' .
http_build_query([
'holiday_type' => 'public',
'days_after' => 180
]);

curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
'apikey: YOUR_API_KEY'
),
));

$response = curl_exec($curl);
curl_close($curl);

$data = json_decode($response, true);
echo "Found " . $data['total_count'] . " holidays\n";

foreach ($data['holidays'] as $holiday) {
echo $holiday['date'] . ": " . $holiday['name'] . "\n";
}
?>

Swift​

import Foundation

let headers = [
"apikey": "YOUR_API_KEY"
]

var components = URLComponents(string: "https://api.iapp.co.th/v3/store/data/thai-holiday")!
components.queryItems = [
URLQueryItem(name: "holiday_type", value: "financial"),
URLQueryItem(name: "year", value: "2025")
]

var request = URLRequest(url: components.url!, timeoutInterval: Double.infinity)
request.addValue("YOUR_API_KEY", forHTTPHeaderField: "apikey")
request.httpMethod = "GET"

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}

do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
} catch {
print(error)
}
}

task.resume()

Kotlin​

import okhttp3.*
import java.io.IOException

val client = OkHttpClient()

val url = HttpUrl.Builder()
.scheme("https")
.host("api.iapp.co.th")
.addPathSegments("data/thai-holidays/holidays")
.addQueryParameter("holiday_type", "both")
.addQueryParameter("days_after", "365")
.build()

val request = Request.Builder()
.url(url)
.addHeader("apikey", "YOUR_API_KEY")
.build()

client.newCall(request).execute().use { response ->
if (!response.isSuccessful) throw IOException("Unexpected code $response")

println(response.body()?.string())
}

Java​

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class ThaiHolidayAPI {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();

String url = "https://api.iapp.co.th/v3/store/data/thai-holiday" +
"?holiday_type=public&days_after=90";

HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("apikey", "YOUR_API_KEY")
.GET()
.build();

HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());

System.out.println(response.body());
}
}

Dart​

import 'package:http/http.dart' as http;
import 'dart:convert';

void main() async {
final uri = Uri.parse('https://api.iapp.co.th/v3/store/data/thai-holiday')
.replace(queryParameters: {
'holiday_type': 'public',
'year': '2025'
});

final response = await http.get(
uri,
headers: {
'apikey': 'YOUR_API_KEY'
}
);

if (response.statusCode == 200) {
final data = json.decode(response.body);
print('Found ${data['total_count']} holidays');

for (var holiday in data['holidays']) {
print('${holiday['date']}: ${holiday['name']}');
}
} else {
print('Error: ${response.statusCode}');
}
}

Best Practices​

Error Handling​

  1. Check HTTP Status Codes: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āđ€āļŠāļĄāļ­
  2. Parse Error Messages: āđƒāļŠāđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđ‚āļ”āļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļ”āļĩāļšāļąāļ
  3. Implement Fallbacks: āļĄāļĩāđāļœāļ™āļŠāļģāļĢāļ­āļ‡āđ€āļĄāļ·āđˆāļ­ API āđ„āļĄāđˆāļžāļĢāđ‰āļ­āļĄāđƒāļŠāđ‰āļ‡āļēāļ™
  4. Log API Calls: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļđāļ›āđāļšāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđāļĨāļ°āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ‚āļ­āļ‡āļ„āļļāļ“

Performance Tips​

  1. Batch Requests: āļ‚āļ­āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļēāļ—āļĩāđˆāļĒāļēāļ§āļ‚āļķāđ‰āļ™āđāļ—āļ™āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļŦāļĨāļēāļĒāļ„āļĢāļąāđ‰āļ‡
  2. Use Year Endpoint: āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļ›āļĩ āđƒāļŦāđ‰āđƒāļŠāđ‰ endpoint āļ›āļĩāđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°
  3. Monitor Response Times: āļ•āļīāļ”āļ•āļēāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ‚āļ­āļ‡ API āđƒāļ™āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ‚āļ­āļ‡āļ„āļļāļ“

Use Cases​

Business Applications​

  • Payroll Systems: āļ„āļģāļ™āļ§āļ“āļ§āļąāļ™āļ—āļģāļ‡āļēāļ™āđāļĨāļ°āļ„āđˆāļēāļ•āļ­āļšāđāļ—āļ™āļ§āļąāļ™āļŦāļĒāļļāļ”
  • Financial Services: āļāļģāļŦāļ™āļ”āļ§āļąāļ™āļ‹āļ·āđ‰āļ­āļ‚āļēāļĒāđāļĨāļ°āļ§āļąāļ™āļŠāļģāļĢāļ°āļšāļąāļāļŠāļĩ
  • E-commerce: āļ§āļēāļ‡āđāļœāļ™āđ‚āļ›āļĢāđ‚āļĄāļŠāļąāđˆāļ™āđƒāļ™āļŠāđˆāļ§āļ‡āļ§āļąāļ™āļŦāļĒāļļāļ”
  • Scheduling Systems: āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡āļāļēāļĢāļˆāļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āļŠāļļāļĄāđƒāļ™āļ§āļąāļ™āļŦāļĒāļļāļ”

Development Integration​

  • Calendar Applications: āđāļŠāļ”āļ‡āļ§āļąāļ™āļŦāļĒāļļāļ”āļ‚āļ­āļ‡āđ„āļ—āļĒāđƒāļ™āļĄāļļāļĄāļĄāļ­āļ‡āļ›āļāļīāļ—āļīāļ™
  • Business Intelligence: āļĢāļ§āļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āđƒāļ™āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒ
  • Notification Systems: āļŠāđˆāļ‡āļ„āļģāļ­āļ§āļĒāļžāļĢāđāļĨāļ°āđ€āļ•āļ·āļ­āļ™āļ§āļąāļ™āļŦāļĒāļļāļ”
  • Mobile Apps: āđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡

Data Sources and Accuracy​

Primary Sources​

  • Bank of Thailand: āļ§āļąāļ™āļŦāļĒāļļāļ”āļŠāļ–āļēāļšāļąāļ™āļāļēāļĢāđ€āļ‡āļīāļ™āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢ
  • Government Announcements: āļāļēāļĢāļ­āļąāļ›āđ€āļ”āļ•āđāļšāļšāđ€āļĢāļĩāļĒāļĨāđ„āļ—āļĄāđŒāļˆāļēāļāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļēāļ‡āļāļēāļĢāđ„āļ—āļĒ

Update Process​

āļ—āļĩāļĄāļ‡āļēāļ™āļœāļđāđ‰āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļāļ‚āļ­āļ‡āđ€āļĢāļēāđƒāļ™āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒāļˆāļ°āļ„āļ­āļĒāļ•āļīāļ”āļ•āļēāļĄāļŠāđˆāļ­āļ‡āļ—āļēāļ‡āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢāđāļĨāļ°āļ­āļąāļ›āđ€āļ”āļ•āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļąāļ™āļ—āļĩāđ€āļĄāļ·āđˆāļ­:

  • āļĄāļĩāļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāļ§āļąāļ™āļŦāļĒāļļāļ”āđƒāļŦāļĄāđˆāđ‚āļ”āļĒāļĢāļąāļāļšāļēāļĨ
  • āļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļŦāļĢāļ·āļ­āļĒāļāđ€āļĨāļīāļāļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆ
  • āļĄāļĩāļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāļ§āļąāļ™āļŦāļĒāļļāļ”āļžāļīāđ€āļĻāļĐāļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§

Data Validation​

āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļ°āļœāđˆāļēāļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļē:

  • āļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡āđāļĨāļ°āļĢāļđāļ›āđāļšāļšāļ‚āļ­āļ‡āļ§āļąāļ™āļ—āļĩāđˆ
  • āļāļēāļĢāļˆāļąāļ”āļŦāļĄāļ§āļ”āļŦāļĄāļđāđˆāļ—āļĩāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ (āļ§āļąāļ™āļŦāļĒāļļāļ”āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒ vs āļŠāļ–āļēāļšāļąāļ™āļāļēāļĢāđ€āļ‡āļīāļ™)
  • āļ„āļ§āļēāļĄāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļ‚āļ­āļ‡āļŠāļ·āđˆāļ­
  • āļ„āļ§āļēāļĄāļ„āļĢāļšāļ–āđ‰āļ§āļ™āļ‚āļ­āļ‡āļŸāļīāļĨāļ”āđŒāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™

Pricing​

API Service NameEndpointIC Per Request
Thai Holiday Data API (v1.0)/holidays0.1 IC/Request
/holidays/year/{year}0.1 IC/Request
/holidays/range0.1 IC/Request
/holidays/types0.1 IC/Request

Rate Limits​

  • Default: 1000 requests āļ•āđˆāļ­āļŠāļąāđˆāļ§āđ‚āļĄāļ‡ āļ•āđˆāļ­ API key
  • Burst: āļŠāļđāļ‡āļŠāļļāļ” 100 requests āļ•āđˆāļ­āļ™āļēāļ—āļĩ
  • Enterprise: āļĄāļĩāļāļģāļŦāļ™āļ”āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡

āļ•āļīāļ”āļ•āđˆāļ­āļ—āļĩāļĄāļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļĢāļēāļŠāļģāļŦāļĢāļąāļšāļ­āļąāļ•āļĢāļēāļāļēāļĢāļˆāļģāļāļąāļ”āļ—āļĩāđˆāļŠāļđāļ‡āļ‚āļķāđ‰āļ™āļŦāļēāļāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ‚āļ­āļ‡āļ„āļļāļ“

Support and Maintenance​

Data Updates​

āļ—āļĩāļĄāļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļĢāļēāđƒāļ™āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒāļĢāļąāļšāļ›āļĢāļ°āļāļąāļ™āļ§āđˆāļēāļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļąāļ™āļŦāļĒāļļāļ”āļˆāļ°āļ—āļąāļ™āļŠāļĄāļąāļĒāļ­āļĒāļđāđˆāđ€āļŠāļĄāļ­āđ‚āļ”āļĒ:

  • āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ›āļĢāļ°āļāļēāļĻāļ‚āļ­āļ‡āļĢāļąāļāļšāļēāļĨāļ•āļĨāļ­āļ” 24 āļŠāļąāđˆāļ§āđ‚āļĄāļ‡āļ—āļļāļāļ§āļąāļ™
  • āļāļēāļĢāļ­āļąāļ›āđ€āļ”āļ• API āļ āļēāļĒāđƒāļ™āđ„āļĄāđˆāļāļĩāđˆāļŠāļąāđˆāļ§āđ‚āļĄāļ‡āļŦāļĨāļąāļ‡āļˆāļēāļāļāļēāļĢāļ›āļĢāļ°āļāļēāļĻāļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢ
  • āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļŦāļĨāļēāļĒāđāļŦāļĨāđˆāļ‡

API Reliability​

  • Uptime: 99.9% SLA
  • Response Time: < 50ms āđ‚āļ”āļĒāđ€āļ‰āļĨāļĩāđˆāļĒ
  • Geographic: āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļˆāļēāļāļŦāļĨāļēāļĒāļ āļđāļĄāļīāļ āļēāļ„āđ€āļžāļ·āđˆāļ­āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļđāļ‡āļŠāļļāļ”

Getting Help​

  • Documentation: āļ„āļđāđˆāļĄāļ·āļ­āļ‰āļšāļąāļšāļŠāļĄāļšāļđāļĢāļ“āđŒāļ™āļĩāđ‰
  • API Portal: https://iapp.co.th āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļšāļąāļāļŠāļĩ
  • Support: āļ•āļīāļ”āļ•āđˆāļ­āļ—āļĩāļĄāļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļĢāļēāļœāđˆāļēāļ™ API portal
  • Status Page: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ° API āđāļĨāļ°āļ›āļĢāļ°āļāļēāļĻ