BytePane

Free Public APIs 2026: 100+ APIs for Your Next Project

API22 min read

Key Takeaways

  • The public-apis/public-apis GitHub repo catalogs 1,400+ free APIs across 40+ categories — it has over 300,000 GitHub stars as of 2026.
  • Several high-quality APIs need zero authentication: Open-Meteo, REST Countries, PokéAPI, JSONPlaceholder, and Open Library.
  • The global API economy is projected to reach $14 trillion by 2027 per API Analytics data — free tiers are loss leaders to drive paid adoption.
  • Never expose API keys in frontend code. Always proxy through a backend or use edge functions.
  • Cache aggressively: free tier limits are the bottleneck, not your compute.

In 2023, a developer named Ido Shamun scraped 1,400+ APIs into a GitHub repo. That repo — public-apis/public-apis — became one of the most-starred repositories in GitHub history, with over 300,000 stars as of 2026. The signal is clear: finding good, actually-free APIs is hard enough that a static list of them is worth more than most side projects.

This guide organizes the most useful free public APIs by category, with honest notes on rate limits, auth requirements, CORS policies, and gotchas. I've excluded APIs that require a credit card "to verify identity" or throttle so aggressively they are useless for development.

According to the Postman 2025 State of the API Report, Postman's user base surpassed 35 million developers, with 83% of organizations adopting some form of API-first development. The demand for reliable, discoverable public APIs has never been higher — and neither has the noise around them.

APIs That Need Zero Authentication

These APIs work with a plain fetch() — no key registration, no CORS preflight issues, no header configuration. Ideal for prototyping and client-side demos.

APIWhat It ProvidesRate LimitCORS
open-meteo.com/v1/forecastWeather forecasts (7-day, hourly)10,000/dayYes
restcountries.com/v3.1Country data: flags, currencies, capitalsUnlimitedYes
pokeapi.co/api/v2Pokémon data (1,000+ species)100/minYes
jsonplaceholder.typicode.comFake REST data for testingUnlimitedYes
openlibrary.org/apiBooks, authors, covers (20M records)UnlimitedYes
api.publicapis.org/entriesMeta: search the public-apis databaseUnlimitedYes
dog.ceo/apiRandom dog images by breedUnlimitedYes

Calling a No-Auth API in JavaScript

// Open-Meteo: weather for New York (no key needed)
const res = await fetch(
  'https://api.open-meteo.com/v1/forecast' +
  '?latitude=40.71&longitude=-74.01' +
  '&hourly=temperature_2m,precipitation_probability' +
  '&temperature_unit=fahrenheit' +
  '&timezone=America%2FNew_York' +
  '&forecast_days=3'
)
const data = await res.json()
// data.hourly.temperature_2m = [72.1, 71.8, 70.4, ...]

// REST Countries: get info about Brazil
const country = await fetch('https://restcountries.com/v3.1/name/brazil')
  .then(r => r.json())
// country[0].capital[0] === 'Brasília'
// country[0].currencies.BRL.name === 'Brazilian real'

Weather & Climate APIs

Weather is one of the most-requested API categories. The incumbents charge for serious usage; a new generation of free-tier competitors now covers most use cases.

Open-Meteo (Recommended — Truly Free)

Open-Meteo is an open-source weather API that aggregates data from national weather services (NOAA, DWD, MeteoFrance, Environment Canada). It provides 7-day hourly forecasts, air quality, marine conditions, and historical data back to 1940. The free tier has no API key requirement and allows 10,000 daily requests — generous enough for production apps with a cache layer.

// Air quality + UV index + weather in one call
const weather = await fetch(
  'https://api.open-meteo.com/v1/forecast' +
  '?latitude=51.5&longitude=-0.12' +     // London
  '&current=temperature_2m,wind_speed_10m,uv_index' +
  '&daily=precipitation_sum,temperature_2m_max' +
  '&timezone=Europe%2FLondon'
).then(r => r.json())

console.log(weather.current.temperature_2m)  // e.g., 14.3
console.log(weather.current.uv_index)         // e.g., 3

OpenWeatherMap (Free Tier: 1,000 calls/day)

OpenWeatherMap is the most widely integrated weather API — used in over 3 million applications per their documentation. The free "Current Weather" endpoint is well-documented and stable, but the 5-day/3-hour forecast (free) is inferior to Open-Meteo's daily forecast resolution. Requires API key registration.

NOAA Climate Data Online (Government — Unlimited)

NOAA's Climate Data Online API provides access to historical weather records from 100,000+ US weather stations going back to 1763. This is the API behind most US climate research. Free with key registration; 1,000 requests/day per token (you can request higher limits for research).

Finance & Market Data APIs

APIDataFree LimitDelay
Alpha VantageStocks, forex, crypto, indicators25 req/day15 min
Twelve DataStocks, ETFs, indices (real-time on paid)800/day15 min
Exchange Rates API170 currency pairs (ECB data)250/monthDaily
CoinGecko10,000+ cryptocurrencies30 req/minReal-time
Federal Reserve (FRED)818,000 US economic series120/minOfficial release

The FRED API (Federal Reserve Bank of St. Louis) deserves special attention — it's truly free, has no rate limit worth worrying about, and provides authoritative data on GDP, unemployment, inflation (CPI), interest rates, and 800,000+ other series. According to the St. Louis Fed, the API serves over 500,000 data requests daily from researchers and developers worldwide.

// FRED: Get US unemployment rate series
const FRED_KEY = process.env.FRED_API_KEY

const res = await fetch(
  `https://api.stlouisfed.org/fred/series/observations` +
  `?series_id=UNRATE` +           // unemployment rate
  `&api_key=${FRED_KEY}` +
  `&file_type=json` +
  `&observation_start=2020-01-01` +
  `&sort_order=desc` +
  `&limit=24`                     // last 24 months
)
const { observations } = await res.json()
// observations[0] = { date: "2026-03-01", value: "4.1" }

Government & Public Data APIs

Government APIs are the hidden gem of the free API world: they are authoritative, stable, and genuinely unlimited in most cases. US federal agencies are required by law to publish machine-readable data under the DATA Act and Open Government Directive.

data.gov (10,000+ datasets)

The US government's open data catalog aggregates APIs from every federal agency. According to data.gov, the portal hosts over 300,000 datasets from 100+ agencies. Highlights include the USDA food database, the Census Bureau population estimates API, the EPA air quality API, and the FAA aircraft registration API.

Bureau of Labor Statistics (BLS)

The BLS Public Data API provides official US employment, wages, inflation (CPI), and productivity data. According to the Bureau of Labor Statistics, the CPI-U is the most-widely referenced inflation measure in the US economy. The API is free, requires key registration, and allows 500 series per query.

NASA APIs

NASA's API portal (api.nasa.gov) hosts 30+ APIs including Astronomy Picture of the Day (APOD), Mars Rover Photos, Near Earth Objects (asteroid tracking), and Earth imagery from Landsat satellites. The demo key allows 30 requests/hour; registered keys get 1,000/hour. Used in thousands of educational apps and dashboards.

// NASA APOD — Astronomy Picture of the Day
const apod = await fetch(
  `https://api.nasa.gov/planetary/apod?api_key=${process.env.NASA_KEY}`
).then(r => r.json())
// apod.title, apod.explanation, apod.url (image or video), apod.date

// Mars Rover Photos: Curiosity's latest
const mars = await fetch(
  `https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/latest_photos` +
  `?api_key=${process.env.NASA_KEY}`
).then(r => r.json())
// mars.latest_photos[0].img_src = 'https://mars.nasa.gov/...'

AI & Machine Learning APIs

"Free" AI APIs in 2026 are mostly generous free tiers — not truly free. That said, the credits included on signup can build an entire prototype. Here's what's actually useful without spending money:

APICapabilityFree Tier
Google Gemini APIText, vision, multimodal reasoning15 req/min on Gemini Flash
Hugging Face Inference200,000+ open-source modelsServerless, limited compute
Groq APILlama 3.3, DeepSeek R1 inference6,000 tokens/min free
CohereEmbeddings, classification, rerankTrial key, no credit card
DeepSeek APIReasoning models (R1), chat$5 free credit on signup

Hugging Face is the most overlooked option here. Per their 2025 platform report, there are 200,000+ models publicly available on the Hub, many accessible via the Inference API for free. For NLP tasks (classification, summarization, NER) with smaller models, it is genuinely free with standard response times. For latency-sensitive production, Groq's inference speed (600+ tokens/second on Llama 3.3 70B) is remarkable.

Maps, Geocoding & Location APIs

OpenStreetMap / Nominatim (Free, No Key)

Nominatim is OpenStreetMap's free geocoding API. It converts addresses to coordinates and reverse-geocodes coordinates to addresses. No key required. The usage policy requires a valid User-Agent header and limits to 1 request/second. OpenStreetMap powers Wikipedia's maps and is used by major organizations globally — the OSM Foundation reports over 10 million registered mappers contributing data as of 2025.

IP Geolocation (ipapi.co / ip-api.com)

Both provide free IP geolocation without a key. ip-api.com returns country, region, city, timezone, ISP, and coordinates. Free tier: 45 requests/minute over HTTP (HTTPS requires a paid key). Useful for locale detection, timezone auto-setting, or rough fraud screening. Do not use for compliance-critical geofencing — country-level accuracy is ~99%, city-level is 70-85% per MaxMind's published benchmarks.

// ip-api: geolocate by IP (no key, HTTP only on free tier)
// IMPORTANT: call this from a server — clients expose their own IP
const geo = await fetch('http://ip-api.com/json/8.8.8.8?fields=country,city,lat,lon,timezone,isp')
  .then(r => r.json())
// { country: 'United States', city: 'Mountain View', lat: 37.38, lon: -122.08 }

// Nominatim: geocode an address (no key, 1 req/sec)
const geocode = await fetch(
  'https://nominatim.openstreetmap.org/search' +
  '?q=1600+Pennsylvania+Ave+NW+Washington+DC' +
  '&format=json&limit=1',
  { headers: { 'User-Agent': 'MyApp/1.0 (myapp.com)' } }  // required!
).then(r => r.json())
// geocode[0] = { lat: '38.8977...', lon: '-77.0366...' }

Developer Tools & Utility APIs

These are the workhorses that appear in every developer's toolbox: UUID generation, QR codes, placeholder images, text, and network utilities.

API / EndpointReturnsAuth
httpbin.orgEcho HTTP request data (headers, body, IP)None
api.github.comRepos, users, commits, issues, PRsOptional (60→5k/hr)
api.ipify.orgYour public IP address (plaintext or JSON)None
loripsum.net/apiLorem ipsum paragraphs with HTML tagsNone
picsum.photosPlaceholder images (specify dimensions)None
wordnik.com/apiDefinitions, examples, related wordsFree key

httpbin.org is invaluable for testing HTTP clients. It echoes back exactly what you sent — headers, query params, cookies, body — which makes debugging CORS issues and authentication headers dramatically faster than hitting a real API. The GitHub API is worth special mention: 60 unauthenticated requests/hour is enough for many use cases, and adding a token (no scopes needed) bumps that to 5,000/hour.

More APIs by Category

Music & Media

  • MusicBrainz API — 3 million+ artists, releases, and recordings. No auth. CC0 license on data. Used by Spotify and Apple Music for metadata.
  • Last.fm API — scrobble data, artist/album info, similar artists. Free key, 5 req/sec. 70 million active listeners in dataset.
  • Spotify Web API — tracks, albums, playlists, audio features (tempo, key, valence). Free OAuth flow; generous limits for non-commercial use.
  • Lyrics.ovh — song lyrics, no auth, GET /v1/:artist/:title. Unofficial; availability varies.

Health & Science

  • OpenFDA — adverse drug events, drug labeling, recalls from the US FDA. 1,000 requests/hour without key, 120,000/day with free key.
  • PubMed API (NCBI E-utilities) — 36 million biomedical literature citations. Free with API key. Essential for medical/research apps.
  • Open Disease Data (disease.sh) — COVID, flu, Ebola data. No auth. Updated from WHO/CDC sources.

Social & News

  • NewsAPI.org — 80,000+ news sources, real-time headlines. Free developer key: 100 requests/day, English only, 1-month historical.
  • HackerNews API (Algolia) — full HN content: stories, comments, users, search. No auth. Completely open.
  • Reddit API — posts, comments, subreddits. Free OAuth; 60 req/min. Note: API ToS changed in 2023, verify current terms before building on top.

Handling API Keys Correctly

The most common mistake beginners make with public APIs is leaking keys. According to GitGuardian's 2025 State of Secrets Sprawl report, over 12.8 million secrets were detected in public GitHub repositories — the majority of which are API keys.

# .env (never commit this)
OPENWEATHER_KEY=abc123
NASA_KEY=def456
FRED_KEY=ghi789

// ✅ Correct: read at runtime on the server
const key = process.env.OPENWEATHER_KEY
if (!key) throw new Error('OPENWEATHER_KEY env var missing')

const data = await fetch(
  `https://api.openweathermap.org/data/2.5/weather?q=London&appid=${key}`
)

// ❌ Wrong: hardcoded in source
const data = await fetch(
  'https://api.openweathermap.org/data/2.5/weather?q=London&appid=abc123'
)
// This will be committed to git and scanned by bots within minutes

For frontend apps, always route API calls through a backend proxy or edge function. Use our JWT Decoder to inspect tokens if you are debugging OAuth-authenticated APIs, and the URL Encoder to safely construct API query strings with special characters.

Building Resilient API Clients

Free tiers fail. Implement exponential backoff and caching from day one — not as an afterthought when you hit a rate limit in production.

// Exponential backoff with jitter for API calls
async function fetchWithRetry(url: string, options = {}, maxAttempts = 4) {
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
    const res = await fetch(url, options)

    if (res.status === 429) {
      // Respect Retry-After if present
      const retryAfter = res.headers.get('Retry-After')
      const delay = retryAfter
        ? parseInt(retryAfter) * 1000
        : Math.min(1000 * 2 ** attempt + Math.random() * 1000, 30000)

      if (attempt === maxAttempts - 1) throw new Error(`Rate limited after ${maxAttempts} attempts`)
      await new Promise(r => setTimeout(r, delay))
      continue
    }

    if (!res.ok) throw new Error(`HTTP ${res.status}`)
    return res.json()
  }
}

// Simple in-memory cache (use Redis in production)
const cache = new Map<string, { data: unknown; expires: number }>()

async function cachedFetch(url: string, ttlMs = 300_000) {
  const cached = cache.get(url)
  if (cached && cached.expires > Date.now()) return cached.data

  const data = await fetchWithRetry(url)
  cache.set(url, { data, expires: Date.now() + ttlMs })
  return data
}

Frequently Asked Questions

What is a public API?
A public API is an interface that any developer can call over the internet, usually via HTTP. "Free" means there is no cost for a baseline tier — though most providers enforce rate limits. Some require API key registration; others require nothing beyond an HTTP client.
Do free public APIs have rate limits?
Yes, virtually all free APIs enforce rate limits. Limits vary widely — from 60 requests/hour (GitHub unauthenticated) to 10,000 requests/day (Open-Meteo). The HTTP 429 Too Many Requests response signals you have hit the limit. The Retry-After header tells you when the window resets.
Which free APIs require no authentication?
Several high-quality APIs need no auth: Open-Meteo (weather), REST Countries, PokéAPI, JSONPlaceholder, Open Library, httpbin.org, dog.ceo, and the HackerNews API. These are ideal for prototyping without key management overhead.
How do I handle API keys securely?
Never hardcode API keys in source code. Store keys in environment variables. For frontend apps, proxy calls through a backend — keys sent from a browser are visible in DevTools. Per GitGuardian's 2025 report, over 12.8 million secrets were detected in public GitHub repos.
What is the GitHub public-apis repository?
The public-apis/public-apis repository is a community-maintained list of free APIs organized by category. As of 2026, it has over 300,000 GitHub stars, making it one of the most-starred repos in history. Each entry lists auth requirements, HTTPS support, and CORS policy.
Are free public APIs reliable enough for production?
It depends on the provider. NASA, NOAA, GitHub, and FRED are production-grade. Community-maintained free APIs often lack SLAs. For production, add a caching layer (Redis or edge cache) to absorb outages, implement circuit breakers, and monitor API uptime separately.
What is the difference between a REST API and a WebSocket API?
REST APIs use HTTP request-response: your client sends a request, gets a response, and the connection closes. WebSocket APIs maintain a persistent two-way connection — the server can push data without the client polling. Use REST for standard data fetching; use WebSockets for live scores, chat, or collaborative editing.

Build Faster With BytePane Developer Tools

When working with public APIs, you constantly need to format JSON responses, decode JWTs, encode URLs, and convert data formats. BytePane has all of these built in.

Related Articles