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:
| Kolom | Penjelasan |
|---|---|
| API | Nama dan link ke dokumentasi API |
| Description | Penjelasan singkat tentang apa yang bisa dilakukan API |
| Auth | Apakah butuh API Key atau tidak (apiKey, OAuth, No) |
| HTTPS | Apakah mendukung HTTPS (Yes/No) |
| CORS | Apakah 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:
- Belum tentu kita punya budget untuk berlangganan API berbayar
- Butuh prototype cepat sebelum commit ke solusi berbayar
- 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.
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-apis2. 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)
* ...dst3. Pahami Kolom Setiap API
Sebelum pakai API, perhatikan kolom-kolom ini:
- Auth: Apakah perlu API Key? Kalau
No, tinggal panggil langsung. KalauapiKey, kamu perlu daftar dulu di website provider-nya. - HTTPS: Kalau
Yes, aman untuk production. KalauNo, hati-hati — bisa berisiko. - CORS: Kalau
Yes, bisa dipanggil langsung dari browser (frontend). KalauNo, 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 None4. 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!
- Fork repo public-apis
- Tambahkan API baru yang belum ada di daftar
- Pastikan format sesuai dengan yang sudah ada:
| [Nama API](https://link-ke-api.com) | Deskripsi API | `apiKey` | Yes | Yes |- Kirim Pull Request dengan judul yang jelas
- 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:
| Resource | Penjelasan |
|---|---|
| Public APIs | Website dengan UI yang lebih user-friendly |
| API List | Daftar API alternatif dengan kategori serupa |
| RapidAPI Marketplace | Platform API dengan tier gratis |
| Postman Public API Network | Koleksi API yang bisa langsung dicoba di Postman |
| APIs.guru | Database 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
Plane: Open-Source Project Management Alternatif Jira & Linear
· 7 menit baca
RustFS: Object Storage S3-Compatible yang Lebih Cepat dari MinIO
· 6 menit baca
Coolify: Self-Hosted PaaS Alternatif Vercel & Heroku
· 7 menit baca
Arcane: Docker Management UI Modern untuk Homelab
· 8 menit baca