Authentication และ limits
ทดลองใช้ API ข้อมูลแบบไม่ระบุตัวตนได้สูงสุด 12 คำขอต่อนาทีและ 100 คำขอต่อชั่วโมงต่อ IP คำขอที่ใช้คีย์จะนับตามโควตารายเดือนของบัญชี
ฟิลด์ที่อธิบายความสดของข้อมูล
`source` บอกประเภทแหล่งข้อมูล `market_session` บอกสถานะตลาด และ `data_updated_at` บอกเวลาของข้อมูลสังเกตการณ์ที่เก่าที่สุดซึ่งมีส่วนในผลลัพธ์ ควรเก็บทั้งสาม
Endpoints
อนุกรมระหว่างวันและความครอบคลุม
/v1/timeseries รองรับ 1m, 5m, 15m, 1h, 4h และข้อมูลอ้างอิงรายวัน 1d แต่ไม่รองรับ 2h คู่ไขว้ SGD ที่ไม่มี USD ไม่รองรับ 4h ส่วน USD/SGD และทิศทางกลับกันรองรับ เริ่มเก็บข้อมูลตลาดเมื่อ 2026-09-14 ข้อมูล 1m เก็บไว้ 30 วัน ส่วนช่วงที่ใหญ่กว่าไม่มีกำหนดลบตามอายุ ระยะเวลาเก็บรักษาไม่ได้หมายความว่ามีประวัติสะสมครบแล้ว
คู่ไขว้ในประวัติต้องใช้ข้อมูลปิดจริงในช่วง UTC เดียวกัน โดยเวลาต่างกันไม่เกิน 5 วินาที effective_at ใช้เวลาเก่ากว่าของสองข้อมูล ไม่เติมช่องว่าง และช่วงที่ยังไม่ปิดอาจเปลี่ยนได้ 1d ใช้ข้อมูลอ้างอิงรายวันของทุกสกุลเงินในรายการ ตารางนับแต่ละคู่ครั้งเดียวและรองรับทั้งสองทิศทาง
| interval | คู่ที่ไม่ซ้ำกัน |
|---|---|
1m | 91 |
5m | 91 |
15m | 91 |
1h | 91 |
4h | 79 |
1d | 465 |
ช่วงที่รองรับแต่ไม่มีข้อมูลจะคืน HTTP 200 พร้อม data: [], has_more: false และ next_cursor: null ช่วงเวลาที่ไม่รู้จักคืน unsupported_interval ส่วนคู่ที่ไม่รองรับคืน unsupported_pair_interval และ rejected_pairs (HTTP 400) คำขอที่ผสมคู่ที่รองรับกับไม่รองรับจะถูกปฏิเสธทั้งหมด
AUD, CAD, CHF, EUR, GBP, JPY, MXN, NOK, NZD, PLN, SEK, SGD, USD, ZAR
รายละเอียดความครอบคลุมและขีดจำกัด
WebSocket แบบสด
เชื่อมต่อ wss://api.exchangerate.dev/v1/stream แล้วส่ง auth ภายใน 10 วินาที เก็บ API key ไว้บนเซิร์ฟเวอร์ ห้ามใส่ใน URL หรือ JavaScript สาธารณะ ไม่รองรับการเชื่อมต่อแบบไม่ระบุตัวตน หลังได้รับ authenticated ให้ส่ง subscribe รองรับสกุลเงินด้านล่าง คู่ไขว้ต้องใช้ข้อมูลล่าสุดที่ยังสดทั้งสองขาและเวลาต่างกันไม่เกิน 5 วินาที อาจมีสถานะ unavailable หรือ stale ทุกการเชื่อมต่อที่ยอมรับใช้โควตารายเดือนหนึ่งหน่วย
ตารางแสดงขีดจำกัดสำหรับบัญชีใหม่ บัญชีเดิมยังคงใช้ Free 1 × 5, Basic 3 × 25 หรือ Pro 10 × 100 (จำนวนการเชื่อมต่อ × คู่สกุลเงินต่อการเชื่อมต่อ) ข้อความ authenticated จะแสดงขีดจำกัดที่ใช้กับบัญชีของคุณ
AUD, CAD, CHF, EUR, GBP, JPY, MXN, NOK, NZD, PLN, SEK, SGD, USD, ZAR
| แพ็กเกจ | การเชื่อมต่อพร้อมกัน | คู่ต่อการเชื่อมต่อ |
|---|---|---|
| Free | 0 | 0 |
| Basic | 0 | 0 |
| Pro | 0 | 0 |
| Realtime | 10 | 100 |
Errors
REST: ทุก error ใช้ `{ result: "error", code, message }` 429 มี `Retry-After` และเมื่อแหล่งข้อมูลล้มเหลวจะไม่มีข้อมูลจำลองมาแทน
ใช้กับสแตกของคุณ
คำขอเดียวกันใช้ได้กับ curl, Python และ JavaScript ไม่ต้องใช้ API key เพื่อทดลอง
ตัวอย่างการตอบกลับ
{
"result": "success",
"base": "USD",
"source": "live",
"sources": {
"EUR": "live",
"GBP": "live"
},
"market_session": "open",
"timestamp": "2026-06-15T12:00:00Z",
"data_updated_at": "2026-06-15T12:00:00Z",
"effective_at": {
"EUR": "2026-06-15T12:00:00Z",
"GBP": "2026-06-15T12:00:00Z"
},
"rates": {
"EUR": 0.86207,
"GBP": 0.74627
},
"derived_symbols": [],
"notice": "Indicative rates, not for settlement."
}rates.EUR คือจำนวน EUR ต่อ 1 USD ส่วน effective_at.EUR คือเวลาที่สังเกต และ sources.EUR คือประเภทแหล่งข้อมูล ค่าและเวลาเป็นตัวอย่าง