⚖️ Thai Legal Data API/MCP
กฎหมายไทยในรูปแบบ ข้อมูล ไม่ใช่ร้อยแก้ว ค้นหามาตราใดๆ แบบตรงตัว, ค้นหากฎหมาย 39 ฉบับตามความหมาย, ค้นหาคำพิพากษาศาลฎีกาที่ตีความมาตราที่กำหนด, และถามคำถามที่ได้รับคำตอบจากแหล่งข้อมูลที่ดึงมาเท่านั้น — พร้อมการตรวจสอบการอ้างอิงทุกครั้ง
สร้างมาเพื่อ AI agents: อินเทอร์เฟซทั้งหมดนี้ยังสามารถเข้าถึงได้ผ่าน iApp MCP server เพื่อให้ Claude, Cursor หรือไคลเอนต์ MCP ใดๆ สามารถค้นคว้ากฎหมายไทยได้โดยตรง
เนื้อหาในคลังข้อมูล
| กฎหมาย | 39 ฉบับ · 6,363 มาตรา — ข้อความที่รวมไว้ซึ่งใช้โดย OpenThai 2.0 Legal รวมถึง ป.พ.พ., ป.อ., ป.วิ.พ., ป.วิ.อ. และ ประมวลรัษฎากร |
| คำพิพากษาศาลฎีกา | 70,634 คำพิพากษา พร้อมหลักกฎหมาย (headnote) |
| ขอบเขต | พ.ศ. 2400s – 2568; ค่าเริ่มต้นการค้นหาคือตั้งแต่ปี พ.ศ. 2540 เป็นต้นไป |
| การเชื่อมโยงการอ้างอิง | 99.7% ของคำพิพากษาเชื่อมโยงไปยังกฎหมายและมาตราที่อ้างถึง เพื่อให้คุณสามารถเชื่อมโยงจากมาตราไปยังคำพิพากษาที่เกี่ยวข้องได้ |
Endpoints
| Method | Path | Cost |
|---|---|---|
GET | /v3/store/data/thai-legal/meta | ฟรี |
GET | /v3/store/data/thai-legal/laws | ฟรี |
GET | /v3/store/data/thai-legal/section | 0.1 IC |
GET POST | /v3/store/data/thai-legal/search | 0.1 IC |
GET POST | /v3/store/data/thai-legal/deka/search | 0.1 IC |
GET | /v3/store/data/thai-legal/deka/{case_id} | 0.1 IC |
POST | /v3/store/data/thai-legal/ask | 0.1 IC |
/meta และ /laws ฟรีถาวร — ตัวแทน (agent) ต้องเรียกใช้เพื่อสร้างคำขอที่ถูกต้อง ดังนั้นการค้นหาข้อมูลไม่ควรมีค่าใช้จ่าย
เยี่ยมชม API Key Management เพื่อดูคีย์ของคุณหรือขอคีย์ใหม่
ทดลองใช้งาน
ลองค้นหามาตรา
Example Queries (Click to try)
Add query parameters (e.g., ?holiday_type=public&days_after=30)
ค้นหาฎีกา (precedent)
Example Queries (Click to try)
Add query parameters (e.g., ?holiday_type=public&days_after=30)
ค้นหามาตรา
curl "https://api.iapp.co.th/v3/store/data/thai-legal/section?law=ประมวลกฎหมายอาญา§ion=335&with_deka=true" \
-H "apikey: YOUR_API_KEY"
{
"found": true,
"law": "ประมวลกฎหมายอาญา",
"section": "335",
"text": "ผู้ใดลักทรัพย์\n(๑) ในเวลากลางคืน\n...",
"deka": [
{ "case_id": "600/2544", "year_be": 2544,
"headnote": "เมื่อผู้เสียหายเห็นจำเลยทั้งสองกำลังลักเอามะม่วง...",
"official_url": "https://deka.supremecourt.or.th" }
]
}
หากไม่พบผลลัพธ์ จะแสดง found: false พร้อม suggestions — และยังคงเป็น HTTP 200 เพื่อให้ไคลเอนต์ไม่พยายามเรียกซ้ำในมาตราที่ถูกต้องแต่ไม่มีในดัชนี
ค้นหาคำบรรยาย (precedent)
ตัวกรอง cites_law + cites_section ตอบคำถามที่ทนายความถามจริงๆ: คำพิพากษาฎีกาใดบ้างที่ตีความมาตรานี้?
curl -X POST "https://api.iapp.co.th/v3/store/data/thai-legal/deka/search" \
-H "apikey: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"query":"ลักทรัพย์ในเวลากลางคืน","cites_law":"ป.อ.","cites_section":"335","top_k":3}'
{
"count": 3,
"results": [
{
"case_id": "600/2544",
"year_be": 2544,
"headnote": "…ถือได้ว่าจำเลยที่ 2 ได้พูดขู่เข็ญผู้เสียหาย…อันเป็นการกระทำความผิดฐานชิงทรัพย์",
"cited": [["ป.อ.", "339"], ["ป.อ.", "335"]],
"citation_join": "exact",
"score": 0.9312,
"official_url": "https://deka.supremecourt.or.th"
}
],
"disclaimer": "ข้อมูลเพื่อการค้นคว้า มิใช่คำแนะนำทางกฎหมาย โปรดตรวจสอบกับต้นฉบับที่ศาลฎีกา"
}
ผลลัพธ์ที่ว่างเปล่าคือคำตอบที่แท้จริง เมื่อไม่มีอะไรตรงกัน คุณจะได้รับ count: 0 และข้อความแจ้ง — API จะไม่สร้างหมายเลขคดีขึ้นมาเองเพื่อเติมเต็มช่องว่าง
citation_join บอกคุณว่าคำพิพากษาเชื่อมโยงกับมาตราที่อ้างถึงอย่างไร (exact, range หรือ none) เพื่อให้คุณสามารถกรองเฉพาะการเชื่อมโยงที่มีความแม่นยำสูงเมื่อความถูกต้องสำคัญกว่าการค้นพบ
ถาม-ตอบที่อิงตามข้อมูลจริง
/ask จะดึงกฎหมายและคำพิพากษามาก่อน จากนั้นจึงตอบ เฉพาะ จากข้อมูลที่พบ
curl -X POST "https://api.iapp.co.th/v3/store/data/thai-legal/ask" \
-H "apikey: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"question":"ลักทรัพย์ในเวลากลางคืนมีโทษอย่างไร","include_deka":true}'
รับประกัน 3 ข้อ ซึ่งบังคับใช้ในโค้ด ไม่ใช่แค่จากการเขียน prompt:
- ไม่พบข้อมูล → ไม่มีการตอบ คุณจะได้รับ
grounded: falseพร้อมreason: "no_grounding"จะไม่มีการคาดเดาจากหน่วยความจำของโมเดล - หมายเลขฎีกาทุกรายการในคำตอบจะถูกตรวจสอบ กับชุดข้อมูลที่ดึงมา หากโมเดลอ้างถึงหมายเลขที่ไม่ได้ให้มา คำตอบจะถูกสร้างใหม่ภายใต้คำสั่งที่เข้มงวดขึ้น และจะถูกปฏิเสธหากเกิดขึ้นอีกครั้ง
- การอ้างอิงจะกลับมาในรูปแบบที่มีโครงสร้าง เพื่อให้คุณสามารถแสดงผลหรือตรวจสอบได้โดยอิสระจากข้อความ
ใช้งานจาก AI agent (iapp-mcp)
API ทั้งหมดมาในรูปแบบเครื่องมือ 6 ตัวใน iApp MCP server (iapp-mcp บน PyPI) เพื่อให้ Claude Code, Claude Desktop, Cursor หรือ MCP client ใดๆ ค้นคว้ากฎหมายไทยได้โดยตรง — ไม่ต้องเขียนโค้ดเชื่อมต่อเอง
การติดตั้ง
สำหรับ Claude Code ใช้คำสั่งเดียว (ต้องติดตั้ง uv ก่อน):
claude mcp add iapp-mcp -s user -e IAPP_API_KEY=YOUR_API_KEY -- uvx iapp-mcp
สำหรับ Claude Desktop, Cursor หรือ MCP client อื่นๆ เพิ่มลงใน MCP config ของ client:
{
"mcpServers": {
"iapp-mcp": {
"command": "uvx",
"args": ["iapp-mcp"],
"env": { "IAPP_API_KEY": "YOUR_API_KEY" }
}
}
}
เซิร์ฟเวอร์ทำงานบนเครื่องของคุณผ่าน stdio — API key อยู่บนเครื่องคุณ มีเพียงการเรียก API เท่านั้นที่ออกไปภายนอก
เครื่องมือกฎหมายทั้ง 6 ตัว
| เครื่องมือ | พารามิเตอร์ | หน้าที่ |
|---|---|---|
iapp_thai_law_list | q (ตัวกรองชื่อ ไม่บังคับ) | รายชื่อกฎหมายทั้ง 39 ฉบับที่จัดทำดัชนี — ฟรี ควรเรียกก่อนเพื่อให้ได้ชื่อกฎหมายที่ถูกต้อง |
iapp_thai_law_section | law, section, with_deka | ข้อความมาตราตรงตัว เช่น law ประมวลกฎหมายอาญา section 335; with_deka: true แนบฎีกาที่อ้างถึงมาตรานั้น |
iapp_thai_law_search | query, top_k (1–20 ค่าเริ่มต้น 8) | ค้นหากฎหมายเชิงความหมายจากข้อเท็จจริงภาษาไทย |
iapp_thai_deka_search | query, cites_law, cites_section, year_from (ค่าเริ่มต้น 2540), top_k (ค่าเริ่มต้น 5) | ค้นหาฎีกาจาก 70,634 คำพิพากษา กรองเฉพาะที่อ้างมาตราที่กำหนดได้ (ใช้อักษรย่อของศาล เช่น ป.อ.) |
iapp_thai_deka_get | case_id, include_body | ดึงคำพิพากษาตามเลขฎีกา — รับทั้ง 1234/2565 และ 1234-2565; include_body แนบเนื้อหาคำพิพากษาสูงสุด 4,000 ตัวอักษร |
iapp_thai_legal_ask | question, include_deka | คำตอบที่อิงข้อมูลจริงพร้อมการอ้างอิงที่ตรวจสอบด้วยเครื่อง หากไม่พบข้อมูลจะปฏิเสธการตอบแทนการเดา |