🔬 Nghiên cứu 🌱 Mới trồng 17 tháng 8, 2026 Trồng 17 thg 8

public-apis/public-apis

📦 public-apis/public-apis ⭐ 462k Mở trên GitHub ↗

A collective list of free APIs

Kết luận: partial · Công nghệ: public-apis · api-directory · integration-resources · open-data · developer-tools

public-apis/public-apis là một kho tổng hợp rất lớn các API miễn phí/công khai, phù hợp làm điểm tra cứu nhanh khi cần tích hợp dữ liệu, dịch vụ bên thứ ba hoặc tìm ý tưởng sản phẩm. Với quy mô 462247 stars, đây là nguồn tham khảo mạnh cho giai đoạn khám phá, nhưng không phải thư viện hay nền tảng để tích hợp trực tiếp.

📖 Giới thiệu chi tiết

🧩 Nó là gì?

public-apis/public-apis là một danh sách tổng hợp rất lớn các API miễn phí/công khai để bạn tra cứu khi cần lấy dữ liệu hoặc tích hợp dịch vụ bên ngoài vào dự án. Hiểu đơn giản: đây giống như “danh bạ API” cho lập trình viên.

🎯 Giải quyết vấn đề gì? Dành cho ai?

Khi làm app, bạn thường cần dữ liệu có sẵn: thời tiết, tỷ giá, ảnh chó mèo, thông tin chuyến bay, tin tức, xác thực email, dữ liệu quốc gia, v.v. Thay vì tự tìm từng API trên Google, public-apis/public-apis gom chúng lại theo chủ đề để bạn chọn nhanh hơn.

Dự án này phù hợp với:

  • Người mới học lập trình muốn thử gọi API thật.
  • Developer cần tìm API miễn phí để làm demo, side project hoặc prototype.
  • Người làm hackathon cần có dữ liệu nhanh.
  • Product builder muốn tìm ý tưởng sản phẩm từ các nguồn dữ liệu có sẵn.
  • Người muốn so sánh nhiều API cùng lĩnh vực trước khi chọn dùng.

Một điểm cần nhớ: public-apis/public-apis không phải là thư viện để cài vào code, cũng không phải một API duy nhất. Nó là repo GitHub chứa danh sách các API khác.

⚙️ Hoạt động ra sao?

  • Repo liệt kê API theo từng nhóm như Animals, Weather, Finance, Programming, News, Games & Comics, Transportation, v.v.
  • Mỗi API thường có các thông tin chính:
    • Tên API và link tài liệu/trang chủ.
    • Mô tả ngắn API đó dùng để làm gì.
    • Auth: có cần xác thực không, ví dụ apiKey hoặc No.
    • HTTPS: API có hỗ trợ HTTPS không.
    • CORS: trình duyệt có thể gọi trực tiếp API đó không. CORS là cơ chế bảo mật của trình duyệt; nếu CORSNo, bạn có thể cần gọi API từ server thay vì từ frontend.
  • Danh sách được cộng đồng đóng góp và duy trì thủ công.
  • README cũng giới thiệu thêm các API thuộc APILayer, ví dụ IPstack, Marketstack, Weatherstack, Numverify, Fixer, Aviationstack, Mailboxlayer.
  • Nếu muốn đóng góp API mới hoặc sửa thông tin, bạn có thể xem CONTRIBUTING.md, tạo Issues hoặc gửi Pull Requests.

🆚 Khi nào nên dùng / không nên

Nên dùng khi:

  • Bạn cần tìm nhanh một API miễn phí hoặc công khai.
  • Bạn đang học cách gọi API và muốn có ví dụ thực tế.
  • Bạn cần dữ liệu cho project nhỏ, demo, bài tập, hackathon.
  • Bạn muốn khám phá ý tưởng sản phẩm dựa trên dữ liệu sẵn có.

Không nên dùng khi:

  • Bạn cần một dịch vụ đảm bảo ổn định cho production mà chưa kiểm tra kỹ nhà cung cấp API.
  • Bạn muốn “cài package” vào dự án; repo này không hoạt động như thư viện npm/pip.
  • Bạn cần tài liệu chi tiết cho từng API; repo chỉ là nơi tổng hợp link, còn cách dùng cụ thể nằm ở trang của từng API.
  • Bạn cần một chuẩn API thống nhất; mỗi API trong danh sách có cách gọi, giới hạn, đăng ký và dữ liệu trả về khác nhau.

So với việc tìm Google thủ công, public-apis/public-apis nhanh và có cấu trúc hơn. So với nền tảng API thương mại như APILayer, repo này rộng hơn nhưng không đảm bảo mọi API đều cùng chất lượng, cùng dashboard, hay cùng apiKey.

🚀 Bắt đầu nhanh

Bạn không cần cài đặt gì để “dùng” repo này. Cách bắt đầu đơn giản nhất là mở repo, chọn một API phù hợp, đọc tài liệu của API đó, rồi thử gọi.

Các bước:

  1. Vào https://github.com/public-apis/public-apis.
  2. Chọn danh mục bạn quan tâm, ví dụ Animals hoặc Weather.
  3. Ưu tiên API có AuthNo, HTTPSYes, CORSYes nếu bạn muốn thử nhanh trên trình duyệt.
  4. Mở link tài liệu của API.
  5. Gọi thử bằng curl, trình duyệt, Postman hoặc code.

Ví dụ tối thiểu với API catfact.ninja:

curl https://catfact.ninja/fact

Ví dụ gọi bằng JavaScript:

async function getCatFact() {
  const response = await fetch("https://catfact.ninja/fact");
  const data = await response.json();

  console.log(data.fact);
}

getCatFact();

Ví dụ kết quả có thể nhận được:

{
  "fact": "Cats have five toes on their front paws, but only four toes on their back paws.",
  "length": 82
}

Nếu API yêu cầu apiKey, bạn thường cần đăng ký tài khoản trên trang của API đó rồi gửi key kèm request. Ví dụ minh họa chung:

curl "https://example.com/api/data?api_key=«bí mật đã ẩn»"

✅ Điểm mạnh & ⚠️ Hạn chế

✅ Điểm mạnh:

  • Danh sách rất lớn, có khoảng 462247 stars, cho thấy được cộng đồng quan tâm mạnh.
  • Phân loại rõ ràng theo chủ đề, dễ tìm API đúng nhu cầu.
  • Có nhiều API miễn phí hoặc công khai, rất hợp để học và thử nghiệm.
  • Thông tin tóm tắt dễ quét nhanh: Auth, HTTPS, CORS.
  • Có cộng đồng đóng góp qua IssuesPull Requests.

⚠️ Hạn chế:

  • Không phải API nào cũng còn hoạt động tốt hoặc còn miễn phí như trước.
  • Chất lượng tài liệu, tốc độ, giới hạn gọi API phụ thuộc vào từng nhà cung cấp.
  • Repo không thay bạn kiểm tra bảo mật, giấy phép, giới hạn sử dụng hay độ ổn định.
  • Một số API cần apiKey, đăng ký tài khoản hoặc có giới hạn số lần gọi.
  • Với dự án production, bạn vẫn cần test kỹ trước khi chọn API chính thức.