คู่มือการใช้งาน API ในระบบ Open data

6 มิถุนายน ค.ศ. 2025

API ในระบบ Open data ช่วยให้ผู้ใช้สามารถเข้าถึงข้อมูลที่อยู่ในระบบได้โดยไม่ต้องเข้าถึงหน้าเว็บไซต์โดยตรง ซึ่งระบบ Open data สามารถใช้ API ที่อยู่ในระบบ API พื้นฐานของ CKAN ได้ ตามเอกสาร Official Documentation ของ CKAN โดยสามารถเข้าถึงได้ทั้งข้อมูล metadata ของทั้งชุดข้อมูลและทรัพยากร และยังสามารถดึงเนื้อข้อมูลทรัพยากรบางประเภทได้โดยตรง

API ของระบบ Open data จะสามารถใช้งานได้กับไฟล์ทรัพยากรชุดข้อมูลที่เป็นไฟล์ขนิด CSV, XLS, XLSX ที่อยู่ในรูปแบบตารางที่ระบบสามารถ preview ได้ หากไฟล์ทรัพยากรใดที่ระบบไม่สามารถแสดงตาราง preview ได้ จะไม่สามารถเรียกเนื้อข้อมูลผ่าน API ได้โดยตรง

โครงสร้างของ API และตัวอย่าง Endpoint ที่สามารถใช้งานได้ในระบบ Open data

Base URL: https://opendata.mea.or.th/api/3/action

Base Response Structure

Parameter รายละเอียด
help URL สำหรับดูรายละเอียดของ Endpoint นั้นๆ
success (True of False) API ทำงานสำเร็จหรือไม่
result (กรณีที่ Success=True) ข้อมูลจาก API
error (กรณีที่ Success=False) รายละเอียดปัญหาที่เกิดขึ้น

 

 

Endpoint เรียกดูรายละเอียดชุดข้อมูล

GET /package_show

Params

Parameter รายละเอียด
id ชื่อหรือรหัสของชุดข้อมูล

 

Example: https://opendata.mea.or.th/api/3/action/package_show?id=budget-2568

Endpoint เรียกดูรายละเอียดทรัพยากร

GET /resource_show

Params

Parameter รายละเอียด
id รหัสทรัพยากร (สามารถหาได้จาก Endpoint package_show หรือ URL ของทรัพยากร)

 

Example: https://opendata.mea.or.th/api/3/action/resource_show?id=54cdd6d1-497a-44ea-9e8a-d60f6ccc7537

 

Endpoint ดึงข้อมูลจากทรัพยากร (รองรับเฉพาะบางทรัพยากร)

GET /datastore_search

Params บางส่วน

Parameter รายละเอียด
resource_id รหัสทรัพยากร
q Keyword คำค้นหา
limit จำนวนข้อมูลที่ต้องการ
offset จำนวนข้อมูลที่ต้องการข้าม นับจากข้อมูลแถวแรก

 

สามารถศึกษารายละเอียด parameter ที่สามารถใช้งานได้ทั้งหมด ที่นี่

Example: https://opendata.mea.or.th/api/3/action/datastore_search?limit=5&resource_id=640db899-0985-458f-a964-a22236634cd8

 

ตัวอย่างการเรียกใช้ API ระบบ Open data ในภาษา Python


url = "https://opendata.mea.or.th/api/3/action/datastore_search"
params = {
    "resource_id": "54cdd6d1-497a-44ea-9e8a-d60f6ccc7537",
    "limit": 5
}

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

for record in data['result']['records']:
    print(record)

ตัวอย่างการเรียกใช้ API ระบบ Open data ในภาษา JavaScript (Fetch API)


const url = "https://opendata.mea.or.th/api/3/action/datastore_search?resource_id=54cdd6d1-497a-44ea-9e8a-d60f6ccc7537&limit=5";

fetch(url, {
    method: "GET",
    headers: {
        "Content-Type": "application/json",
    }
})
.then(response => response.json())
.then(data => {
    const records = data.result.records;
    records.forEach(record => {
        console.log(record);
    });
})
.catch(error => {
    console.error("Error: ", error);
});