Skip to contents

The Epidata API includes numerous data streams – medical claims data, cases and deaths, wastewater concentrations, and many others – covering different geographic regions. This can make it a challenge to find the data stream that you are most interested in.

Data streams fall into three categories: V5 sources, migrating endpoints, and historical endpoints (which include international sources and private endpoints requiring authentication).

V5 sources

The V5 API is the primary interface for active epidemiological surveillance data.

Online documentation and EpiPortal

The online documentation lists all data sources and signals available through the Delphi V5 API.

For an interactive visual exploration, the Delphi EpiPortal lets you filter sources and signals by disease, pathogen, geography, and date range, view live preview charts, and copy query code.

Exploring metadata with epidata_meta()

For sources on the V5 API (queried with epidata_snapshot() and epidata_archive()), epidata_meta() is the primary metadata lookup.

Called with no arguments, it lists all active V5 sources:

meta <- epidata_meta()

names(meta)
#> [1] "nssp"    "nhsn"    "pophive" "nwss"   
#>  [ reached 'max' / getOption("max.print") -- omitted 11 entries ]

Called with source = ..., it reports that source’s available signals, supported geographic levels, reference date ranges, and version history:

nssp_meta <- epidata_meta(source = "nssp")

# all the fields available for this source
names(nssp_meta)
#> [1] "report_time_range"    "reference_time_range" "signals"             
#> [4] "geo_types"           
#>  [ reached 'max' / getOption("max.print") -- omitted 4 entries ]

nssp_meta$signals # available signal names
#> [1] "pct_ed_visits_ari"       "pct_ed_visits_combined" 
#> [3] "pct_ed_visits_covid"     "pct_ed_visits_influenza"
#>  [ reached 'max' / getOption("max.print") -- omitted 5 entries ]
nssp_meta$geo_types # supported geography levels
#> [1] "census_division" "census_region"   "county"          "hhs"            
#>  [ reached 'max' / getOption("max.print") -- omitted 5 entries ]
nssp_meta$reference_time_range # earliest/latest reference_time available
#> $latest
#> [1] "2026-09-12"
#> 
#> $first
#> [1] "2022-10-01"
nssp_meta$report_time_range # earliest/latest report_time (publication date) available
#> $latest
#> [1] "2026-09-16T00:00:00"
#> 
#> $first
#> [1] "2024-04-18T00:00:00"

You can also convert the metadata into a tabular summary to search across all sources using dplyr:

signals_df <- bind_rows(
  lapply(names(meta), function(src) {
    tibble(
      source = src,
      signals = meta[[src]]$signals,
      geo_types = paste(meta[[src]]$geo_types, collapse = ", ")
    )
  })
)

# Search for signals related to influenza
signals_df %>%
  filter(grepl("flu", signals, ignore.case = TRUE))
#> # A tibble: 31 × 3
#>   source signals                             geo_types                          
#>   <chr>  <chr>                               <chr>                              
#> 1 nssp   pct_ed_visits_influenza             census_division, census_region, co…
#> 2 nssp   smoothed_pct_ed_visits_influenza    census_division, census_region, co…
#> 3 nhsn   confirmed_admissions_flu_ew         census_division, census_region, hh…
#> 4 nhsn   hosprep_confirmed_admissions_flu_ew census_division, census_region, hh…
#> # ℹ 27 more rows

Example queries for V5 sources

The V5 API uses epidata_snapshot() to fetch data as of a given moment (latest by default) and epidata_archive() to fetch the full revision history. See vignette("epidatr") for a general introduction to the package and its functions, and vignette("versioned-data") for details on versioning.

Here are examples across several major V5 surveillance streams:

# NSSP: Influenza emergency department visits, across multiple states
epidata_snapshot(
  source = "nssp",
  signals = "pct_ed_visits_influenza",
  geo_type = "state",
  geo_values = c("pa", "ca"),
  reference_time = epirange("2024-10-01", "2024-10-15")
)
#> # A tibble: 4 × 7
#>   signal        report_time geo_type geo_value fill_method reference_time  value
#>   <chr>         <date>      <chr>    <chr>     <chr>       <date>          <dbl>
#> 1 pct_ed_visit… 2026-06-26  state    ca        source      2024-10-05     0.140 
#> 2 pct_ed_visit… 2026-06-26  state    ca        source      2024-10-12     0.140 
#> 3 pct_ed_visit… 2026-06-26  state    pa        source      2024-10-05     0.0500
#> 4 pct_ed_visit… 2026-06-26  state    pa        source      2024-10-12     0.0700

# NHSN: Confirmed hospital admissions, for multiple signals at once
epidata_snapshot(
  source = "nhsn",
  signals = c("confirmed_admissions_flu_ew", "confirmed_admissions_covid_ew"),
  geo_type = "state",
  geo_values = "pa",
  reference_time = epirange("2024-10-01", "2024-10-21")
)
#> # A tibble: 6 × 7
#>   signal         report_time geo_type geo_value fill_method reference_time value
#>   <chr>          <date>      <chr>    <chr>     <chr>       <date>         <dbl>
#> 1 confirmed_adm… 2026-06-26  state    pa        source      2024-10-19        45
#> 2 confirmed_adm… 2026-06-26  state    pa        source      2024-10-12        15
#> 3 confirmed_adm… 2026-06-26  state    pa        source      2024-10-05       468
#> 4 confirmed_adm… 2026-06-26  state    pa        source      2024-10-19         6
#> # ℹ 2 more rows

# POPHIVE: Outpatient COVID-19 emergency visits, for a single exact reference date
epidata_snapshot(
  source = "pophive",
  signals = "covid_pct_ed",
  geo_type = "state",
  geo_values = "pa",
  reference_time = "2024-10-05"
)
#> # A tibble: 7 × 8
#>   signal     report_time geo_type geo_value fill_method reference_time age_group
#>   <chr>      <date>      <chr>    <chr>     <chr>       <date>         <chr>    
#> 1 covid_pct… 2026-08-14  state    pa        source      2024-10-05     <1       
#> 2 covid_pct… 2026-08-14  state    pa        source      2024-10-05     1-4      
#> 3 covid_pct… 2026-08-14  state    pa        source      2024-10-05     18-49    
#> 4 covid_pct… 2026-08-14  state    pa        source      2024-10-05     50-64    
#> # ℹ 3 more rows
#> # ℹ 1 more variable: value <dbl>

# NWSS: Wastewater SARS-CoV-2 concentrations, for a set of specific dates rather than a range
epidata_snapshot(
  source = "nwss",
  signals = "covid_avg_conc",
  geo_type = "sewershed",
  geo_values = "128",
  reference_time = c("2024-12-03", "2024-12-10")
)
#> # A tibble: 2 × 10
#>   signal   report_time geo_type geo_value fill_method reference_time nwss_source
#>   <chr>    <date>      <chr>    <chr>     <chr>       <date>         <chr>      
#> 1 covid_a… 2026-06-26  sewersh… 128       source      2024-12-03     CDC_Verily 
#> 2 covid_a… 2026-06-26  sewersh… 128       source      2024-12-10     CDC_Verily 
#> # ℹ 3 more variables: sample_index <chr>, pcr_target <chr>, value <dbl>

# Archive: Revision history for a single reference date, using a comparison
# operator on report_time instead of an epirange()
epidata_archive(
  source = "nssp",
  signals = "pct_ed_visits_influenza",
  geo_type = "state",
  geo_values = "pa",
  reference_time = "2024-12-07",
  report_time = "<2024-12-15"
)
#> # A tibble: 1 × 7
#>   signal         report_time geo_type geo_value fill_method reference_time value
#>   <chr>          <date>      <chr>    <chr>     <chr>       <date>         <dbl>
#> 1 pct_ed_visits… 2024-12-13  state    pa        source      2024-12-07     0.550

Migrating endpoints

Datasets that originated in the legacy API like pub_covidcast(), pub_covidcast_meta(), pub_fluview(), pub_fluview_clinical(), pub_fluview_meta(), pub_flusurv(), and pub_meta() are transitioning to V5. Starting in October 2026, these V4 functions are tentatively deprecated in favor of V5: their historical data will remain available for at least a year, but new ingestion will end. covidcast_epidata(), which describes them, is not being retired outright, but will only keep describing frozen historical data once a source’s V4 ingestion stops.

Exploring legacy COVIDcast sources with covidcast_epidata()

For datasets still queried through the legacy pub_covidcast() function, covidcast_epidata() describes all available COVIDcast data sources and signals:

covid_sources <- covidcast_epidata()
head(covid_sources$sources, n = 2)
#> $chng
#> [1] "Change Healthcare"
#> [1] "chng"
#> [1] "Change Healthcare is a healthcare technology company that aggregates medical claims data from many healthcare providers. This source includes aggregated counts of claims with confirmed COVID-19 or COVID-related symptoms. All claims data has been de-identified in accordance with HIPAA privacy regulations. "
#> # A tibble: 8 × 2
#>   signal                        short_description                               
#>   <chr>                         <chr>                                           
#> 1 smoothed_outpatient_cli       Estimated percentage of outpatient doctor visit…
#> 2 smoothed_adj_outpatient_cli   Estimated percentage of outpatient doctor visit…
#> 3 smoothed_outpatient_covid     COVID-Confirmed Doctor Visits                   
#> 4 smoothed_adj_outpatient_covid COVID-Confirmed Doctor Visits                   
#> # ℹ 4 more rows
#> 
#> $`covid-act-now`
#> [1] "Covid Act Now (CAN)"
#> [1] "covid-act-now"
#> [1] "COVID Act Now (CAN) tracks COVID-19 testing statistics, such as positivity rates and total tests performed. This source only includes CAN data from the CDC's COVID-19 Integrated County View."
#> # A tibble: 2 × 2
#>   signal                       short_description                                
#>   <chr>                        <chr>                                            
#> 1 pcr_specimen_positivity_rate Proportion of PCR specimens tested that have a p…
#> 2 pcr_specimen_total_tests     Total number of PCR specimens tested

Each source is included as an entry in the covid_sources$sources list, associated with a tibble describing included signals.

If you use an editor that supports tab completion, such as RStudio, type covid_sources$source$ and wait for the tab completion popup. You will be able to browse the list of data sources. Without tab completion, list them directly:

names(covid_sources$sources)
#> [1] "chng"          "covid-act-now" "doctor-visits" "fb-survey"    
#>  [ reached 'max' / getOption("max.print") -- omitted 18 entries ]

You can also look at all the signals available across sources:

covid_sources$signals
#> # A tibble: 520 × 3
#>   source signal                        short_description                        
#>   <chr>  <chr>                         <chr>                                    
#> 1 chng   smoothed_outpatient_cli       Estimated percentage of outpatient docto…
#> 2 chng   smoothed_adj_outpatient_cli   Estimated percentage of outpatient docto…
#> 3 chng   smoothed_outpatient_covid     COVID-Confirmed Doctor Visits            
#> 4 chng   smoothed_adj_outpatient_covid COVID-Confirmed Doctor Visits            
#> # ℹ 516 more rows

If you use an editor that supports tab completion, type covid_sources$signals$ and wait for the tab completion popup. You will be able to type the name of signals and have the autocomplete feature select them from the list for you. In the tab-completion popup, signal names are prefixed with the name of the data source for filtering convenience.

Note that some signal names have dashes in them, so to access them we rely on the backtick operator:

covid_sources$signals$`fb-survey:smoothed_cli`
#> [1] "COVID-Like Symptoms (Unweighted 7-day average)"
#> [1] "fb-survey:smoothed_cli"
#> [1] "Estimated percentage of people with COVID-like illness "

Example legacy query

Legacy endpoints remain accessible while their sources transition:

pub_covidcast(
  source = "fb-survey",
  signals = "smoothed_accept_covid_vaccine",
  geo_type = "state",
  time_type = "day",
  time_values = epirange(20201221, 20201225),
  geo_values = "pa"
)
#> # A tibble: 5 × 15
#>   geo_value signal     source geo_type time_type time_value direction issue     
#>   <chr>     <chr>      <chr>  <fct>    <fct>     <date>         <dbl> <date>    
#> 1 pa        smoothed_… fb-su… state    day       2020-12-21        NA 2020-12-22
#> 2 pa        smoothed_… fb-su… state    day       2020-12-22        NA 2020-12-23
#> 3 pa        smoothed_… fb-su… state    day       2020-12-23        NA 2020-12-24
#> 4 pa        smoothed_… fb-su… state    day       2020-12-24        NA 2020-12-25
#> # ℹ 1 more row
#> # ℹ 7 more variables: lag <dbl>, missing_value <dbl>, missing_stderr <dbl>,
#> #   missing_sample_size <dbl>, value <dbl>, stderr <dbl>, sample_size <dbl>

See vignette("migration-guide") for the argument mapping from V4 to V5.

Historical endpoints

Some datasets are not moving to V5 because data collection has ended. These endpoints remain available for historical reference using their original pub_* and pvt_* functions. For more information on the datasets that are and are not moving, please visit the Endpoints kept for historical reference section of the migration guide and the Delphi V5 Sources and Signals documentation.

Exploring package endpoints with avail_endpoints()

The avail_endpoints() function lists all endpoint functions (i.e. functions that query particular data sources within the API) in the package and provides brief descriptions, explicitly noting which endpoints cover non-US locations:

Endpoint Description
cast_api_queries() cast-API snapshot and archive queries
epidata_aux() Fetch V5 auxiliary data
epidata_meta() Get cast-API source metadata
pub_covid_hosp_facility() COVID hospitalizations by facility
pub_covid_hosp_facility_lookup() Helper for finding COVID hospitalization facilities
pub_covid_hosp_state_timeseries() COVID hospitalizations by state
pub_covidcast() Various COVID and flu signals via the COVIDcast endpoint
pub_covidcast_meta() Metadata for the COVIDcast endpoint
pub_delphi() Delphi’s ILINet outpatient doctor visits forecasts
pub_dengue_nowcast() Delphi’s PAHO dengue nowcasts (North and South America)
pub_ecdc_ili() ECDC ILI incidence (Europe)
pub_flusurv() CDC FluSurv flu hospitalizations
pub_fluview() CDC FluView ILINet outpatient doctor visits
pub_fluview_clinical() CDC FluView flu tests from clinical labs
pub_fluview_meta() Metadata for the FluView endpoint
pub_gft() Google Flu Trends flu search volume
pub_kcdc_ili() KCDC ILI incidence (Korea)
pub_meta() Metadata for the Delphi Epidata API
pub_nidss_dengue() NIDSS dengue cases (Taiwan)
pub_nidss_flu() NIDSS flu doctor visits (Taiwan)
pub_nowcast() Delphi’s ILI Nearby nowcasts
pub_paho_dengue() PAHO dengue data (North and South America)
pub_wiki() Wikipedia webpage counts by article
pvt_cdc() CDC total and by topic webpage visits
pvt_dengue_sensors() PAHO dengue digital surveillance sensors (North and South America)
pvt_ght() Google Health Trends health topics search volume
pvt_meta_norostat() Metadata for the NoroSTAT endpoint
pvt_norostat() CDC NoroSTAT norovirus outbreaks
pvt_quidel() Quidel COVID-19 and influenza testing data
pvt_sensors() Influenza and dengue digital surveillance sensors
pvt_twitter() HealthTweets total and influenza-related tweets

cast_api_queries() groups epidata_snapshot(), epidata_archive(), and epidata(), which share a single documentation page; epidata_meta() and epidata_aux() each have their own page, so they get their own row.

Examples

Some endpoints contain data within the United States only, some are international, and some are private and require additional access to query.

Domestic endpoints
# Google Flu Trends: Historical flu search volume
pub_gft(locations = "hhs1", epiweeks = epirange(201401, 201404))
#> `pub_gft()` covers a data source that is no longer updated.
#> ℹ Historical data remains available, but no new data is being ingested.
#> ℹ See the "Endpoints kept for historical reference" section of
#>   `vignette("migration-guide")` (or
#>   <https://cmu-delphi.github.io/epidatr/articles/migration-guide.html#endpoints-kept-for-historical-reference>)
#>   for details.
#> This message is displayed once per session.
#> # A tibble: 4 × 3
#>   location epiweek      num
#>   <chr>    <date>     <dbl>
#> 1 hhs1     2013-12-29  1918
#> 2 hhs1     2014-01-05  2114
#> 3 hhs1     2014-01-12  2294
#> 4 hhs1     2014-01-19  1896

# Wikipedia: Article page view counts
pub_wiki(
  articles = "influenza",
  time_type = "day",
  time_values = epirange(20200101, 20200105)
)
#> `pub_wiki()` covers a data source that is no longer updated.
#> ℹ Historical data remains available, but no new data is being ingested.
#> ℹ See the "Endpoints kept for historical reference" section of
#>   `vignette("migration-guide")` (or
#>   <https://cmu-delphi.github.io/epidatr/articles/migration-guide.html#endpoints-kept-for-historical-reference>)
#>   for details.
#> This message is displayed once per session.
#> # A tibble: 5 × 6
#>   article   date       count     total  hour value
#>   <chr>     <date>     <dbl>     <dbl> <dbl> <dbl>
#> 1 influenza 2020-01-01   676  82359844    -1  8.21
#> 2 influenza 2020-01-02  1171 105590677    -1 11.1 
#> 3 influenza 2020-01-03  1127 106237989    -1 10.6 
#> 4 influenza 2020-01-04   967  91328987    -1 10.6 
#> # ℹ 1 more row

# COVID-19 hospitalizations: State-level timeseries as of a historical date
pub_covid_hosp_state_timeseries(
  states = "pa",
  dates = epirange(20210101, 20210105)
)
#> `pub_covid_hosp_state_timeseries()` covers a data source that is no longer updated.
#> ℹ Historical data remains available, but no new data is being ingested.
#> ℹ See the "Endpoints kept for historical reference" section of
#>   `vignette("migration-guide")` (or
#>   <https://cmu-delphi.github.io/epidatr/articles/migration-guide.html#endpoints-kept-for-historical-reference>)
#>   for details.
#> This message is displayed once per session.
#> # A tibble: 5 × 118
#>   state geocoded_state issue      date       critical_staffing_shortage_today_…¹
#>   <chr> <chr>          <date>     <date>     <lgl>                              
#> 1 PA    <NA>           2024-05-03 2021-01-01 TRUE                               
#> 2 PA    <NA>           2024-05-03 2021-01-02 TRUE                               
#> 3 PA    <NA>           2024-05-03 2021-01-03 TRUE                               
#> 4 PA    <NA>           2024-05-03 2021-01-04 TRUE                               
#> # ℹ 1 more row
#> # ℹ abbreviated name: ¹​critical_staffing_shortage_today_yes
#> # ℹ 113 more variables: critical_staffing_shortage_today_no <lgl>,
#> #   critical_staffing_shortage_today_not_reported <lgl>,
#> #   critical_staffing_shortage_anticipated_within_week_yes <lgl>,
#> #   critical_staffing_shortage_anticipated_within_week_no <lgl>,
#> #   critical_staffing_shortage_anticipated_within_week_not_reported <lgl>, …
International endpoints
# PAHO Dengue: Surveillance in the Americas
pub_paho_dengue(regions = "ca", epiweeks = epirange(202001, 202004))
#> `pub_paho_dengue()` covers a data source that is no longer updated.
#> ℹ Historical data remains available, but no new data is being ingested.
#> ℹ See the "Endpoints kept for historical reference" section of
#>   `vignette("migration-guide")` (or
#>   <https://cmu-delphi.github.io/epidatr/articles/migration-guide.html#endpoints-kept-for-historical-reference>)
#>   for details.
#> This message is displayed once per session.
#> # A tibble: 4 × 11
#>   release_date region serotype issue      epiweek      lag total_pop num_dengue
#>   <date>       <chr>  <chr>    <date>     <date>     <dbl>     <dbl>      <dbl>
#> 1 2020-08-07   CA     "  "     2020-08-02 2019-12-29    31         0          0
#> 2 2020-08-07   CA     "  "     2020-08-02 2020-01-05    30         0          0
#> 3 2020-08-07   CA     "  "     2020-08-02 2020-01-12    29         0          0
#> 4 2020-08-07   CA     "  "     2020-08-02 2020-01-19    28         0          0
#> # ℹ 3 more variables: num_severe <dbl>, num_deaths <dbl>, incidence_rate <dbl>

# ECDC ILI: Influenza-like illness in Europe
pub_ecdc_ili(regions = "austria", epiweeks = epirange(201901, 201904))
#> `pub_ecdc_ili()` covers a data source that is no longer updated.
#> ℹ Historical data remains available, but no new data is being ingested.
#> ℹ See the "Endpoints kept for historical reference" section of
#>   `vignette("migration-guide")` (or
#>   <https://cmu-delphi.github.io/epidatr/articles/migration-guide.html#endpoints-kept-for-historical-reference>)
#>   for details.
#> This message is displayed once per session.
#> # A tibble: 3 × 6
#>   release_date region  issue      epiweek      lag incidence_rate
#>   <date>       <chr>   <date>     <date>     <dbl>          <dbl>
#> 1 2020-03-26   Austria 2020-03-15 2019-01-06    62           787.
#> 2 2020-03-26   Austria 2020-03-15 2019-01-13    61           855.
#> 3 2020-03-26   Austria 2020-03-15 2019-01-20    60          1022.

# KCDC ILI: Influenza-like illness in South Korea
pub_kcdc_ili(regions = "ROK", epiweeks = epirange(201801, 201804))
#> `pub_kcdc_ili()` covers a data source that is no longer updated.
#> ℹ Historical data remains available, but no new data is being ingested.
#> ℹ See the "Endpoints kept for historical reference" section of
#>   `vignette("migration-guide")` (or
#>   <https://cmu-delphi.github.io/epidatr/articles/migration-guide.html#endpoints-kept-for-historical-reference>)
#>   for details.
#> This message is displayed once per session.
#> # A tibble: 4 × 6
#>   release_date region issue      epiweek      lag   ili
#>   <date>       <chr>  <date>     <date>     <dbl> <dbl>
#> 1 2020-11-03   ROK    2020-11-01 2017-12-31   148  71.8
#> 2 2020-11-03   ROK    2020-11-01 2018-01-07   147  72.1
#> 3 2020-11-03   ROK    2020-11-01 2018-01-14   146  69  
#> 4 2020-11-03   ROK    2020-11-01 2018-01-21   145  59.6

# Taiwan CDC NIDSS: Influenza outpatient visits
pub_nidss_flu(regions = "nationwide", epiweeks = epirange(201801, 201804))
#> `pub_nidss_flu()` covers a data source that is no longer updated.
#> ℹ Historical data remains available, but no new data is being ingested.
#> ℹ See the "Endpoints kept for historical reference" section of
#>   `vignette("migration-guide")` (or
#>   <https://cmu-delphi.github.io/epidatr/articles/migration-guide.html#endpoints-kept-for-historical-reference>)
#>   for details.
#> This message is displayed once per session.
#> # A tibble: 4 × 7
#>   release_date region     issue      epiweek      lag visits   ili
#>   <date>       <chr>      <date>     <date>     <dbl>  <dbl> <dbl>
#> 1 2018-03-12   Nationwide 2018-03-04 2017-12-31     9  84227  1.71
#> 2 2018-03-12   Nationwide 2018-03-04 2018-01-07     8  86865  1.71
#> 3 2018-03-12   Nationwide 2018-03-04 2018-01-14     7 111976  2.03
#> 4 2018-03-12   Nationwide 2018-03-04 2018-01-21     6 117080  2.15

# Taiwan CDC NIDSS: Dengue cases
pub_nidss_dengue(locations = "nationwide", epiweeks = epirange(201801, 201804))
#> `pub_nidss_dengue()` covers a data source that is no longer updated.
#> ℹ Historical data remains available, but no new data is being ingested.
#> ℹ See the "Endpoints kept for historical reference" section of
#>   `vignette("migration-guide")` (or
#>   <https://cmu-delphi.github.io/epidatr/articles/migration-guide.html#endpoints-kept-for-historical-reference>)
#>   for details.
#> This message is displayed once per session.
#> # A tibble: 4 × 3
#>   location   epiweek    count
#>   <chr>      <date>     <dbl>
#> 1 nationwide 2017-12-31     0
#> 2 nationwide 2018-01-07     2
#> 3 nationwide 2018-01-14     2
#> 4 nationwide 2018-01-21     0

# PAHO Dengue Nowcasts: Delphi nowcast estimates for the Americas
pub_dengue_nowcast(locations = "ca", epiweeks = epirange(202001, 202004))
#> `pub_dengue_nowcast()` covers a data source that is no longer updated.
#> ℹ Historical data remains available, but no new data is being ingested.
#> ℹ See the "Endpoints kept for historical reference" section of
#>   `vignette("migration-guide")` (or
#>   <https://cmu-delphi.github.io/epidatr/articles/migration-guide.html#endpoints-kept-for-historical-reference>)
#>   for details.
#> This message is displayed once per session.
#> Warning: epidata warning: `no results`
#> # A tibble: 0 × 0

Some private endpoints require a dedicated secret key passed via the auth argument (separate from the standard Epidata API key). Store these in your .Renviron file or environment variables:

Private endpoints
# CDC Web Metrics: Website traffic for select topics
pvt_cdc(
  auth = Sys.getenv("SECRET_API_AUTH_CDC"),
  epiweeks = epirange(202003, 202304),
  locations = "ma"
)

# Digital Surveillance Sensors: Delphi sensor estimates
pvt_sensors(
  auth = Sys.getenv("SECRET_API_AUTH_SENSORS"),
  names = "delphi",
  locations = "nat",
  epiweeks = epirange(202001, 202010)
)

# Twitter / HealthTweets: Influenza and total tweet counts
pvt_twitter(
  auth = Sys.getenv("SECRET_API_AUTH_TWITTER"),
  locations = "hhs1",
  dates = epirange(20200101, 20200115)
)

# Google Health Trends: Search queries
pvt_ght(
  auth = Sys.getenv("SECRET_API_AUTH_GHT"),
  locations = "ca",
  query = "cough",
  dates = epirange(20200101, 20200115)
)

# CDC NoroSTAT: Norovirus outbreak data
pvt_norostat(
  auth = Sys.getenv("SECRET_API_AUTH_NOROSTAT"),
  location = "midatl",
  epiweeks = epirange(202001, 202010)
)

# PAHO Dengue Sensors: Digital dengue surveillance
pvt_dengue_sensors(
  auth = Sys.getenv("SECRET_API_AUTH_DENGUE_SENSORS"),
  locations = "ca",
  epiweeks = epirange(202001, 202010)
)