Where to get the data: stocks, weather, books, maps and more
Before you write a scraper, check whether someone already publishes the data properly. For a lot of the obvious domains they do โ free, documented, and far more reliable than parsing a page.
The instinct when you need data is to scrape the site that displays it. Often that's the worst available option: slower, more fragile, legally murkier, and it breaks the first time someone changes a CSS class.
Work down this order instead. An official API. Then a bulk download or open dataset. Then the site's own undocumented JSON endpoint. Then scraping the HTML. Most domains in this guide are solved at step one or two.
Free tiers and terms in this area change frequently and some have been cut hard in recent years. Everything here was checked in September 2026 โ verify the current limits before you build on them.
Stock and financial data
The hardest category to get free, because the data has genuine commercial value and exchanges licence it aggressively. Expect meaningful limits.
| Source | Free tier | Good for |
|---|---|---|
| Alpha Vantage | 25 requests/day, 5/min | Getting started. That day limit is low โ it was 500 once โ so cache aggressively. |
| Finnhub | Generous free tier | Quotes, company fundamentals, news. Usually the better free starting point. |
| Polygon.io | Limited free, paid from ~$29 | Serious work. Proper historical and tick data. |
| yfinance (library) | Unofficial | Convenient and widely used, but it wraps an endpoint Yahoo doesn't support publicly โ it breaks without notice and its terms are ambiguous. Fine for a personal experiment; don't build a product on it. |
| SEC EDGAR | Free, official | US company filings and fundamentals, straight from the regulator. Underused. Requires a descriptive User-Agent. |
| Central banks | Free, official | FX and rates. ECB, Bank of Canada and the Fed all publish clean feeds. |
Realistic advice: for anything beyond a hobby, price data is the one category where paying is usually correct. The free tiers are designed to be just enough to prototype.
Weather
The best-served category on this list, and one where you genuinely don't need to pay.
| Source | Free tier | Good for |
|---|---|---|
| Open-Meteo | No key at all; 10,000 calls/day, 600/min | The best free forecast API. Historical data back decades, excellent documentation. Important: the free tier is non-commercial only and requires attribution (CC BY 4.0). Commercial use needs a paid plan. |
| US National Weather Service | Free, official, no key | US only, authoritative, no commercial restriction. Requires a User-Agent identifying you. |
| Environment Canada | Free, official | Canadian forecasts and historical climate data. |
| OpenWeatherMap | Free tier with a key | Widely used, good global coverage. Read the current tier terms โ they've changed more than once. |
| Met Office / DWD | Varies | National meteorological services often publish open data. Check your country's first. |
Weather is also the ideal first data bot: no key needed with Open-Meteo, a clean JSON response, and a genuinely useful output.
Books and publications
| Source | Free tier | Good for |
|---|---|---|
| Open Library | Free, open, no key | Metadata, covers, editions, ISBN lookup. Run by the Internet Archive. The default choice. |
| Google Books API | Free with quota | Broad coverage and search. Snippet availability varies by rights holder. |
| Crossref | Free, open | Academic papers and DOIs. Excellent, unglamorous, comprehensive. |
| arXiv | Free API | Preprints. Rate limited politely โ one request every few seconds. |
| Project Gutenberg | Free bulk download | Full public-domain texts. Take the bulk mirror, don't crawl the site. |
| WorldCat / library catalogues | Varies | Holdings data. Many national libraries publish open datasets. |
Note that metadata about books is largely open while the text mostly isn't. Plan around that distinction early.
Maps, places and geocoding
The category with the strictest etiquette, because the free infrastructure is donated and easy to abuse.
| Source | Free tier | Good for |
|---|---|---|
| Nominatim (OSM) | Free, but strict | Geocoding. Hard ceiling of 1 request per second, a User-Agent identifying your app, and results must be cached. Bulk geocoding is discouraged โ longer jobs are asked to stay at 4 requests/minute, single-threaded, one machine. Autocomplete and systematic grid queries are explicitly forbidden. |
| Overpass API | Free, shared | Querying OSM features โ every cafรฉ in a city, every bench in a park. Powerful. Be gentle; it's shared infrastructure. |
| OSM bulk extracts (Geofabrik) | Free download | The right answer for volume. Download the region and query locally. No rate limits because you're not touching anyone's server. |
| Photon / self-hosted Nominatim | Free to run | If you need real geocoding volume, run your own. This is the intended path. |
| Google Maps Platform | Paid, monthly credit | Best data quality. Terms restrict storing and redisplaying results โ read them before designing. |
Government and public data
Consistently the most underused source, and often the only place a given fact exists officially.
| Source | Good for |
|---|---|
| data.gov, open.canada.ca, data.gov.uk, EU Open Data Portal | Enormous catalogues โ spending, demographics, transport, health, environment. Mostly bulk CSV. |
| Statistics agencies (StatCan, ONS, Census, Eurostat) | Authoritative demographics and economics, usually with real APIs. |
| Companies registries (Companies House, SEC, provincial registries) | Company existence, filings, officers. Companies House has an excellent free API. |
| Local government portals | Planning applications, licensing, inspections. Rarely have APIs; frequently the most genuinely original data available, because nobody scrapes them. |
That last row is worth dwelling on. Municipal planning and licensing data is public, structured enough to parse, updated constantly, and almost entirely unexploited โ which makes it a strong candidate if you're after a dataset nobody else has.
Everything else, briefly
| Domain | Start with |
|---|---|
| News | RSS feeds first โ still ubiquitous and free. Then GDELT for scale, NewsAPI for convenience. |
| Wikipedia / Wikidata | Proper APIs plus full dumps. Wikidata is a structured-facts goldmine and under-used. |
| Sport | Mostly commercial. TheSportsDB and the official league APIs where they exist. |
| Transit | GTFS is a genuine standard โ most transit agencies publish schedules and live positions in it. |
| Aviation / shipping | OpenSky Network (free, non-commercial) for flights; AIS feeds for vessels. |
| Product & price data | Rarely an API. This is real scraping territory โ and where the etiquette matters most. |
| Jobs | Some boards have APIs; most don't. Check for the JSON endpoint behind the listings page first. |
| Currency & crypto | Central banks for FX; CoinGecko has a usable free tier for crypto. |
Four habits that save you weeks
Cache everything, immediately. With Alpha Vantage at 25 calls a day you'll exhaust the quota debugging before you've built anything. Write every response to disk on first fetch and read from there while developing. This also makes you a good citizen of the free APIs.
Store the raw response, not just the parsed fields. When you later want a field you didn't extract, you have it. When the format changes, you can compare. Disk is cheaper than re-fetching a year of history you can't re-fetch.
Read the licence before you build, not after. "Free to call" and "free to republish" are different claims. Open-Meteo's free tier is non-commercial. Google Maps restricts storing results. OSM requires attribution. None of this is onerous, but all of it is easier to honour at the design stage than after launch.
Prefer the bulk download. If a source offers a dump, take the dump. It's faster, it has no rate limits, it doesn't burden anyone's server, and it lets you query in ways an API never would.
A first data bot, in one line of thinking
Pick a source with no key โ Open-Meteo, Open Library, a government CSV โ fetch it on a schedule, store every response, and let the history accumulate. That's the change watcher with a JSON endpoint instead of an HTML page, and it's the beginning of every dataset worth having.
One new build sheet a week
Guides like this one, plus a new build sheet every Thursday. Written by a person who built it.