Free APIs for beginner projects
- JSONPlaceholder
Fake posts and todos. The standard playground for GET, POST, PUT and DELETE.
jsonplaceholder.typicode.com
Runs in the browserWorking
- PokéAPI
Nested data with images: good practice for following links between resources.
pokeapi.co
Runs in the browserWorking
- Dog CEO
One request, one picture. The shortest path to something visible on the page.
dog.ceo
Runs in the browserWorking
- Rick and Morty API
Pagination and filters on a dataset that is fun to browse.
rickandmortyapi.com
Runs in the browserWorking
- Open Trivia Database
Build a quiz: questions, answers and categories.
opentdb.com
Runs in the browserWorking
- DummyJSON
Products and carts for a mock shop, with search and pagination.
dummyjson.com
Runs in the browserWorking
- Random User Generator
Fake people for lists, avatars and profile cards.
randomuser.me
Runs in the browserWorking
- Official Joke API
Two fields, setup and punchline. Ideal for a button that loads new content.
official-joke-api.appspot.com
Runs in the browserWorking
- Deck of Cards
State across requests: shuffle a deck, then draw from it by id.
deckofcardsapi.com
Runs in the browserWorking
Build snapshot, not live. One verifier run on , from the machine that built this site. How we check
How the pieces fit
Each API here answered our verifier with a CORS header, so the example on its page runs from any browser tab.
- Open the API’s page here and press "Send request" to see the real answer before you write code.
- Copy the JavaScript snippet into a script tag or the browser console.
- Render one field on the page, then handle the error case by turning your network off.
- Only then add loading states, lists and pagination.
Questions
What is the easiest API to start with?
JSONPlaceholder or Dog CEO. Both return a small JSON object from a single GET request, need no key and allow calls from the browser.
Why does my fetch fail with a CORS error?
The API does not send an Access-Control-Allow-Origin header, so the browser refuses to hand the answer to your page. Pick an API marked CORS in this catalog, or call the API from a server.
Do these APIs save what I POST?
Mock APIs such as JSONPlaceholder and DummyJSON answer as if they saved it, but nothing is stored. The next GET returns the original data.
Other collections
- Weather appEverything a weather app needs without an API key: geocoding, forecast, air quality, sun times and IP location, each one checked by our verifier.
- BrazilKeyless APIs for Brazilian postal codes, company registry, holidays, banks, FIPE prices, IBGE statistics and central bank exchange rates, all verified.
- Maps & placesKeyless APIs for geocoding, reverse geocoding, postal codes, elevation, routes and country data, with usage limits explained.
- Mock dataFake users, products and posts, echo servers, placeholder images and avatars: keyless APIs for prototypes, demos and client tests.
Keep exploring
- All APIsSearch the whole catalog and filter by category, browser support and status.
- No key neededWhat "keyless" means in practice, and the limits that still apply.
- Runs in the browserAPIs a static page can call without a backend (CORS enabled).
- CollectionsCurated sets for a weather app, a first project, maps, mock data.
- Live statusWhat we check, how often, and the latest result for every API.
- Open dataThe catalog and results as JSON at /api.json.
- Brasil (pt-BR)CEP, CNPJ, feriados e câmbio, em português.
- Sources and licencesWhere entries come from and who we credit.