Home /

Free datasets worth building something around

Airport atlases, local sale browsers, station histories and cricket replays, with checked publisher files and manageable first slices.

  • Six collections supply subjects for small maps, explorers, archives and games.
  • Checked downloads include practical starter slices and a real airport-record specimen.
  • Keep geographic scope, revisions, missing values and dataset reuse conditions visible.

An airport atlas can begin with a CSV containing names, airport types and coordinates. A station explorer can begin with a spreadsheet of annual passenger estimates. A match replay can begin with one cricket match’s deliveries. The collection supplies the subject; the interesting work is deciding what someone should be able to explore.

These six sources offer useful material for small websites, local tools and games. Each has a concrete first download or slice, useful fields and a possible interface. Start with the subject that interests you:

Possible projectCollectionA small starting point
Airport atlas or guessing gameOurAirportsOne country from airports.csv
Town-name finder or geography quizGeoNamesThe cities extract, filtered by country
Country-outline quiz or map backdropNatural EarthThe 1:110 million country layer
Local recorded-sale browserHM Land RegistryA postcode prefix and one year
Railway-station history explorerOffice of Rail and RoadOne station from the historical workbook
Cricket replay or season archiveCricsheetOne match from a competition bundle

Publisher documentation and representative files were checked on 20 October 2026. The interfaces are project suggestions. The checks below establish file contents and practical starting slices, without claiming completed applications or tested browser performance. Sizes use decimal kB and MB and describe the checked files, which can change when publishers refresh them.

An airport atlas from one CSV

OurAirports supplies worldwide records for airports, airstrips, heliports and other aviation sites. Its official airports.csv contains names, types, latitude, longitude, country and region codes, plus identifiers and a scheduled-service flag. That is enough material for a searchable airport atlas, or a guessing game that gradually reveals a location and its codes.

The checked CSV was 12.75 MB. Filtering iso_country to GB produced 1,610 UK records in a 224 kB CSV. Choose the types your interface needs: this slice includes closed sites and heliports as well as passenger airports.

Three actual rows show why it helps to keep the different identifiers:

Airportidentiata_code
London Luton AirportEGGWLTN
London City AirportEGLCLCY
London Heathrow AirportEGLLLHR

Most records in the worldwide file have no IATA code. Keep the supplied internal id and ident, and allow the IATA label to be absent. The data dictionary explains the fields; companion country and region CSVs can turn codes into display names. Flight destinations and timetables would need another source.

OurAirports releases its data to the public domain, with credit welcomed. The publisher describes daily generation, although unchanged files need not receive a new date. Keep the retrieval date with your copy, and treat community-maintained details as something that can be corrected.

Place-name search with GeoNames

GeoNames is a gazetteer: named places with coordinates, feature types, country and administrative codes, alternate names and other attributes. An offline place-name finder could show where a result is, which region distinguishes it from another place with the same name, and the names available for searching.

Start with cities15000.zip, rather than the worldwide full dump. The checked download was 3.36 MB, containing 8.54 MB of headerless, tab-delimited UTF-8 text. Despite the filename, its documented selection includes capitals below the population threshold. It is a useful populated-place subset, with no claim to include every village.

A local filter for country code GB, with region display names from admin1CodesASCII.txt, produced 866 records in 187 kB of JSON. The sample contains more than one Newport and Bangor. Keep geonameid as the record identifier and show a region alongside the name; a name alone makes a poor selection key.

The extract README gives the 19-column order. Latitude, longitude and time zone are useful for a place card; supplied population can help choose a quiz pool. Its record-modification date does not tell you when that population was measured. Language-aware alternate names require a separate table if the basic comma-separated names field is insufficient.

The main gazetteer is CC BY 4.0. Credit GeoNames, link the licence, describe filtering or other changes, and preserve supplied source notices. Dumps are regenerated daily; for a small static project, replacing your chosen slice may be simpler than maintaining the separate modification and deletion feeds.

A world map you can keep locally

Natural Earth supplies the geometry that a list of coordinates lacks: coastlines, country shapes and other cartographic layers. It can provide a backdrop for an airport explorer, or the outlines for a country-guessing game without a live tile service.

The 1:110 million country layer is a small place to start. The checked version 5.1.1 ZIP was 215 kB, with 177 polygon features. Keep its Shapefile components together. A web project will usually need a local conversion to a format its renderer accepts, such as GeoJSON, followed by removal of attributes it does not use.

Those shapes are deliberately generalized. They suit a world overview; precise local boundaries and navigation need different material. Natural Earth’s map units also need care when joining another collection: some ISO-code fields contain placeholders, and its default boundaries reflect control on the ground. For a simple airport backdrop, plotting coordinates over the shapes avoids needing a country-code join at all.

The raster and vector data is public domain, with optional credit. Save the layer version as well as the download date. Treat its embedded population and economic attributes as dated source material, rather than assuming they describe the present day.

Recorded house sales for a chosen area

HM Land Registry Price Paid Data supplies recorded property transactions in England and Wales, with standard-category history beginning in 1995. A small browser could let someone choose a year and property type, sort recorded prices, and inspect transactions associated with an address.

The official report builder gives this a much easier first step than downloading a national annual file. Select a postcode prefix and completion-date range, request all results, then download CSV with headers. The checked example, PL20 during calendar 2024, returned 169 transactions in 44 kB. The supplied headers include price_paid, deed_date, property_type and the address components.

Use those headers when parsing this export. Its column order differs from the bulk CSV files. The bulk downloads and field guidance become useful when you want a larger local history, but an annual split can still be tens of megabytes.

Keep the interface about recorded transactions. A transaction ID identifies a sale record; it does not provide a permanent property key for joining successive sales. Recent registrations are incomplete, records can be corrected, and historic address fields can differ. The source also excludes various kinds of transfer, so avoid presenting a search as every sale in an area.

Reuse needs particular attention here. HMLR’s data uses OGL v3.0, with the attribution specified on its download page, while the embedded address fields have additional Royal Mail and Ordnance Survey conditions. The notice expressly permits display for residential property-price information services; other address uses may require separate permission. Keep that distinction when deciding what to build.

Station histories, year by year

The Office of Rail and Road’s station-usage collection gives a railway explorer a ready-made time dimension. Choose a station, show its annual estimated entries and exits, and let the reader inspect the source years and notes.

For that history, download Table 1415, the time-series ODS workbook. The checked file was 1.52 MB, with 28 financial-year columns from 1997/98 to 2024/25, covering Great Britain. Entries/exits and interchanges are separate sheets. Table 1410’s CSV is the latest-year table, so it serves a different first version.

Start with one station row and the column labels. The workbook’s Cover_sheet explains station names, three-letter codes, National Location Codes and geographic fields. Retain codes as text and handle historical rows with absent identifiers. A regional starter is also practical: selecting the workbook’s current Wales region produced 223 rows in each sheet. That filter excludes old records whose region is unavailable.

These figures estimate station use, primarily from ticketing data. They count travel events, with repeated journeys, rather than deduplicated people. Preserve [x] for unavailable values and [z] for inapplicable values as gaps in the display. Methodology changes create breaks in comparisons, so the workbook notes and linked quality report belong within reach of a chart.

ORR’s published reuse terms apply OGL with exceptions for identified third-party material and logos. The checked workbook contains no separate internal licence notice. Keep source credit and its definitions with any extracted table. This is an annual historical release, so show the covered financial year prominently instead of implying live station footfall.

A match replay from individual deliveries

Cricsheet publishes cricket match data with metadata, innings and individual deliveries. A replay could step through one innings, update the displayed score and show who was batting and bowling. A season browser could add a match list before attempting more ambitious comparisons.

The checked women’s Hundred JSON bundle was 716 kB compressed, containing 188 matches from 2021–2026. Its JSON files totalled 13.39 MB after extraction. Start with one match: the inspected example was about 75 kB. A small match index can let a reader choose a file without loading every delivery in the collection at once.

The JSON format documentation explains teams, dates, venues, player registries and nested delivery records. Use the supplied player IDs when connecting matches. Read the file’s data version, and respect its balls_per_over: this Hundred sample uses five-ball groups. Extras and delivery ordering also matter before you calculate a score; successfully parsing JSON does not validate cricket scoring logic.

Cricsheet’s licensing page distinguishes formats: the main JSON data uses Open Data Commons Attribution, while XML match data uses CC BY 4.0. Retain the archive’s notices and provide the required source and licence credit. Its coverage pages identify gaps and withheld matches. Downloads can be added or revised, so keep the source file’s version and revision alongside your retrieval date.

Keep the first version small

One station, one match or one country gives the interface a clear job. Prepare that slice locally, preserve its identifiers and missing-value flags, and include the source date and credit in the project. Then decide whether a larger collection adds something someone actually wants to explore.

For broader browsing, Public Datasets, Awesome Public Datasets and 100 Datasets already provide substantial discovery routes, including project ideas and practical source information. If your project needs hosted lookups or changing information, the free-API guide offers a different set of building blocks. Free assets can supply the interface ingredients, and Free Compute covers places to run it.