18 public APIs, ready to use.

From Brazilian postal-code and company lookups to exchange rates, weather, movies and artificial intelligence. Each one with its authentication type, what fits in the free tier and a curl request ready to copy.

  • --curated
  • --tested
  • --9-keyless
  • --no-affiliate

API catalogue

18 APIs

ViaCEP

https://viacep.com.br/ws/

Free lookup of Brazilian addresses from a CEP (postal code), with no sign-up and no API key. It is the fastest way to auto-fill street, neighborhood, city and state in a form.

  • No key
  • JSON, XML, PIPED, QUERTY
  • CORS: yes

Free tier: Unlimited and free, with an informal per-IP limit to prevent abuse

What it is for in practice

  • Auto-complete the address at an e-commerce checkout
  • Validate a CEP on sign-up before sending it to the backend
  • Reverse search: find CEPs by state, city and street name

First request

curl https://viacep.com.br/ws/01001000/json/

BrasilAPI

https://brasilapi.com.br/api/

Gathers in one place, with standardized JSON responses, the public data every Brazilian dev needs: CEP, CNPJ, area codes (DDD), banks, national holidays, the FIPE vehicle price table, CVM brokers and official rates (Selic, CDI).

  • No key
  • JSON
  • CORS: yes

Free tier: Free and open source, maintained by the community; per-IP rate limit

What it is for in practice

  • Look up a CNPJ and pre-fill company registration data
  • List national holidays to calculate business days
  • Fetch average vehicle prices from the FIPE table

First request

curl https://brasilapi.com.br/api/cep/v2/01001000

IBGE Data Services API

https://servicodados.ibge.gov.br/api/

Official API from IBGE (the Brazilian statistics bureau) with states, municipalities, regions, geographic meshes, Census data and statistical aggregates. It is the canonical source for any application that needs Brazilian territorial divisions.

  • No key
  • JSON, GeoJSON, SVG
  • CORS: yes

Free tier: Completely free, no sign-up

What it is for in practice

  • Populate chained state and municipality select fields
  • Cross-reference your product data with population per city
  • Render maps of Brazil from the GeoJSON meshes

First request

curl https://servicodados.ibge.gov.br/api/v1/localidades/estados

ReceitaWS

https://receitaws.com.br/v1/

Looks up the registration status of a CNPJ (Brazilian company ID) at the Federal Revenue Service and returns legal name, trade name, address, CNAE activity codes and ownership structure in JSON. Useful for validating suppliers and B2B customers during onboarding.

  • No key
  • JSON
  • CORS: yes

Free tier: Free plan limited to 3 lookups per minute; paid plans remove the limit

What it is for in practice

  • Verify that a CNPJ is active before approving a B2B account
  • Auto-fill legal name and fiscal address
  • Enrich a lead database with CNAE codes and company size

First request

curl https://receitaws.com.br/v1/cnpj/00000000000191

AwesomeAPI Cotações

https://economia.awesomeapi.com.br/

Real-time and historical quotes for currencies, cryptocurrencies and indexes, with an open endpoint and no sign-up. It is the API Brazilian devs use the most to display the daily US dollar rate.

  • No key
  • JSON, XML
  • CORS: yes

Free tier: Free public endpoints; an optional token raises the request limit

What it is for in practice

  • Display up-to-date dollar and euro rates on your site
  • Convert international prices to Brazilian reais at checkout
  • Build a 30-day historical exchange-rate chart

First request

curl https://economia.awesomeapi.com.br/json/last/USD-BRL

Central Bank of Brazil Open Data API

https://api.bcb.gov.br/dados/serie/

Official time series from the Central Bank of Brazil (SGS system): Selic, IPCA, CDI, PTAX and more than 20,000 economic indicators. It is the official source when the number needs to be auditable.

  • No key
  • JSON, CSV
  • CORS: yes

Free tier: Free and without sign-up, with a per-query date-range limit

What it is for in practice

  • Pull the official Selic rate for an investment calculator
  • Adjust values by IPCA inflation in financial reports
  • Use the closing PTAX rate in accounting reconciliation

First request

curl "https://api.bcb.gov.br/dados/serie/bcdata.sgs.11/dados/ultimos/1?formato=json"

CoinGecko API

https://api.coingecko.com/api/v3/

Prices, volume, market cap and history for more than 17,000 cryptocurrencies, with direct conversion to Brazilian reais. Covers exchanges, NFTs and on-chain data without requiring a wallet.

  • Auth: API key
  • JSON
  • CORS: yes

Free tier: Free Demo plan with a key: about 30 requests/minute and 10,000 calls per month

What it is for in practice

  • Show the Bitcoin price in Brazilian reais in real time
  • Calculate the current value of a crypto portfolio
  • Generate price-variation charts per period

First request

curl "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=brl"

Anthropic API (Claude)

https://api.anthropic.com/v1/

API for the Claude models: text generation, document analysis, tool use and agents. It is the current reference for programming tasks and for natural-sounding text in Portuguese.

  • Auth: API key
  • JSON, SSE (streaming)
  • CORS: no

Free tier: No permanent free tier; billed per million input and output tokens

What it is for in practice

  • Automatically classify and summarize support tickets
  • Extract structured data from PDFs and invoices
  • Build agents that call your own functions (tool use)

First request

curl https://api.anthropic.com/v1/messages -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01" -H "content-type: application/json" -d '{"model":"claude-sonnet-5","max_tokens":256,"messages":[{"role":"user","content":"Explique o que e uma API REST"}]}'

Google Gemini API

https://generativelanguage.googleapis.com/v1beta/

Google's multimodal API that accepts text, image, audio and video in the same request, with a context window of up to 1 million tokens. It has a generous free tier via Google AI Studio.

  • Auth: API key
  • JSON, SSE (streaming)
  • CORS: no

Free tier: Free tier in AI Studio with daily limits per model

What it is for in practice

  • Describe or classify images uploaded by users
  • Summarize long documents without splitting them into chunks
  • Transcribe and analyze audio within the same request

First request

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=$GEMINI_API_KEY" -H "content-type: application/json" -d '{"contents":[{"parts":[{"text":"Explique o que e uma API REST"}]}]}'
Google Maps Platform API logo

Google Maps Platform API

https://maps.googleapis.com/maps/api/

Google's suite of APIs for interactive maps, geocoding, routes, distances and nearby places. It is the market standard when your product depends on location.

  • Auth: API key
  • JSON, XML, GeoJSON
  • CORS: no

Free tier: Recurring monthly credit in US dollars; beyond that, billed per thousand requests

What it is for in practice

  • Convert an address into latitude and longitude (geocoding)
  • Calculate a route and the estimated delivery time
  • List places near a given point

First request

curl "https://maps.googleapis.com/maps/api/geocode/json?address=Avenida+Paulista,1000&key=$MAPS_API_KEY"

OpenWeather API

https://api.openweathermap.org/data/

Current weather, multi-day forecast, history and weather alerts for any coordinate on the planet, with support for responses in Portuguese and metric units.

  • Auth: API key
  • JSON, XML, HTML
  • CORS: yes

Free tier: Free plan with about 1,000 calls per day after sign-up

What it is for in practice

  • Show temperature and forecast on your app home screen
  • Trigger rain alerts for field teams
  • Correlate weather with sales in a dashboard

First request

curl "https://api.openweathermap.org/data/2.5/weather?q=Sao%20Paulo&units=metric&lang=pt_br&appid=$OWM_API_KEY"

Open-Meteo

https://api.open-meteo.com/v1/

Weather forecast and historical climate data by coordinate, with no API key and no sign-up. It is the open alternative to OpenWeather when you do not want to manage credentials.

  • No key
  • JSON, CSV, FlatBuffers
  • CORS: yes

Free tier: Free for non-commercial use, no sign-up; limit of 10,000 calls per day

What it is for in practice

  • Display the current temperature of a city without managing a key
  • Pull historical climate series for data analysis
  • Feed a dashboard with hourly rain forecasts

First request

curl "https://api.open-meteo.com/v1/forecast?latitude=-23.55&longitude=-46.63&current=temperature_2m"
Facebook Graph API logo

Facebook Graph API

https://graph.facebook.com/

The gateway to Facebook and Instagram data: pages, posts, reach metrics, comments and messages. Every Meta integration goes through it.

  • Auth: OAuth 2.0
  • JSON
  • CORS: no

Free tier: Free, with call limits per app and per user

What it is for in practice

  • Automatically publish to a Facebook page
  • Collect metrics from Instagram Business posts
  • Automate replies on Messenger and Instagram Direct

First request

curl "https://graph.facebook.com/v21.0/me?fields=id,name&access_token=$FB_TOKEN"

Spotify Web API

https://api.spotify.com/v1/

Accesses the Spotify catalog (tracks, albums, artists, playlists) and, with the user's authorization, what they listen to — including playback control. Excellent for portfolio projects with real OAuth.

  • Auth: OAuth 2.0
  • JSON
  • CORS: yes

Free tier: Free in development mode; extended quota requires approval

What it is for in practice

  • Build a "year in review" with the most-played tracks
  • Generate playlists automatically from rules
  • Learn the full OAuth 2.0 flow in a real project

First request

curl "https://api.spotify.com/v1/search?q=caetano&type=artist" -H "Authorization: Bearer $SPOTIFY_TOKEN"

TMDB (The Movie Database) API

https://api.themoviedb.org/3/

Collaborative database of movies and TV shows with synopses, cast, ratings, posters and where to watch — with metadata translated into many languages. It is the go-to API for Netflix clones and movie catalogs.

  • Auth: API key
  • JSON
  • CORS: yes

Free tier: Free for non-commercial use, upon sign-up and credit attribution

What it is for in practice

  • Build a streaming-style movie catalog
  • Fetch posters and synopses for an app
  • Assemble recommendations by genre and rating

First request

curl "https://api.themoviedb.org/3/search/movie?query=Cidade+de+Deus&language=pt-BR" -H "Authorization: Bearer $TMDB_TOKEN"

JSONPlaceholder

https://jsonplaceholder.typicode.com/

Fake REST API with posts, comments, users and all HTTP methods working. Great for prototyping and testing a front-end without any backend at all.

  • No key
  • JSON
  • CORS: yes

Free tier: Free and unlimited for testing

What it is for in practice

  • Test fetch, axios or React Query before the backend is ready
  • Simulate POST, PUT and DELETE in tutorials
  • Populate list screens during development

First request

curl https://jsonplaceholder.typicode.com/posts/1

GitHub REST API

https://api.github.com/

Reads and writes practically everything on GitHub: repositories, issues, pull requests, commits, releases and Actions workflows. It is the most useful API for automating your own workflow.

  • Auth: API key or OAuth
  • JSON
  • CORS: yes

Free tier: 60 requests/hour without authentication and 5,000/hour with a personal token

What it is for in practice

  • Display your repositories and stars in a portfolio
  • Automate issue creation from another system
  • Build team productivity dashboards

First request

curl https://api.github.com/users/vercel/repos

PokéAPI

https://pokeapi.co/api/v2/

The complete Pokémon universe database — species, types, abilities, evolutions and sprites — open, keyless and with interlinked data. It is the classic exercise for learning to traverse chained resources in a REST API.

  • No key
  • JSON
  • CORS: yes

Free tier: Free and without sign-up, under a fair-use policy (cache the responses)

What it is for in practice

  • Practice pagination and chained requests in a REST API
  • Build a Pokédex as a React portfolio project
  • Practice response caching and loading states

First request

curl https://pokeapi.co/api/v2/pokemon/pikachu

How to consume any API in this catalog

Every REST API in this list follows the same contract: you make an HTTP request to a URL, optionally send a key in a header and receive a JSON response with a status code. If the status is 200, it worked; 401 or 403 indicate an authentication problem; 429 means you hit the request limit; and 5xx is a failure on the provider's side.

The shortest path to validating an integration is to start in the terminal, with the curl command we include on each card, and only then move the call into your code. That way you separate two problems that tend to get mixed up: “is the API responding what I expect?” and “is my code handling the response correctly?”.

Never expose an API key on the front-end

When an API requires a key — as Google Maps, OpenWeather and the AI APIs do — that key must not appear in the JavaScript that runs in the browser, because anyone can read it in the inspector and burn through your quota. The practical rule: store the key in an environment variable and make the call from the server, from a Next.js API Route or from a serverless function. The APIs marked with CORS: no on the cards already enforce this design by default.

How this catalog is maintained

Every entry is verified by hand: we test the example endpoint, check what actually fits in the free tier and confirm the official documentation is still online. We prioritize APIs relevant to developers building for Brazil — which is why national public data (postal codes, company registries, IBGE, Central Bank) takes up a good part of the list. There is no sponsorship and no affiliate link in any recommendation.

Keep going from here

## faq

Frequently asked questions

What is a public API?

A public API is an interface made available on the internet so any developer can consume data or features from a service, usually through HTTP requests with JSON responses. Some are fully open (like ViaCEP and IBGE) and others require sign-up to generate an access key (like OpenWeather and TMDB).

What is the best free API to look up a CEP (postal code) in Brazil?

ViaCEP is the most widely used: it requires no sign-up, supports CORS (works straight from the browser) and returns street, neighborhood, city and state in JSON. BrasilAPI is an equally free alternative that, besides CEP, delivers CNPJ, area codes, banks, national holidays and the FIPE table from the same base URL.

How do I look up a CNPJ (Brazilian company ID) via API?

Two free options cover almost every case: BrasilAPI, at https://brasilapi.com.br/api/cnpj/v1/{cnpj}, and ReceitaWS, at https://receitaws.com.br/v1/cnpj/{cnpj}. Both return legal name, trade name, address, registration status and CNAE activity codes. ReceitaWS limits the free plan to 3 lookups per minute.

Do I need an API key to start practicing?

No. 9 of the 18 APIs in this catalog work without any authentication — just open the URL in the browser or run the curl command we show on each card. API keys only come into play when the service needs to meter usage and charge for it, as with Google Maps, OpenWeather and the AI models.

What does CORS enabled mean for an API?

CORS (Cross-Origin Resource Sharing) enabled means the API allows calls made directly from the browser's JavaScript, from another domain. When CORS is disabled — as with the AI APIs and Google Maps — the request has to go through your server or a serverless function, which also avoids exposing your secret key on the front-end.

How do I choose an API for a portfolio project?

Prioritize three criteria: clear documentation, a sufficient free tier and a domain you can explain in an interview. TMDB and Spotify yield visually rich interfaces; GitHub and BrasilAPI show command of real-world data; and the Spotify Web API is the best way to demonstrate you understand the OAuth 2.0 flow end to end.

Which API should I use to add artificial intelligence to a project?

The Anthropic API (Claude) is the reference for code generation and review and for natural-sounding text, with support for tool use and agents. The Google Gemini API has a free tier in AI Studio, is multimodal (text, image, audio and video in the same call) and offers a context window of up to 1 million tokens. Both charge per million tokens and must be called from the server, never from the browser.