explaingit

marcelscruz/public-apis

8,952JavaScriptAudience · developerComplexity · 1/5Setup · easy

TLDR

A community-maintained directory of hundreds of free public APIs organized by category, weather, games, maps, crypto, animals, and more, so you can quickly find data sources for side projects or prototypes.

Mindmap

mindmap
  root((repo))
    What it does
      API directory
      Free APIs only
      Categorized list
    Categories
      Weather finance
      Games and trivia
      Maps and geo
    Entry info
      Auth required
      HTTPS support
      CORS allowed
    Access
      Markdown file
      Companion website
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Find a free weather or geocoding API for a side project without trawling dozens of blog posts.

USE CASE 2

Discover a trivia, sports, or anime API for a game or fan app you are building.

USE CASE 3

Check which free APIs support HTTPS and do not require an auth key before adding them to a browser-based web page.

USE CASE 4

Browse cryptocurrency and finance APIs when prototyping a trading dashboard or price-tracking tool.

Tech stack

JavaScript

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

This repository is a collaboratively maintained directory of free public APIs that developers can use in their projects. It contains no application code of its own. The entire value is in the list itself, which organizes hundreds of APIs into categories so they are easy to browse and discover. The categories cover a wide range of topics: animals, anime, books, business, cryptocurrency, currency exchange, email, entertainment, food and drink, games, geocoding, government data, health, machine learning, music, news, open data, photography, science and math, security, social platforms, sports, transportation, weather, and many more. Each entry in the list shows the API name, a brief description of what it provides, whether it requires an authentication key, whether it supports HTTPS, and whether it allows cross-origin requests from web pages. For a developer building a side project or prototype, this kind of list is useful when you need data you do not want to generate yourself. For example, if you are building a weather app, a trivia game, a currency converter, or a map-based project, you can browse the relevant category to find an API that provides that data for free or with a free tier. The repository also has a companion website at publicapis.dev where the same data can be searched and filtered through a web interface, which is easier for browsing than the raw markdown file. Contributions are accepted through pull requests following a set of guidelines in the repository. The project is popular partly because it serves as a single reference point for a type of resource that is otherwise scattered across many websites and blog posts. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
I am building a weather app for a city search feature. Look through the public-apis weather category and recommend the best free option that requires no API key and supports HTTPS.
Prompt 2
I want to add a random trivia question feature to my app. Which free APIs in public-apis provide trivia data, and which one has the largest question database?
Prompt 3
I need a free currency exchange rate API for a personal finance app. What does public-apis list in the currency category, and which ones allow CORS so I can call them from a browser?
Prompt 4
List the machine learning APIs in public-apis that are free and do not require authentication, and suggest which one I should use for a beginner image-classification experiment.
Open on GitHub → Explain another repo

← marcelscruz on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.