การดู : 116

12/10/2026 17:38น.

ปกบทความ API คืออะไร ภาพโน้ตบุ๊กบนโต๊ะทำงานมองจากด้านหลังไหล่ พร้อมแผนภาพคำขอ GET /users/octocat ที่ได้คำตอบ 200 OK และข้อมูล JSON "login": "octocat" กลับมา

API คืออะไร ทำงานอย่างไร สำหรับมือใหม่เขียนโปรแกรม พร้อมตัวอย่าง

#API คืออะไร

#API ทำงานอย่างไร

#API Endpoint

#REST API

#JSON

#HTTP Method

#curl

เวลามีน้องๆ ที่เพิ่งเริ่มเขียนโค้ดถามทีมเราว่า "API คืออะไรกันแน่ ได้ยินทุกวัน ในคลิปก็พูด ในประกาศรับสมัครงานก็มี แต่ไม่เคยเห็นตัวจริงสักที" คำตอบที่เราให้บ่อยที่สุดไม่ใช่คำนิยาม แต่เป็นคำชวนว่า "ลองเรียกดูเองสักครั้ง" เพราะคำอธิบายประเภท "API คือตัวกลางที่ทำให้โปรแกรมคุยกัน" ฟังแล้วพยักหน้าตามได้ แต่พอต้องใช้จริงก็ยังนึกภาพไม่ออกอยู่ดี

วันนี้ Superdev Academy จะพาคุณส่งคำขอไปที่ API ตัวจริงหนึ่งตัว อ่านคำตอบที่กลับมา แล้วค่อยแกะทีละชิ้นว่า Endpoint, Method, Status Code, JSON และ API Key คืออะไร ไม่ต้องติดตั้งอะไรเพิ่ม และไม่ต้องเขียนโปรแกรมเป็นมาก่อน ถ้าต้องตอบสั้นที่สุด API (Application Programming Interface) คือข้อตกลงว่าโปรแกรมหนึ่งจะขอข้อมูลหรือสั่งงานอีกโปรแกรมได้อย่างไร แต่ประโยคนี้จะชัดขึ้นมากหลังคุณลองเรียกเองสักครั้ง

ลองเรียก API ครั้งแรก ใช้แค่เบราว์เซอร์หรือ Terminal

API ที่เราจะใช้คือ GitHub REST API ซึ่ง GitHub เปิดให้ขอข้อมูลสาธารณะของผู้ใช้ได้โดยไม่ต้องสมัครอะไร เราจะขอข้อมูลของบัญชีชื่อ octocat ซึ่งเป็นบัญชีตัวอย่างที่ GitHub ใช้ในเอกสารของตัวเอง

วิธีที่ 1 เปิดในเบราว์เซอร์: พิมพ์ที่อยู่นี้ลงช่อง URL แล้วกด Enter

https://api.github.com/users/octocat

วิธีที่ 2 ใช้ curl ใน Terminal: curl คือโปรแกรมสำหรับส่งคำขอผ่านเว็บจาก Command Line มีติดเครื่องมาใน macOS และ Linux ส่วนใหญ่ ส่วน Windows 10 และ Windows 11 ก็มีมาให้ตั้งแต่ติดตั้ง ตามที่เว็บไซต์ของ curl ระบุไว้ ถ้าใช้ Windows PowerShell แล้วผลออกมาหน้าตาแปลกๆ ให้พิมพ์ curl.exe แทน curl

curl -i https://api.github.com/users/octocat

ตัว -i บอกให้ curl แสดงส่วนหัว (Header) ของคำตอบด้วย แทบจะทันทีคุณจะเห็นอะไรประมาณนี้ (เราตัดมาเฉพาะบางส่วน)

HTTP/2 200
content-type: application/json; charset=utf-8
x-ratelimit-limit: 60

{
  "login": "octocat",
  "id": 583231,
  "name": "The Octocat",
  "company": "@github",
  "location": "San Francisco",
  "created_at": "2011-01-25T18:44:36Z"
}

ถ้าเห็นหน้าตาแบบนี้ แปลว่าคุณเพิ่งใช้ API ไปหนึ่งครั้งแล้ว ค่าบางช่องอาจต่างจากที่เราเห็นในวันที่เขียนบทความนี้ (28 กันยายน 2026) เพราะเป็นข้อมูลจริงที่เจ้าของบัญชีแก้ไขได้ แต่โครงสร้างของคำตอบจะเหมือนเดิม

เกิดอะไรขึ้นในคำสั่งเดียวนั้น

สิ่งที่เพิ่งเกิดขึ้นมีแค่สองจังหวะ เครื่องของคุณส่ง Request (คำขอ) ออกไปหา Server (เครื่องที่ให้บริการข้อมูล) ของ GitHub แล้ว Server ก็ส่ง Response (คำตอบ) กลับมา ทั้งหมดเดินทางผ่าน HTTP ซึ่งเป็นโปรโตคอลเดียวกับที่เบราว์เซอร์ใช้เปิดเว็บทุกหน้า

ความต่างจากการเปิดเว็บทั่วไปอยู่ที่ว่าใครเป็นคนอ่าน หน้าเว็บส่ง HTML มาให้เบราว์เซอร์วาดเป็นหน้าสวยๆ ให้คนดู ส่วน API ส่งข้อมูลดิบที่มีโครงสร้างชัดเจนมาให้โปรแกรมเอาไปใช้ต่อ คุณเลยเห็นแต่ข้อความในวงเล็บปีกกา ไม่มีปุ่ม ไม่มีรูป

พูดง่ายๆ API (Application Programming Interface) คือข้อตกลงว่าโปรแกรมหนึ่งจะขอข้อมูลหรือสั่งงานอีกโปรแกรมได้อย่างไร ต้องส่งอะไรไป และจะได้อะไรกลับมา GitHub เขียนข้อตกลงนั้นไว้เป็นเอกสาร ใครทำตามก็เรียกใช้ได้

คุณไม่จำเป็นต้องรู้ว่า Server ของ GitHub เขียนด้วยภาษาอะไรหรือเก็บข้อมูลไว้ที่ไหน แค่รู้ว่าต้องถามแบบไหน นี่คือเหตุผลที่ API มีอยู่

Endpoint คือที่อยู่ของข้อมูลที่คุณอยากได้

ที่อยู่ https://api.github.com/users/octocat แบ่งได้เป็นสองท่อน https://api.github.com คือ Base URL หรือบ้านเลขที่ของ API ทั้งชุด ต่อด้วย /users/octocat ซึ่งเป็น Path ที่ระบุว่าอยากได้ข้อมูลอะไรในบ้านหลังนั้น เมื่อรวม Path เข้ากับ Method ที่ใช้ เราเรียกจุดนั้นว่า Endpoint

ในเอกสาร Get a user ของ GitHub Endpoint นี้เขียนไว้ว่า GET /users/{username} วงเล็บปีกกาคือช่องที่คุณเติมเองได้ ลองเปลี่ยน octocat เป็นชื่อผู้ใช้ GitHub ของคุณหรือของเพื่อน แล้วส่งคำขอใหม่ ข้อมูลที่กลับมาจะเปลี่ยนไปตามชื่อนั้นทันที

การอ่านเอกสาร API เป็นทักษะที่นักพัฒนาใช้แทบทุกวัน เอกสารที่ดีจะบอกครบว่ามี Endpoint อะไรบ้าง ต้องส่งอะไรไป และคำตอบหน้าตาแบบไหน

Method บอกว่าคุณจะทำอะไรกับข้อมูล

คำขอที่เราส่งไปใช้ Method ชื่อ GET ซึ่งหมายถึงขออ่านข้อมูลอย่างเดียว ทั้งเบราว์เซอร์และ curl ใช้ GET เป็นค่าเริ่มต้น เราจึงไม่ต้องพิมพ์ออกมา ถ้าเขียนให้ครบ คำขอของเราคือ GET /users/octocat

MDN รวบรวม HTTP Method ไว้ในหน้าเดียว ตัวที่มือใหม่จะเจอบ่อยมีห้าตัว

  • GET: ขออ่านข้อมูล

  • POST: ส่งข้อมูลใหม่ไปสร้าง เช่น สมัครสมาชิก หรือโพสต์คอมเมนต์

  • PUT: ส่งข้อมูลไปแทนที่ของเดิมทั้งก้อน

  • PATCH: แก้เฉพาะบางส่วนของข้อมูลเดิม

  • DELETE: ลบข้อมูล

Path เดียวกันอาจทำงานต่างกันได้ตาม Method ที่ส่งมา นี่คือเหตุผลที่เอกสาร API เขียน Method คู่กับ Path เสมอ

Status Code คือสิ่งแรกที่ Server บอกว่าสำเร็จหรือไม่

ย้อนกลับไปดูบรรทัดแรกของคำตอบ HTTP/2 200 ตัวเลข 200 คือ Status Code ที่มีชื่อเต็มว่า 200 OK แปลว่าคำขอสำเร็จ และข้อมูลตามมาข้างล่าง

ลองส่งคำขอด้วยชื่อผู้ใช้ที่ไม่มีอยู่จริงดู

curl -i https://api.github.com/users/this-user-should-not-exist-zzqq9

คราวนี้บรรทัดแรกจะเป็น 404 ซึ่งหมายถึงหาสิ่งที่ขอไม่เจอ ตัวเลขชุดนี้คือสิ่งแรกที่โปรแกรมควรเช็กก่อนจะเอาข้อมูลไปใช้ ถ้าอยากรู้ว่าเลขแต่ละตัวหมายถึงอะไร และเจอแล้วควรแก้ตรงไหน เราแยกเขียนไว้ในบทความ HTTP Status Code อ่านยังไง

JSON คือรูปแบบข้อมูลที่โปรแกรมอ่านง่าย

ข้อมูลที่อยู่ในวงเล็บปีกกาเรียกว่า JSON (JavaScript Object Notation) บรรทัด content-type: application/json ในส่วนหัวบอกไว้ตั้งแต่แรกแล้วว่าคำตอบนี้เป็น JSON หลักการอ่านมีแค่นี้

  • ข้อมูลเป็นคู่ของ Key กับ Value คั่นด้วยโคลอน เช่น "login": "octocat"

  • ค่าที่อยู่ในเครื่องหมายคำพูดเป็นข้อความ (String) เช่น "The Octocat"

  • ค่าที่ไม่มีเครื่องหมายคำพูดเป็นตัวเลขหรือค่าพิเศษ เช่น 583231, true, false และ null (ไม่มีค่า)

  • แต่ละคู่คั่นด้วยจุลภาค และทั้งก้อนครอบด้วยวงเล็บปีกกา

แม้ชื่อจะมีคำว่า JavaScript แต่ JSON ไม่ได้ผูกกับภาษาใดภาษาหนึ่ง JavaScript, Python และ Go ต่างก็มีเครื่องมืออ่าน JSON มาให้ในตัว เมื่อโปรแกรมของคุณได้คำตอบนี้มา ก็แค่ดึงค่า name ออกไปแสดงบนหน้าจอ แบบเดียวกับที่หลายแอปแสดงชื่อและรูปโปรไฟล์ GitHub ของผู้ใช้

ถ้าอยากอ่าน JSON ให้คล่องกว่านี้ เราแยกเขียนไว้ในบทความ JSON คืออะไร อ่านข้อมูล JSON ให้เป็น สำหรับมือใหม่

API Key คือบัตรผ่าน เมื่อ API ต้องรู้ว่าใครเป็นคนเรียก

สังเกตไหมว่าเราไม่ได้ใส่รหัสอะไรเลย แต่ก็ยังได้ข้อมูลกลับมา นั่นเพราะ GitHub ยอมให้ขอข้อมูลสาธารณะแบบไม่ยืนยันตัวตน แต่มีเพดาน บรรทัด x-ratelimit-limit: 60 ในคำตอบบอกไว้ตรงๆ และเอกสาร Rate Limit ของ GitHub ก็ระบุว่าคำขอแบบไม่ยืนยันตัวตนทำได้ 60 ครั้งต่อชั่วโมง

API หลายตัวที่ใช้งานจริง เช่น API ของบริการ AI แผนที่ หรือระบบชำระเงิน จะให้คุณสมัครแล้วได้ API Key (รหัสประจำตัวสำหรับเรียก API) มาแนบไปกับทุกคำขอ เพื่อให้ผู้ให้บริการรู้ว่าใครเรียก คิดค่าบริการถูกคน และจำกัดการใช้งานได้ API Key จึงมีค่าเท่ากับรหัสผ่าน วิธีเก็บให้ปลอดภัยและไม่ให้หลุดขึ้น GitHub เราแยกไว้ในบทความ API Key คืออะไร เก็บใน .env ยังไงไม่ให้หลุด

แล้ว API อยู่ตรงไหนในแอปที่คุณใช้ทุกวัน

เมื่อเห็นภาพ Request กับ Response แล้ว คุณจะเริ่มเห็น API อยู่เบื้องหลังหลายอย่างที่ใช้อยู่ทุกวัน

  • แอปพยากรณ์อากาศไม่ได้วัดอุณหภูมิเอง มันส่งคำขอไปที่ API ของผู้ให้บริการข้อมูลอากาศ แล้วเอา JSON ที่ได้มาวาดเป็นหน้าจอ

  • ปุ่ม "เข้าสู่ระบบด้วย Google" คือการที่เว็บหนึ่งเรียก API ของ Google เพื่อยืนยันตัวตนของคุณ

  • แอปมือถือกับเว็บไซต์ของร้านเดียวกันแสดงสินค้าชุดเดียวกัน เพราะทั้งคู่เรียก API หลังบ้านตัวเดียวกัน

  • แชตบอต AI ที่ฝังอยู่ในหลายเว็บ ส่งข้อความของคุณต่อไปที่ API ของผู้ให้บริการโมเดล AI

สำหรับคนเขียนโปรแกรม นี่แปลว่าคุณไม่ต้องสร้างทุกอย่างเอง อยากได้แผนที่ก็เรียก API แผนที่ อยากรับชำระเงินก็เรียก API ของผู้ให้บริการชำระเงิน งานจำนวนมากของนักพัฒนาคือการเอา API หลายตัวมาต่อกันให้กลายเป็นระบบเดียว

API มีกี่ประเภท: REST, GraphQL, gRPC และ API ใน Library

ตรงนี้ต้องพูดให้ครบ สิ่งที่เราลองกันไปคือ Web API แบบ REST ที่คุยกันผ่าน HTTP และตอบกลับเป็น JSON ซึ่งเป็นแบบที่เจอได้ทั่วไป แต่ไม่ใช่แบบเดียว

คำว่า API ในความหมายกว้างหมายถึงช่องทางที่โปรแกรมหนึ่งเปิดให้โปรแกรมอื่นใช้ ฟังก์ชันใน Library ที่คุณ import มาใช้ในโค้ดก็นับเป็น API แบบหนึ่ง ส่วน Web API เองก็มีรูปแบบอื่นอีก เช่น GraphQL ที่ให้ผู้เรียกเลือกเองว่าอยากได้ข้อมูลช่องไหน หรือ gRPC ที่ใช้คุยกันระหว่าง Service หลังบ้าน

เพราะฉะนั้นเวลาเจอคำว่า API ในงานจริง ให้ถามต่อเสมอว่าเป็น API แบบไหน ต้องยืนยันตัวตนไหม และเรียกได้กี่ครั้ง สามคำถามนี้หาคำตอบได้จากเอกสารของ API ตัวนั้น ไม่ต้องเดา

อีกสองคำที่มักถูกถามว่าต่างจาก API ยังไงคือ Webhook และ MCP

อยากไปต่อ ลองทำอะไรต่อจากตรงนี้

ถ้าคุณส่งคำขอด้วย curl ได้แล้ว ขั้นต่อไปที่เราแนะนำมีสามอย่าง เรียงจากง่ายไปยาก

  1. เปลี่ยน Path ไปลอง Endpoint อื่นของ GitHub เช่น /users/octocat/repos ซึ่งคืนรายการ Repository ของบัญชีนั้น แล้วฝึกอ่าน JSON ที่มาเป็นรายการหลายชิ้น

  2. ลองเรียก API เดียวกันจากโค้ด เช่น ใช้ fetch ใน JavaScript แล้วแสดงค่า name บนหน้าเว็บ

  3. ลองสร้าง API ของตัวเอง ถ้าอยากเห็นฝั่ง Server ว่าเขียนยังไง ดูได้จาก JS2GO EP.12 การสร้าง API ด้วย Node.js และ Go หรือ Go กับ RESTful APIs

ถ้ายังไม่แน่ใจว่าควรเรียนเรื่องไหนก่อนหลัง ลองอ่าน เริ่มเรียนเขียนโปรแกรมยุค AI ควรโฟกัสทักษะอะไรก่อน ประกอบกันไปด้วย


สรุป: API คืออะไร ในหนึ่งคำสั่ง curl

API คือข้อตกลงที่ให้โปรแกรมหนึ่งขอข้อมูลหรือสั่งงานอีกโปรแกรมได้ สิ่งที่คุณเพิ่งทำคือส่ง GET /users/octocat ไปหา GitHub แล้วได้ 200 OK กลับมาพร้อม JSON ที่มีชื่อ The Octocat อยู่ข้างใน ในคำสั่งเดียวนั้นมีครบทุกชิ้นที่ต้องรู้ Endpoint คือที่อยู่ Method คือสิ่งที่อยากทำ Status Code คือผลลัพธ์ JSON คือตัวข้อมูล และ API Key คือบัตรผ่านเมื่อผู้ให้บริการต้องรู้ว่าใครเรียก

คำอธิบายเรื่อง API อ่านกี่รอบก็ไม่ชัดเท่าลงมือส่งคำขอเองหนึ่งครั้ง ลองเปลี่ยนชื่อผู้ใช้ ลองเปลี่ยน Path ลองทำให้มันตอบ 404 แล้วอ่านสิ่งที่กลับมา คุณจะเข้าใจ API ได้ลึกกว่าการท่องคำนิยาม

ติดตามบทความและเทคนิคสำหรับคนเริ่มต้นสายโปรแกรมเมอร์ได้ที่ช่องทางของเรา

Facebook: Superdev Academy Thailand — https://www.facebook.com/superdev.academy.th

YouTube: Superdev Academy Channel — https://www.youtube.com/@SuperdevAcademy

Instagram: @superdevacademy — https://www.instagram.com/superdevacademy/

TikTok: @superdevacademy — https://www.tiktok.com/@superdevacademy?lang=th-TH

Website: superdevacademy.com — http://superdevacademy.com

FAQ: คำถามที่พบบ่อยเกี่ยวกับบทความนี้

รวมคำถามและคำตอบที่ช่วยให้คุณเข้าใจเนื้อหาในบทความนี้ได้ดียิ่งขึ้น