A tiny Python package for easy access to up-to-date Coronavirus (COVID-19, SARS-CoV-2) cases data.

covid19, coronavirus, api, covid-19, wrapper, api-wrapper, coronavirus-tracking, covid19-data, hacktoberfest
pip install COVID19Py==0.3.0



Downloads Downloads Downloads GPLv3 License All Contributors CodeFactor HitCount GitHub stars

A tiny Python package for easy access to up-to-date Coronavirus (COVID-19, SARS-CoV-2) cases data.


COVID19Py is a Python wrapper for the ExpDev07/coronavirus-tracker-api REST API. It retrieves data directly from @ExpDev07's backend but it can also be set up to use a different backend.

To achieve this, just pass the URL of the backend as a parameter to the library's constructor:

import COVID19Py
covid19 = COVID19Py.COVID19("https://my-awesome-covid19-backend")


In order install this package, simply run:

pip install COVID19Py


To use COVID19Py, you first need to import the package and then create a new instance:

import COVID19Py
covid19 = COVID19Py.COVID19()

Choosing a data source

COVID19Py supports the retrieval of data from multiple data sources. To choose a specific data source, simply pass it as a parameter to the library's constructor:

covid19 = COVID19Py.COVID19(data_source="csbs")

For more details about the available data sources, please check the API's documentation.

Getting latest amount of total confirmed cases, deaths, and recoveries:

latest = covid19.getLatest()

Getting all locations:

locations = covid19.getLocations()


locations = covid19.getLocations(timelines=True)

to also get timelines.

You can also rank the results by confirmed, deaths or recovered.

locations = covid19.getLocations(rank_by='recovered')

Getting location by country code:

location = covid19.getLocationByCountryCode("US")


location = covid19.getLocationByCountryCode("US", timelines=True)

to also get timelines.

Getting a specific location (includes timelines by default):

location = covid19.getLocationById(39)

Getting all data at once:

You can also get all the available data with one command.

data = covid19.getAll()


data = covid19.getAll(timelines=True)

to also get timelines.

latest will be available on data["latest"] and locations will be available on data["locations"].

Getting latest deltas:

When using getAll(), COVID19Py will also store the previous version of the retrieved data. This allows us to easily see how data changed since the last time we requested them.

changes = covid19.getLatestChanges()
    "confirmed": 512,
    "deaths": 16,
    "recovered": 1024


Thanks goes to these wonderful people (emoji key):

Konstantinos Kamaropoulos

💻 📖 💡

Jarod DeWeese

💻 📖

This project follows the all-contributors specification. Contributions of any kind welcome!