Antwa CodeAntwaCode Blog

Awesome Repo8 menit baca

public-apis: Kumpulan API Gratis untuk Developer

public-apis adalah koleksi API gratis untuk developer.

Baca dalam English

public-apis

Gambar: GitHub

public-apis: Kumpulan API Gratis untuk Developer

Halo, developer Indonesia! 🇮🇩

Kalau kamu lagi cari API gratis untuk proyek berikutnya, kamu berada di tempat yang tepat. Kali ini kita bahas soal public-apis — repo GitHub yang sudah jadi semacam "pustaka rujukan" bagi siapa saja yang butuh akses ke API publik tanpa harus keluar uang.

Repo ini udah dikumpulkan dan dipelihara oleh komunitas selama bertahun-tahun, dan hasilnya? Lebih dari 1.400 API gratis yang tersedia di berbagai kategori, dari data cuaca sampai data hewan peliharaan. Yuk, kita bedah bareng-bareng!


Apa Itu public-apis?

public-apis adalah repo GitHub berisi daftar komprehensif API publik yang bisa diakses secara gratis atau dengan paket gratis. Repo ini dimaintain secara manual oleh komunitas kontributor — artinya setiap API yang masuk daftar sudah dikurasi dan diverifikasi oleh manusia, bukan cuma hasil scraping otomatis.

Beberapa fakta kunci tentang repo ini:

  • GitHub Stars: 456K+ (salah satu repo paling banyak di-star di GitHub!)
  • Forks: 50.3K+
  • Commits: 5.100+
  • Pull Requests aktif: 1.600+
  • License: CC0-1.0 (Public Domain — bebas pakai tanpa batasan)
  • Bahasa: Python
  • Total kategori: Lebih dari 50 kategori API

Repo ini bukan cuma daftar link. Setiap API di-list dengan informasi penting seperti:

KolomPenjelasan
APINama dan link ke dokumentasi API
DescriptionPenjelasan singkat tentang apa yang bisa dilakukan API
AuthApakah butuh API Key atau tidak (apiKey, OAuth, No)
HTTPSApakah mendukung HTTPS (Yes/No)
CORSApakah mendukung Cross-Origin Resource Sharing (Yes/No)

Informasi ini sangat penting karena langsung mempengaruhi bagaimana kamu bisa pakai API tersebut di browser atau backend.


Kenapa public-apis Penting?

Sebagai developer, kita sering butuh data dari berbagai sumber — cuaca, berita, data finansial, foto random, dan sebagainya. Masalahnya:

  1. Belum tentu kita punya budget untuk berlangganan API berbayar
  2. Butuh prototype cepat sebelum commit ke solusi berbayar
  3. Belum tahu API mana yang reliable dan mudah dipakai

Nah, public-apis解决 semua masalah ini. Kamu bisa:

  • Cari API berdasarkan kategori
  • Lihat langsung apakah perlu API Key
  • Pastikan mendukung HTTPS dan CORS
  • Bandingkan beberapa API dalam satu kategori

Plus, karena ini repo open source berlisensi CC0, kamu juga bisa berkontribusi — kalau nemu API gratis baru, tinggal bikin pull request!


Kategori API yang Tersedia

public-apis punya lebih dari 50 kategori API. Berikut ini rincian lengkapnya:

Kategori Utama

🐾 Animals

API untuk data hewan — mulai dari fakta kucing acak (Cat Facts), foto anjing (RandomDog), data spesies terancam punah, sampai lokasi burung migrasi. Cocok banget untuk app edukasi atau sekadar bikin bot Telegram lucu.

🎌 Anime

Data dari database anime populer seperti MyAnimeList, Jikan, dan lainnya. Mulai dari info anime, manga, karakter, sampai jadwal rilis episode.

🛡️ Anti-Malware

API untuk scan file dan URL terhadap malware. Berguna untuk bikin layanan keamanan atau integrasi di email gateway.

🎨 Art & Design

API untuk generasi gambar, palet warna, font, dan aset desain. Beberapa API populer di kategori ini termasuk Unsplash, Pexels, dan The Noun Project.

🔐 Authentication & Authorization

Solusi auth siap pakai seperti Auth0, Clerk, dan Firebase Authentication. Cocok untuk developer yang tidak mau build sistem login dari nol.

⛓️ Blockchain

Data on-chain, harga cryptocurrency, dan informasi wallet. Berguna untuk developer Web3.

📚 Books

Database buku dari Google Books, Open Library, sampai Goodreads. Cocok untuk app perpustakaan atau book review.

💼 Business

API untuk invoice, CRM, dan data bisnis lainnya.

📅 Calendar

Integrasi kalender seperti Google Calendar API, Calendly, dan alternatif lainnya.

☁️ Cloud Storage & File Sharing

API untuk upload, download, dan manage file di cloud — Dropbox, Google Drive, Box, dan lainnya.

🔄 Continuous Integration

API untuk trigger dan monitor CI/CD pipeline — Jenkins, Travis CI, GitLab CI, dll.

💰 Cryptocurrency

Harga real-time, data market cap, informasi blockchain. CoinGecko dan CoinMarketCap adalah beberapa API populer di sini.

💱 Currency Exchange

Kurs mata uang real-time dan historis. Berguna untuk app fintech atau e-commerce internasional.

✅ Data Validation

Validasi email, nomor telepon, alamat, dan data lainnya. Penting untuk form handling di aplikasi.

👨‍💻 Development

API untuk developer tools — GitHub API, Stack Overflow, dan berbagai layanan pendukung development workflow.

📖 Dictionaries

Kamus dan terjemahan — Oxford, Merriam-Webster, Google Translate, dan lainnya.

📄 Documents & Productivity

API untuk generate PDF, OCR, dan produktivitas. Berguna untuk automasi dokumen bisnis.

📧 Email

Layanan email API seperti SendGrid, Mailgun, dan Postmark untuk kirim email transaksional.

🎬 Entertainment

Data film (TMDb, OMDB), acara TV, podcast, dan hiburan lainnya.

🌿 Environment

Data kualitas udara, emisi karbon, dan lingkungan. Berguna untuk app sustainability.

🎉 Events

Data event, konser, dan aktivitas lokal. Termasuk Eventbrite dan Ticketmaster API.

📈 Finance

Data pasar saham, berita finansial, dan analisis investasi.

🍔 Food & Drink

Resep masakan, data nutrisi, informasi restoran. Cocok untuk app foodie atau healthy eating.

🎮 Games & Comics

Data game dari Steam, RAWG, IGDB, dan komik dari Marvel, DC, Comic Vine.

📍 Geocoding

Konversi alamat ke koordinat GPS dan sebaliknya. Peta, lokasi, dan navigasi.

🏛️ Government

Data pemerintah terbuka — sensus, statistik, data legislatif.

❤️ Health

Data kesehatan, informasi obat, dan research medis.

💼 Jobs

Data lowongan kerja dari berbagai sumber.

🤖 Machine Learning

Model ML siap pakai, API untuk NLP, computer vision, dan predictive analytics.

🎵 Music

Data musik dari Spotify, Last.fm, Genius (lirik), dan layanan streaming lainnya.

📰 News

Berita dari berbagai sumber — NewsAPI, Google News, dan lainnya.

📊 Open Data

Dataset terbuka dari berbagai pemerintah dan organisasi.

🔬 Science & Math

Data ilmiah — NASA, data cuaca, genetika, astronomi.

🔒 Security

API keamanan — breach check, vulnerability scanner, threat intelligence.

🛍️ Shopping

Data produk dan harga dari Amazon, eBay, dan marketplace lainnya.

👥 Social

Social media API — Twitter, Reddit, Mastodon, dan platform lainnya.

⚽ Sports & Fitness

Data olahraga — sepak bola, basket, cricket, dan data fitness.

🧪 Test Data

Data dummy untuk testing — generator nama, alamat, nomor telepon, dan lainnya.

📝 Text Analysis

Natural Language Processing — sentiment analysis, summarization, keyword extraction.

📍 Tracking

Pelacakan paket, domain, dan IP address.

🚗 Transportation

Data transportasi — flight, kereta, bus, ride-sharing.

🔗 URL Shorteners

API untuk pendekatan URL — Bitly, TinyURL, dan alternatif lainnya.

🚙 Vehicle

Data kendaraan — spesifikasi mobil, recall information.

📹 Video

Data video dari YouTube, Vimeo, dan platform lainnya.

🌤️ Weather

Data cuaca real-time dan forecast — OpenWeatherMap, Weatherstack, dan lainnya.


Cara Pakai public-apis

1. Clone atau Akses Langsung

Cara paling simpel, cukup buka repo-nya di GitHub:

# Clone repo untuk offline browsing
git clone https://github.com/public-apis/public-apis.git
 
# Atau buka langsung di browser
# https://github.com/public-apis/public-apis

2. Cari API yang Cocok

Setelah clone, buka README.md dan gunakan table of contents untuk navigasi ke kategori yang kamu butuhkan. Misalnya:

## Index
* [Animals](#animals)
* [Anime](#anime)
* [Weather](#weather)
* ...dst

3. Pahami Kolom Setiap API

Sebelum pakai API, perhatikan kolom-kolom ini:

  • Auth: Apakah perlu API Key? Kalau No, tinggal panggil langsung. Kalau apiKey, kamu perlu daftar dulu di website provider-nya.
  • HTTPS: Kalau Yes, aman untuk production. Kalau No, hati-hati — bisa berisiko.
  • CORS: Kalau Yes, bisa dipanggil langsung dari browser (frontend). Kalau No, harus lewat backend/proxy.

4. Baca Dokumentasi

Klik link di kolom API untuk baca dokumentasi lengkap. Setiap provider punya cara pakai yang berbeda-beda.

5. Mulai Build!

Setelah paham cara pakai, tinggal integrasikan ke proyek kamu.


Contoh API Populer dari Berikut Ini

Berikut beberapa API yang paling banyak dipakai developer Indonesia berdasarkan kategorinya:

Cuaca — OpenWeatherMap

import requests
 
API_KEY = "YOUR_API_KEY"
city = "Jakarta"
 
url = f"https://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}&units=metric"
response = requests.get(url)
data = response.json()
 
print(f"Cuaca di {city}: {data['weather'][0]['description']}")
print(f"Suhu: {data['main']['temp']}°C")
print(f"Kelembapan: {data['main']['humidity']}%")

Harga Kripto — CoinGecko

import requests
 
url = "https://api.coingecko.com/api/v3/simple/price"
params = {
    "ids": "bitcoin,ethereum,solana",
    "vs_currencies": "usd,idr"
}
 
response = requests.get(url, params=params)
data = response.json()
 
for coin, prices in data.items():
    print(f"{coin.upper()}:")
    print(f"  USD: ${prices['usd']:,.2f}")
    print(f"  IDR: Rp{prices['idr']:,.0f}")

Foto Acak — Unsplash

// Frontend JavaScript — bisa langsung dari browser karena CORS: Yes
async function getRandomPhoto() {
    const accessKey = 'YOUR_ACCESS_KEY';
    const url = `https://api.unsplash.com/photos/random?client_id=${accessKey}`;
    
    const response = await fetch(url);
    const data = await response.json();
    
    console.log(`Judul: ${data.alt_description}`);
    console.log(`URL: ${data.urls.regular}`);
    console.log(`Oleh: ${data.user.name}`);
}
 
getRandomPhoto();

Fakta Kucing — Cat Facts

import requests
 
url = "https://catfact.ninja/fact"
response = requests.get(url)
data = response.json()
 
print(f"Fakta Kucing: {data['fact']}")
print(f"Panjang: {data['length']} karakter")

Kurs Mata Uang — ExchangeRate

import requests
 
url = "https://open.er-api.com/v6/latest/IDR"
response = requests.get(url)
rates = response.json()['rates']
 
# Konversi Rupiah ke berbagai mata uang
idr_amount = 1_000_000  # 1 juta Rupiah
currencies = ['USD', 'EUR', 'GBP', 'JPY', 'SGD']
 
print(f"Rp{idr_amount:,.0f} setara dengan:")
for currency in currencies:
    converted = idr_amount * rates[currency]
    print(f"  {currency}: {converted:,.2f}")

Use Case untuk Developer Indonesia

1. 📱 Aplikasi Cuaca Lokal

Build app cuaca yang menampilkan kondisi real-time untuk kota-kota di Indonesia. Pakai OpenWeatherMap atau Weatherstack API.

Teknologi yang bisa dipakai:

  • Frontend: React Native / Flutter
  • Backend: Node.js / Python FastAPI
  • API: OpenWeatherMap (gratis 1.000 calls/hari)

2. 🤖 Chatbot Telegram dengan Data Real-time

Bikin bot Telegram yang bisa kasih info cuaca, berita terkini, atau harga crypto.

# Contoh konsep bot Telegram sederhana
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes
import requests
 
async def weather(update: Update, context: ContextTypes.DEFAULT_TYPE):
    city = context.args[0] if context.args else "Jakarta"
    
    url = f"https://api.openweathermap.org/data/2.5/weather?q={city}&appid=API_KEY&units=metric"
    data = requests.get(url).json()
    
    message = f"🌤 Cuaca di {city}:\n"
    message += f"📐 Suhu: {data['main']['temp']}°C\n"
    message += f"💧 Kelembapan: {data['main']['humidity']}%\n"
    message += f"📝 {data['weather'][0]['description']}"
    
    await update.message.reply_text(message)

3. 📊 Dashboard Finansial

Bikin dashboard yang menampilkan data pasar saham dan cryptocurrency. Pakai Marketstack untuk saham dan CoinGecko untuk crypto.

4. 🎓 Platform Edukasi

Build platform belajar dengan API kamus (untuk arti kata), API buku (untuk rekomendasi bacaan), dan API data sains.

5. 🛒 E-commerce Prototype

Untuk prototyping e-commerce, pakai API dari Shopping category untuk menampilkan data produk tanpa harus input data manual.

6. 🏥 Aplikasi Kesehatan

Bikin app yang memberikan informasi nutrisi makanan (Food & Drink API) atau informasi kesehatan umum (Health API).

7. 📸 Portfolio Generator Otomatis

Pakai Unsplash atau Pexels API untuk generate portfolio page dengan foto-foto berkualitas tinggi secara otomatis.


Tips Menggunakan API Gratis

1. Selalu Cek Rate Limit

Hampir semua API gratis punya batasan jumlah request per hari/jam. Misalnya:

  • OpenWeatherMap: 1.000 calls/hari (gratis)
  • CoinGecko: 10-30 calls/menit (gratis)
  • NewsAPI: 100 requests/hari (gratis)

Tips: Simpan data yang jarang berubah ke cache/lokal supaya tidak boros API call.

2. Gunakan API Key dengan Bijak

# ❌ JANGAN lakukan ini
API_KEY = "sk_live_abc123xyz"  # Hardcoded di kode
 
# ✅ Gunakan environment variables
import os
API_KEY = os.environ.get("OPENWEATHER_API_KEY")

Simpan API key di .env file atau environment variables, dan jangan pernah commit ke Git!

3. Handle Error dengan Baik

import requests
from requests.exceptions import RequestException
 
def fetch_data(url):
    try:
        response = requests.get(url, timeout=10)
        response.raise_for_status()
        return response.json()
    except requests.exceptions.Timeout:
        print("⏰ Request timeout — coba lagi nanti")
    except requests.exceptions.HTTPError as e:
        print(f"❌ HTTP Error: {e.response.status_code}")
    except RequestException as e:
        print(f"❌ Error: {e}")
    return None

4. Baca Docs Dulu, Baru Code

Setiap API punya aturan main masing-masing. Selalu baca dokumentasi lengkap sebelum mulai coding. Perhatikan:

  • Endpoint mana yang harus dipanggil
  • Parameter apa saja yang diperlukan
  • Format response yang dikembalikan
  • Batasan (rate limit, quota)

5. Cek Status API Secara Berkala

Beberapa API gratis kadang tiba-tiba mati atau berubah ke model berbayar. Rajin-rajin cek repo public-apis untuk update terbaru.


Cara Berkontribusi

Mau bantu kembangkan daftar ini? Caranya gampang!

  1. Fork repo public-apis
  2. Tambahkan API baru yang belum ada di daftar
  3. Pastikan format sesuai dengan yang sudah ada:
| [Nama API](https://link-ke-api.com) | Deskripsi API | `apiKey` | Yes | Yes |
  1. Kirim Pull Request dengan judul yang jelas
  2. Tunggu review dari maintainer

Tips kontribusi:

  • Pastikan API yang ditambahkan benar-benar gratis atau punya tier gratis
  • Sertakan link ke dokumentasi lengkap
  • Isi kolom Auth, HTTPS, dan CORS dengan akurat
  • Jangan lupa cek apakah API sudah ada di daftar (hindari duplikat)

Alternatif & Komplementer

public-apis bukan satu-satunya resource yang ada. Berikut beberapa alternatif yang bisa melengkapi:

ResourcePenjelasan
Public APIsWebsite dengan UI yang lebih user-friendly
API ListDaftar API alternatif dengan kategori serupa
RapidAPI MarketplacePlatform API dengan tier gratis
Postman Public API NetworkKoleksi API yang bisa langsung dicoba di Postman
APIs.guruDatabase API berbasis OpenAPI/Swagger

Kesimpulan

public-apis adalah resource yang WAJIB dimiliki setiap developer. Dengan lebih dari 1.400 API gratis yang terkurasi dengan baik, kamu tidak perlu lagi pusing mencari data untuk proyekmu.

Yang paling keren dari repo ini:

  • Gratis semua — daftar ini khusus API yang bisa dipakai tanpa bayar (atau punya tier gratis yang cukup)
  • Terkurasi komunitas — setiap API diverifikasi oleh manusia, bukan bot
  • Info lengkap — langsung kelihatan apakah butuh auth, HTTPS, dan CORS
  • Terus diupdate — ada 5.100+ commits dan PR aktif dari komunitas
  • Open Source — lisensi CC0, bebas pakai dan kontribusi

Jadi, kalau kamu lagi brainstorming proyek baru dan butuh data, mulailah dari public-apis. Siapa tahu, API gratis yang kamu butuhkan sudah ada di daftar ini!

Bookmark repo-nya sekarang: github.com/public-apis/public-apis

Selamat coding, dan semoga proyekmu lancar! 🚀


Artikel ini ditulis berdasarkan repo public-apis/public-apis yang berlisensi CC0-1.0.

Tulisan lain