How to access and use the dataset
The COVID-19 Open Data Repository provides one of the largest aggregations of COVID-19 data available for technical users, with information uploaded daily from hundreds of sources.
Download the data into your own tools and systems to analyze the virus’s spread or decline, investigate COVID-related deaths, study the effects of different vaccines, and more in 20,000-plus locations worldwide.
Using our multi-layered visualization tool, you can also examine socioeconomic factors that may affect the virus’s spread and patient outcomes and gain insights into myriad scenarios associated with the global pandemic.
Download the data
Table | Indexed by¹ | Content | Source² | Download |
---|---|---|---|---|
Aggregated | [key] [date] | Flat, compressed table with records from (almost) all other tables joined by date and/or key; see below for more details | All tables below | |
Index | [key] | Various names and codes, useful for joining with other datasets | Wikidata, DataCommons, Eurostat | |
Demographics | [key] | Various (current³) population statistics | Wikidata, DataCommons, WorldBank, WorldPop, Eurostat | |
Economy | [key] | Various (current³) economic indicators | Wikidata, DataCommons, Eurostat | |
Epidemiology | [key] [date] | COVID-19 cases, deaths, recoveries and tests | Various² | |
Emergency declarations | [key] [date] | Government emergency declarations and mitigation policies | LawAtlas Project | |
Geography | [key] | Geographical information about the region | Wikidata | |
Health | [key] | Health indicators for the region | Wikidata, WorldBank, Eurostat | |
Hospitalizations | [key] [date] | Information related to patients of COVID-19 and hospitals | Various² | |
Mobility | [key] [date] | Various metrics related to the movement of people. To download or use the data, you must agree to the Google Terms of Service | ||
Search trends | [key] [date] | Trends in symptom search volumes due to COVID-19. To download or use the data, you must agree to the Google Terms of Service | ||
Vaccination access | [place_id] | Metrics quantifying access to COVID-19 vaccination sites. To download or use the data, you must agree to the Google Terms of Service | ||
Vaccination search | [key] [date] | Trends in Google searches for COVID-19 vaccination information. To download or use the data, you must agree to the Google Terms of Service | ||
Vaccinations | [key] [date] | Trends in persons vaccinated and population vaccination rate regarding various Covid-19 vaccines. To download or use the data, you must agree to the Google Terms of Service | ||
Government response | [key] [date] | Government interventions and their relative stringency | University of Oxford | |
Weather | [key] [date] | Dated meteorological information for each region | NOAA | |
WorldBank | [key] | Latest record for each indicator from WorldBank for all reporting countries | WorldBank | |
By age | [key] [date] | Epidemiology and hospitalizations data stratified by age | Various² | |
By sex | [key] [date] | Epidemiology and hospitalizations data stratified by sex | Various² |
¹ key is a unique string for the specific geographical region built from a combination of codes such as ISO 3166, NUTS, FIPS and other local equivalents.
² Refer to the data sources for specifics about each data source and the associated terms of use.
³ Datasets without a date column contain the most recently reported information for each datapoint to date.
Accessing the data with different technologies

>=IMPORTDATA("https://storage.googleapis.com/covid19-open-data/v3/latest/epidemiology.csv")
Google Sheets limits the quantity of data it accepts directly: only data from the latest subfolder or from individual locations can be imported automatically. For larger files, download the data and then use the Google Sheets’ “file” menu to import it from your computer. data <- read.csv(\"https://storage.googleapis.com/covid19-open-data/v3/epidemiology.csv\")
pandas
installed to get started: import pandas
data = pandas.read_csv("https://storage.googleapis.com/covid19-open-data/v3/epidemiology.csv")
async function loadData() {
const data = await (await fetch(`https://storage.googleapis.com/covid19-open-data/v3/latest/epidemiology.json`)).json();
// Use the data...
}
Invoke-WebRequest 'https://storage.googleapis.com/covid19-open-data/v3/latest/epidemiology.csv' | ConvertFrom-Csv | where location_key -eq 'AU' | select date,cumulative_confirmed,cumulative_deceased
Notes on time and geography
Data types can be either static or dynamic. Static data points have the same value regardless of the date. Dynamic data points are recorded as daily time-series data.
Each data point in the dataset has an associated location. We’ve organized the geographical hierarchy as follows:
The location key is determined by its level: So, country-level data for the United States would use the location key US
; state-level data for California, US_CA
; and Santa Clara County data, with an FIPS code of 06085
, would use US_CA_06085
.
Level 3 data may be nested within levels 0 or 1. The city of San Francisco’s location key is US_CA_SFO
.
Different regions might use different location codes and standards. For example, the US uses FIPS codes for level 2, while other regions might use an ISO standard or local equivalent. For information on the location you’re researching, consult the index table.
Understanding the data
The data is available in CSV and JSON formats. Files are published in Google Cloud Storage and can be served directly to JavaScript applications without a proxy to set the correct headers for CORS and content type.
To make the data easy to use, a main table contains the columns of all other tables joined by location key and date. For better performance, you may want to download the data separately and join the tables locally.
Each location has its own version of the aggregated table. To pull all the data for a specific region using a single endpoint, use the location's URL, inserting the location key as follows:
Data for location key
In CSV format
In JSON format
Each table has a full version and subsets that provide only the most recent day’s data. The full version is accessible at the URLs provided above. You can find the subsets by adding the word latest
to the path. For example, here are some of the subsets available:
Subset examples
Aggregated table
Epidemiology
Vaccinations
Note that the latest version contains the last non-null record for each key. All the tables listed above have a corresponding JSON version; simply replace csv with json in the URL.
To use this data alongside your own datasets, use the Index table to access the ISO 3166 / NUTS / FIPS code. Note, however, that administrative subdivisions are not consistent among regions. For intra-country reporting, for instance, some European Union countries use NUTS2; others, NUTS3; and many, ISO 3166-2.
The examples subfolder shows how to load and analyze the data for various programming environments.