Bỏ qua đến nội dung

API Là Gì Trong Data Science: REST API, Pandas API Và Ví Dụ Thực Tế

API chỉ là cách hai phần mềm nói chuyện theo bộ quy tắc chung — từ df.sum() trong Pandas đến REST API chạy qua web. Bài giải thích endpoint, JSON, HTTP method và đưa ra 3 ví dụ thực tế bằng Pandas, Watson Speech-to-Text và Language Translator.

Phong Nguyen
Phong Nguyen

PNTECH Writer · 22/09/2026

0 lượt xem15 phút đọc

API Là Gì Trong Data Science: REST API, Pandas API Và Ví Dụ Thực Tế

API trong data science — bắt đầu từ chỗ dễ hiểu nhất

Nếu bạn đang học data science và thấy mọi tài liệu nhắc đến "API", "REST", "endpoint", "JSON" mà không hiểu chúng là gì, bạn không cô đơn. Đây là bộ từ vựng xuất hiện ở mọi nơi — từ tài liệu Pandas, TensorFlow cho đến các dịch vụ chuyển giọng nói thành chữ của Google hay IBM. Đọc xong bài này, bạn sẽ hiểu API là gì, REST API là gì, biết cách đọc endpoint và JSON, và tự tin gọi một REST API thật từ Python.

Điều quan trọng nhất: API không phải thứ gì đáng sợ. Nó chỉ là cách hai phần mềm "nói chuyện" với nhau theo một bộ quy tắc chung. Khi bạn gọi df.sum() trong Pandas, bạn cũng đang dùng API. Khi bạn gửi file audio lên một trang web và nhận về đoạn văn bản, đó cũng là API. Cùng một khái niệm, chỉ khác cách gọi.

Trước khi đi vào chi tiết, hãy nhớ một điều: API chỉ là phần giao diện nhìn thấy — tức là những gì bạn được phép gọi và cách gọi chúng. Phần xử lý bên trong (gọi là back end — phần "hậu trường" của phần mềm) bạn không cần biết, cũng giống như khi gọi món ở nhà hàng, bạn không cần vào bếp xem đầu bếp nấu thế nào.

API là bộ quy tắc chung để hai phần mềm nói chuyện với nhau — bạn chỉ cần biết gọi sao, không cần biết bên trong làm thế nào.

API là gì — giải thích bằng ví dụ gọi món qua quán

Hãy tưởng tượng bạn ngồi trong quán ăn. Bạn muốn gọi một phở bò. Bạn không chạy vào bếp tự nấu — bạn đọc menu, chọn món, gọi với cô phục vụ, rồi nhận món lên bàn. Toàn bộ quá trình đó diễn ra theo một bộ quy tắc chung: menu có những món gì, gọi thế nào, nhận món ra sao.

API hoạt động y hệt như vậy giữa hai phần mềm:

  • Menu = danh sách các hàm (function) hoặc dịch vụ mà phần mềm kia cung cấp cho bạn gọi.
  • Cô phục vụ = chính cái API — nhận yêu cầu từ bạn, chuyển vào bếp, mang kết quả trả lại.
  • Bếp (back end) = phần xử lý bên trong, bạn không thấy và không cần quan tâm.
  • Món ăn trả về = dữ liệu bạn nhận được (thường ở định dạng JSON, sẽ giải thích ở phần sau).

Vậy nên khi tài liệu nói "API của Pandas", nghĩa là tập hợp các hàm mà Pandas cho phép bạn gọi — ví dụ df.sum(), df.groupby(), df.merge(). Mỗi hàm là một "món trong menu". Bạn chỉ cần biết hàm đó nhận đầu vào gì và trả về gì, không cần đọc code bên trong Pandas.

Ví dụ API như gọi món qua quán ăn

Library API — Pandas và TensorFlow là hai ví dụ dễ gặp nhất

Library API (API của thư viện lập trình) là loại API bạn dùng nhiều nhất khi học data science. Thư viện ở đây là tập code viết sẵn mà bạn cài thêm vào dự án của mình — giống như mua sẵn nguyên liệu về nhà nấu, thay vì tự trồng rau. Mỗi thư viện cung cấp một bộ hàm để bạn gọi, và bộ hàm đó chính là API của nó.

Pandas là ví dụ rõ nhất. Khi bạn viết df.sum(), bạn đang gọi API của Pandas. Bạn truyền vào một bảng dữ liệu (DataFrame) và nhận về tổng của từng cột — không cần biết bên trong Pandas viết bằng gì, tối ưu ra sao. Tương tự, df.groupby("city").mean() cũng là một lời gọi API: nhóm dữ liệu theo thành phố rồi tính trung bình mỗi nhóm.

Điểm hay của API là nó ẩn đi sự phức tạp bên trong. Pandas thực tế được viết bằng nhiều ngôn ngữ khác nhau dưới lớp vỏ Python (chủ yếu là C và Cython — hai ngôn ngữ lập trình chạy rất nhanh), nhưng bạn cứ gọi sum() bằng Python bình thường. Bạn không cần biết điều đó để dùng.

TensorFlow là ví dụ còn ấn tượng hơn. Toàn bộ phần "ruột" của TensorFlow được viết bằng C++ — ngôn ngữ chạy cực nhanh nhưng khó viết. Thay vì bắt bạn phải học C++, TensorFlow cung cấp API cho nhiều ngôn ngữ: Python, JavaScript, Java, Go, Swift và nhiều ngôn ngữ khác. Bạn viết Python, TensorFlow tự dịch sang C++ chạy bên dưới. Đó chính là sức mạnh của API: một lõi xử lý phức tạp, nhiều cách gọi khác nhau.

Nếu bạn muốn tìm hiểu thêm về các thư viện thường gặp, bài viết Pandas và TensorFlow là hai thư viện có API dễ gặp nhất sẽ giúp bạn có cái nhìn tổng quan về hệ sinh thái này.

Pandas có thể viết bằng C bên trong, TensorFlow viết bằng C++ — nhưng bạn cứ gọi hàm bằng Python. API chính là cầu nối đó.

REST API là gì — API chạy qua web

REST API là loại API chạy qua mạng internet, dùng chính giao thức HTTP mà trình duyệt web của bạn đang dùng để mở trang này. HTTP ở đây là giao thức truyền dữ liệu trên web — tức là "ngôn ngữ chung" mà trình duyệt và máy chủ dùng để nói chuyện. Nhờ vậy, bạn có thể gọi REST API từ bất kỳ đâu có internet, không cần cài thêm gì đặc biệt.

Để hiểu REST API, hãy nhớ ba "diễn viên" chính:

  • Client (máy khách): chương trình của bạn — có thể là script Python, app điện thoại, hoặc trang web.
  • Resource / Web service (máy chủ): máy chủ ở đâu đó trên cloud (dịch vụ điện toán đám mây), xử lý yêu cầu và trả về kết quả.
  • Endpoint (điểm cuối): địa chỉ URL cụ thể cho từng chức năng. Ví dụ https://api.example.com/translate là endpoint dịch thuật, https://api.example.com/speech-to-text là endpoint chuyển giọng nói thành chữ.

Mỗi endpoint giống như một số phòng trong khách sạn: bạn biết số phòng, gõ cửa đúng phòng đó, và nhận được đúng dịch vụ tương ứng. Bạn không cần biết bên trong phòng có ai, làm gì — chỉ cần gọi đúng cửa.

Một REST API thường có nhiều endpoint, mỗi endpoint phục vụ một việc: lấy dữ liệu, gửi dữ liệu lên, xóa, cập nhật. Đây là điểm mạnh của REST: tách nhỏ chức năng thành các địa chỉ rõ ràng, dễ nhớ, dễ gọi.

Sơ đồ client gửi request đến endpoint nhận response từ web service

Request, response và JSON — ba thứ bạn gặp mỗi ngày

Khi client gọi một REST API, nó gửi một request (yêu cầu) và nhận về một response (phản hồi). Request có thể đi kèm HTTP method để nói rõ ý định:

  • GET: hỏi/lấy dữ liệu — ví dụ "cho tôi xem danh sách sản phẩm".
  • POST: gửi dữ liệu lên để xử lý — ví dụ gửi file audio để chuyển thành text, hoặc gửi câu tiếng Anh để dịch sang tiếng Việt.

Ngoài GET và POST còn có PUT, PATCH, DELETE — nhưng với người mới học data science, bạn sẽ dùng GET và POST là chủ yếu. GET để kéo dữ liệu về, POST để đẩy dữ liệu lên cho server xử lý.

Còn JSON là gì? JSON (JavaScript Object Notation) là một định dạng dữ liệu kiểu bảng gọn, trông giống từ điển trong Python. Ví dụ một giỏ hàng viết bằng JSON sẽ trông như sau:

{ "ten_nguoi_mua": "An", "san_pham": ["táo", "chuối"], "tong_tien": 50000 }

Đó là cả một bảng thông tin trong vài dòng: tên người mua, danh sách sản phẩm, tổng tiền. JSON phổ biến vì nó ngắn gọn, dễ đọc, dễ parse (phân tích thành cấu trúc dữ liệu trong code) — cả người và máy đều hiểu.

Khi bạn gọi REST API, dữ liệu gửi đi thường là JSON, và dữ liệu nhận về cũng là JSON. Pandas có thể đọc thẳng JSON thành bảng DataFrame để xử lý tiếp. Nếu bạn muốn hiểu sâu hơn về JSON và các định dạng file hay gặp trong data science, hãy xem bài JSON — định dạng dữ liệu hay gặp khi gọi API.

JSON trông giống từ điển Python: cặp "key": "value" lồng nhau. Người đọc được, máy đọc được, đó là lý do nó thống trị thế giới API.

Ví dụ thực tế — gọi API bằng Pandas và Watson

Để mọi thứ bớt lý thuyết, hãy đi qua ba ví dụ cụ thể — từ đơn giản đến phức tạp hơn một chút.

Ví dụ 1 — Pandas tính tổng doanh thu: Bạn có bảng dữ liệu bán hàng với các cột ngay, thanh_pho, doanh_thu. Gọi df["doanh_thu"].sum() là bạn đã dùng API của Pandas. Bạn nhận về tổng doanh thu — không cần viết vòng lặp, không cần biết Pandas tối ưu bằng C ở đâu. Đây là API gần nhất và dễ thấy nhất.

Ví dụ 2 — Watson Speech-to-Text: Bạn muốn chuyển một file ghi âm cuộc họp thành văn bản. Bạn gửi file audio lên endpoint của Watson Speech-to-Text (một dịch vụ nhận diện giọng nói của IBM) qua phương thức POST. Server nhận file, chạy mô hình nhận diện giọng nói, rồi trả về JSON chứa đoạn văn bản đã chuyển. Bạn đọc JSON đó, lấy text ra, lưu vào bảng hoặc tiếp tục xử lý bằng Pandas. Toàn bộ quá trình diễn ra qua một endpoint duy nhất.

Ví dụ 3 — Language Translator: Bạn cần dịch một đoạn tiếng Anh sang tiếng Việt hoặc tiếng Tây Ban Nha. Bạn gửi POST request lên endpoint dịch thuật, kèm JSON chứa câu cần dịch và ngôn ngữ đích. Server trả về JSON chứa bản dịch. Bạn lấy bản dịch ra, dùng tiếp trong pipeline (quy trình xử lý dữ liệu) của mình.

Cả ba ví dụ trên đều theo cùng một công thức: client gửi request → server xử lý → trả về response JSON. Bạn không cần biết server bên trong dùng công nghệ gì — quan trọng là bạn biết gọi endpoint nào, gửi gì, nhận gì.

Ba ví dụ thực tế: Pandas, Speech-to-Text, Translator

Watson là một trong nhiều nền tảng cloud cung cấp REST API cho data science. Nếu bạn muốn so sánh các lựa chọn khác — Google Cloud, AWS, Azure — bài viết Watson và các nền tảng cloud cung cấp REST API cho data science sẽ giúp bạn có góc nhìn rộng hơn.

Checklist khi bắt đầu dùng một API

Dùng API không khó, nhưng bạn dễ bị "ngợp" vì mỗi dịch vụ có một tài liệu dày cộm. Để khỏi lạc, hãy đi theo checklist ngắn này:

  • Đọc phần "Getting Started" hoặc "Quickstart" trước — phần này luôn đi thẳng vào ví dụ nhỏ nhất, giúp bạn chạy thử trong 5 phút.
  • Tìm endpoint bạn cần — ghi chú URL, HTTP method (GET/POST), và dữ liệu cần gửi kèm.
  • Lấy API key — hầu hết API thương mại yêu cầu bạn đăng ký tài khoản và nhận một chuỗi key bí mật để xác thực. API key giống như "vé vào cửa" — không có key thì server từ chối phục vụ.
  • Kiểm tra giới hạn gọi (rate limit) — mỗi API cho phép bạn gọi bao nhiêu lần mỗi phút, mỗi ngày. Gọi vượt sẽ bị chặn tạm thời.
  • Kiểm tra giá trên trang chính hãng — nhiều API có gói miễn phí giới hạn, vượt thì tính phí. Giá và chính sách có thể thay đổi theo năm, nên luôn kiểm tra trang chính hãng khi bắt đầu dự án.
  • Đọc phần lỗi (errors) — biết server trả mã lỗi nào khi bạn gửi sai (400, 401, 429, 500…) để debug nhanh hơn.

Checklist này áp dụng được cho hầu hết REST API — từ Watson, Google Cloud, cho đến các API nhỏ của bên thứ ba. Làm quen quy trình này một lần, sau này bạn tiếp cận API mới sẽ nhanh hơn nhiều.

Lưu ý thực tế 2025–2026 — REST không phải API duy nhất

Bài này tập trung vào REST API vì đây là loại bạn gặp nhiều nhất khi học data science. Nhưng REST không phải kiểu API duy nhất. Trên thực tế, có ba kiểu phổ biến bạn nên biết tên:

  • REST: chạy qua HTTP, dùng JSON, dễ học, dễ debug — lựa chọn mặc định cho hầu hết dự án.
  • SOAP: cũ hơn REST, dùng XML (định dạng dữ liệu nặng hơn JSON), thường gặp trong hệ thống ngân hàng, doanh nghiệp lớn.
  • GraphQL: cho phép client tự chọn trường dữ liệu cần lấy thay vì nhận toàn bộ response. Linh hoạt hơn REST nhưng phức tạp hơn.

Với người mới, bạn chỉ cần nhớ: REST là điểm bắt đầu, còn lại học sau khi cần. Đừng cố hiểu hết cùng lúc — sẽ dễ nản.

Một lưu ý quan trọng khác: giá, giới hạn gọi, và chính sách API thay đổi theo thời gian. Watson trước đây có gói miễn phí, nhưng nhiều API AI thương mại hiện đã chuyển sang trả phí hoặc giới hạn rất chặt. Google Speech-to-Text, OpenAI Whisper, các dịch vụ nhận diện giọng nói/dịch thuật cũng tương tự — giá và quota (hạn mức sử dụng) có thể đổi theo quý. Khi bắt đầu dự án, hãy vào trang chính hãng của API đó để xác nhận thông tin mới nhất.

Vì thông tin giá có thể đã thay đổi so với thời điểm viết bài, bạn nên kiểm tra trực tiếp trang IBM Cloud, Google Cloud, OpenAI trước khi quyết định dùng API nào cho dự án của mình.

REST là điểm bắt đầu dễ nhất. SOAP và GraphQL học sau khi bạn đã quen tay gọi REST vài tháng.

Tóm lại — bạn cần nhớ gì sau bài này

API là bộ quy tắc để hai phần mềm nói chuyện với nhau — bạn chỉ cần biết gọi sao, không cần biết bên trong làm gì. Library API như Pandas cho bạn gọi hàm bằng Python, REST API cho bạn gọi dịch vụ qua web bằng URL. Mỗi REST API có nhiều endpoint — mỗi endpoint là một URL phục vụ một chức năng cụ thể. Request dùng HTTP method (GET để hỏi, POST để gửi dữ liệu), dữ liệu gửi đi và nhận về thường ở định dạng JSON.

Khi mới bắt đầu, hãy chọn một REST API đơn giản (có tài liệu tốt, có gói miễn phí), đọc phần Quickstart, gửi thử một request bằng Python hoặc Postman, in response ra xem cấu trúc. Làm được một lần, bạn sẽ thấy API không đáng sợ — nó chỉ là cách phần mềm giao tiếp với nhau theo một bộ quy tắc rõ ràng.

Khi đã quen REST, bạn có thể mở rộng sang các thư viện như Pandas, TensorFlow — tất cả đều dựa trên cùng một tư duy: gọi đúng tên, gửi đúng dữ liệu, nhận về kết quả. Giá, giới hạn và tính năng API thay đổi theo năm, nên luôn kiểm tra trang chính hãng trước khi dùng cho dự án thật.

  • data science cơ bản
  • JSON trong Python
  • thư viện Python
  • Gọi API bằng Python
  • Watson API
  • REST API
  • endpoint API
  • HTTP GET POST
  • Pandas API
  • API là gì

Tool mình đã dùng thật

Xem danh sách tool và dịch vụ đã dùng trong công việc — kèm lý do nên cân nhắc và khi nào không cần.