Please visit Vaccines.gov for more up to date information on vaccine availability.
November 13, 2021 Update: The raw, historical data is now available again for those looking to do data analysis.
October 26, 2021 Update: The website and APIs are now fully shutdown. Thanks for all the kind words, it's been a blast!
September 23, 2021 Update: The website is now shutdown, but I'm going to try and keep the underling data and APIs updating until October 26, 2021 to give other developers using this data time to figure out alternatives.
September 13, 2021 Update: Shutdown announcement.
Historical Data
If you're interested in historical analysis of the appointments data, I have been collecting raw data of all appointment changes that have been detected since 2021-02-26 until the website shutdown on 2021-10-26 (note, the website was non-functional for parts of August 2021, which is why those files are 0MB).
This historical data is based on PostgreSQL table auditing, so it captures any changes detected in the underlying database tables. This may not be the most ideal design for this, but it does capture all of the possible changes (changes in overall appointment availability, changes in the specific appointment slots available, etc).
- UTC Date Files: The audit records are organized into separate files for each complete UTC date.
- Gzipped JSON Lines Format: Each file is a gzipped JSON Lines file. This format is simply a file where each line is a JSON object (but it's not technically a JSON array to make it easier to read the sometime large files line-by-line).
-
Exclusions: Some change events were
explicitly excluded from the audit records for the sake of
space. If only the following fields were being
updated on a record, then auditing was skipped:
created_at
,updated_at
,metadata_raw
,appointments_raw
,appointments_last_fetched
. -
Fields:
-
transaction_timestamp
: The time this audit change event occurred in the database. -
action:
Indicates whether aINSERT
,UPDATE
, orDELETE
statement was responsible for the audit change. -
previous_data:
The complete data on this record as it existed just before the current transaction is about to take place and alter the record. Note that because some change events are excluded (see above), this previous data may contain data that wasn't previously in the audit history logs (so this is not necessarily the data that was previously audited for a record). -
changed_data:
The specific fields and data that is being updated on this record as part of this change. -
data:
The final set of data that exists after this transaction takes place.
-
-
/database/history/2021-02-26.jsonl.gz (3 MB)
-
/database/history/2021-02-27.jsonl.gz (9 MB)
-
/database/history/2021-02-28.jsonl.gz (13 MB)
-
/database/history/2021-03-01.jsonl.gz (14 MB)
-
/database/history/2021-03-02.jsonl.gz (28 MB)
-
/database/history/2021-03-03.jsonl.gz (27 MB)
-
/database/history/2021-03-04.jsonl.gz (19 MB)
-
/database/history/2021-03-05.jsonl.gz (47 MB)
-
/database/history/2021-03-06.jsonl.gz (31 MB)
-
/database/history/2021-03-07.jsonl.gz (22 MB)
-
/database/history/2021-03-08.jsonl.gz (21 MB)
-
/database/history/2021-03-09.jsonl.gz (40 MB)
-
/database/history/2021-03-10.jsonl.gz (32 MB)
-
/database/history/2021-03-11.jsonl.gz (21 MB)
-
/database/history/2021-03-12.jsonl.gz (23 MB)
-
/database/history/2021-03-13.jsonl.gz (23 MB)
-
/database/history/2021-03-14.jsonl.gz (18 MB)
-
/database/history/2021-03-15.jsonl.gz (47 MB)
-
/database/history/2021-03-16.jsonl.gz (42 MB)
-
/database/history/2021-03-17.jsonl.gz (28 MB)
-
/database/history/2021-03-18.jsonl.gz (18 MB)
-
/database/history/2021-03-19.jsonl.gz (23 MB)
-
/database/history/2021-03-20.jsonl.gz (56 MB)
-
/database/history/2021-03-21.jsonl.gz (87 MB)
-
/database/history/2021-03-22.jsonl.gz (65 MB)
-
/database/history/2021-03-23.jsonl.gz (54 MB)
-
/database/history/2021-03-24.jsonl.gz (45 MB)
-
/database/history/2021-03-25.jsonl.gz (33 MB)
-
/database/history/2021-03-26.jsonl.gz (103 MB)
-
/database/history/2021-03-27.jsonl.gz (159 MB)
-
/database/history/2021-03-28.jsonl.gz (131 MB)
-
/database/history/2021-03-29.jsonl.gz (135 MB)
-
/database/history/2021-03-30.jsonl.gz (104 MB)
-
/database/history/2021-03-31.jsonl.gz (124 MB)
-
/database/history/2021-04-01.jsonl.gz (119 MB)
-
/database/history/2021-04-02.jsonl.gz (252 MB)
-
/database/history/2021-04-03.jsonl.gz (598 MB)
-
/database/history/2021-04-04.jsonl.gz (280 MB)
-
/database/history/2021-04-05.jsonl.gz (236 MB)
-
/database/history/2021-04-06.jsonl.gz (201 MB)
-
/database/history/2021-04-07.jsonl.gz (146 MB)
-
/database/history/2021-04-08.jsonl.gz (122 MB)
-
/database/history/2021-04-09.jsonl.gz (204 MB)
-
/database/history/2021-04-10.jsonl.gz (244 MB)
-
/database/history/2021-04-11.jsonl.gz (206 MB)
-
/database/history/2021-04-12.jsonl.gz (226 MB)
-
/database/history/2021-04-13.jsonl.gz (225 MB)
-
/database/history/2021-04-14.jsonl.gz (139 MB)
-
/database/history/2021-04-15.jsonl.gz (95 MB)
-
/database/history/2021-04-16.jsonl.gz (297 MB)
-
/database/history/2021-04-17.jsonl.gz (403 MB)
-
/database/history/2021-04-18.jsonl.gz (319 MB)
-
/database/history/2021-04-19.jsonl.gz (326 MB)
-
/database/history/2021-04-20.jsonl.gz (292 MB)
-
/database/history/2021-04-21.jsonl.gz (225 MB)
-
/database/history/2021-04-22.jsonl.gz (205 MB)
-
/database/history/2021-04-23.jsonl.gz (295 MB)
-
/database/history/2021-04-24.jsonl.gz (358 MB)
-
/database/history/2021-04-25.jsonl.gz (362 MB)
-
/database/history/2021-04-26.jsonl.gz (434 MB)
-
/database/history/2021-04-27.jsonl.gz (413 MB)
-
/database/history/2021-04-28.jsonl.gz (242 MB)
-
/database/history/2021-04-29.jsonl.gz (213 MB)
-
/database/history/2021-04-30.jsonl.gz (188 MB)
-
/database/history/2021-05-01.jsonl.gz (314 MB)
-
/database/history/2021-05-02.jsonl.gz (326 MB)
-
/database/history/2021-05-03.jsonl.gz (435 MB)
-
/database/history/2021-05-04.jsonl.gz (523 MB)
-
/database/history/2021-05-05.jsonl.gz (479 MB)
-
/database/history/2021-05-06.jsonl.gz (291 MB)
-
/database/history/2021-05-07.jsonl.gz (337 MB)
-
/database/history/2021-05-08.jsonl.gz (105 MB)
-
/database/history/2021-05-09.jsonl.gz (71 MB)
-
/database/history/2021-05-10.jsonl.gz (149 MB)
-
/database/history/2021-05-11.jsonl.gz (167 MB)
-
/database/history/2021-05-12.jsonl.gz (486 MB)
-
/database/history/2021-05-13.jsonl.gz (455 MB)
-
/database/history/2021-05-14.jsonl.gz (357 MB)
-
/database/history/2021-05-15.jsonl.gz (156 MB)
-
/database/history/2021-05-16.jsonl.gz (130 MB)
-
/database/history/2021-05-17.jsonl.gz (415 MB)
-
/database/history/2021-05-18.jsonl.gz (394 MB)
-
/database/history/2021-05-19.jsonl.gz (304 MB)
-
/database/history/2021-05-20.jsonl.gz (228 MB)
-
/database/history/2021-05-21.jsonl.gz (248 MB)
-
/database/history/2021-05-22.jsonl.gz (333 MB)
-
/database/history/2021-05-23.jsonl.gz (301 MB)
-
/database/history/2021-05-24.jsonl.gz (242 MB)
-
/database/history/2021-05-25.jsonl.gz (224 MB)
-
/database/history/2021-05-26.jsonl.gz (272 MB)
-
/database/history/2021-05-27.jsonl.gz (196 MB)
-
/database/history/2021-05-28.jsonl.gz (225 MB)
-
/database/history/2021-05-29.jsonl.gz (284 MB)
-
/database/history/2021-05-30.jsonl.gz (252 MB)
-
/database/history/2021-05-31.jsonl.gz (282 MB)
-
/database/history/2021-06-01.jsonl.gz (334 MB)
-
/database/history/2021-06-02.jsonl.gz (306 MB)
-
/database/history/2021-06-03.jsonl.gz (264 MB)
-
/database/history/2021-06-04.jsonl.gz (274 MB)
-
/database/history/2021-06-05.jsonl.gz (315 MB)
-
/database/history/2021-06-06.jsonl.gz (309 MB)
-
/database/history/2021-06-07.jsonl.gz (388 MB)
-
/database/history/2021-06-08.jsonl.gz (332 MB)
-
/database/history/2021-06-09.jsonl.gz (292 MB)
-
/database/history/2021-06-10.jsonl.gz (267 MB)
-
/database/history/2021-06-11.jsonl.gz (310 MB)
-
/database/history/2021-06-12.jsonl.gz (361 MB)
-
/database/history/2021-06-13.jsonl.gz (313 MB)
-
/database/history/2021-06-14.jsonl.gz (425 MB)
-
/database/history/2021-06-15.jsonl.gz (395 MB)
-
/database/history/2021-06-16.jsonl.gz (330 MB)
-
/database/history/2021-06-17.jsonl.gz (287 MB)
-
/database/history/2021-06-18.jsonl.gz (484 MB)
-
/database/history/2021-06-19.jsonl.gz (738 MB)
-
/database/history/2021-06-20.jsonl.gz (634 MB)
-
/database/history/2021-06-21.jsonl.gz (766 MB)
-
/database/history/2021-06-22.jsonl.gz (773 MB)
-
/database/history/2021-06-23.jsonl.gz (688 MB)
-
/database/history/2021-06-24.jsonl.gz (747 MB)
-
/database/history/2021-06-25.jsonl.gz (722 MB)
-
/database/history/2021-06-26.jsonl.gz (678 MB)
-
/database/history/2021-06-27.jsonl.gz (600 MB)
-
/database/history/2021-06-28.jsonl.gz (719 MB)
-
/database/history/2021-06-29.jsonl.gz (734 MB)
-
/database/history/2021-06-30.jsonl.gz (734 MB)
-
/database/history/2021-07-01.jsonl.gz (686 MB)
-
/database/history/2021-07-02.jsonl.gz (633 MB)
-
/database/history/2021-07-03.jsonl.gz (580 MB)
-
/database/history/2021-07-04.jsonl.gz (488 MB)
-
/database/history/2021-07-05.jsonl.gz (602 MB)
-
/database/history/2021-07-06.jsonl.gz (642 MB)
-
/database/history/2021-07-07.jsonl.gz (591 MB)
-
/database/history/2021-07-08.jsonl.gz (375 MB)
-
/database/history/2021-07-09.jsonl.gz (391 MB)
-
/database/history/2021-07-10.jsonl.gz (348 MB)
-
/database/history/2021-07-11.jsonl.gz (261 MB)
-
/database/history/2021-07-12.jsonl.gz (314 MB)
-
/database/history/2021-07-13.jsonl.gz (358 MB)
-
/database/history/2021-07-14.jsonl.gz (298 MB)
-
/database/history/2021-07-15.jsonl.gz (203 MB)
-
/database/history/2021-07-16.jsonl.gz (348 MB)
-
/database/history/2021-07-17.jsonl.gz (405 MB)
-
/database/history/2021-07-18.jsonl.gz (402 MB)
-
/database/history/2021-07-19.jsonl.gz (467 MB)
-
/database/history/2021-07-20.jsonl.gz (479 MB)
-
/database/history/2021-07-21.jsonl.gz (483 MB)
-
/database/history/2021-07-22.jsonl.gz (477 MB)
-
/database/history/2021-07-23.jsonl.gz (553 MB)
-
/database/history/2021-07-24.jsonl.gz (450 MB)
-
/database/history/2021-07-25.jsonl.gz (408 MB)
-
/database/history/2021-07-26.jsonl.gz (236 MB)
-
/database/history/2021-07-27.jsonl.gz (116 MB)
-
/database/history/2021-07-28.jsonl.gz (374 MB)
-
/database/history/2021-07-29.jsonl.gz (491 MB)
-
/database/history/2021-07-30.jsonl.gz (507 MB)
-
/database/history/2021-07-31.jsonl.gz (334 MB)
-
/database/history/2021-08-01.jsonl.gz (320 MB)
-
/database/history/2021-08-02.jsonl.gz (393 MB)
-
/database/history/2021-08-03.jsonl.gz (413 MB)
-
/database/history/2021-08-04.jsonl.gz (399 MB)
-
/database/history/2021-08-05.jsonl.gz (381 MB)
-
/database/history/2021-08-06.jsonl.gz (412 MB)
-
/database/history/2021-08-07.jsonl.gz (290 MB)
-
/database/history/2021-08-08.jsonl.gz (257 MB)
-
/database/history/2021-08-09.jsonl.gz (248 MB)
-
/database/history/2021-08-10.jsonl.gz (133 MB)
-
/database/history/2021-08-11.jsonl.gz (96 MB)
-
/database/history/2021-08-12.jsonl.gz (19 MB)
-
/database/history/2021-08-13.jsonl.gz (16 MB)
-
/database/history/2021-08-14.jsonl.gz (8 MB)
-
/database/history/2021-08-15.jsonl.gz (1 MB)
-
/database/history/2021-08-16.jsonl.gz (0 MB)
-
/database/history/2021-08-17.jsonl.gz (0 MB)
-
/database/history/2021-08-18.jsonl.gz (0 MB)
-
/database/history/2021-08-19.jsonl.gz (0 MB)
-
/database/history/2021-08-20.jsonl.gz (0 MB)
-
/database/history/2021-08-21.jsonl.gz (0 MB)
-
/database/history/2021-08-22.jsonl.gz (0 MB)
-
/database/history/2021-08-23.jsonl.gz (0 MB)
-
/database/history/2021-08-24.jsonl.gz (0 MB)
-
/database/history/2021-08-25.jsonl.gz (0 MB)
-
/database/history/2021-08-26.jsonl.gz (0 MB)
-
/database/history/2021-08-27.jsonl.gz (0 MB)
-
/database/history/2021-08-28.jsonl.gz (0 MB)
-
/database/history/2021-08-29.jsonl.gz (0 MB)
-
/database/history/2021-08-30.jsonl.gz (0 MB)
-
/database/history/2021-08-31.jsonl.gz (0 MB)
-
/database/history/2021-09-01.jsonl.gz (0 MB)
-
/database/history/2021-09-02.jsonl.gz (0 MB)
-
/database/history/2021-09-03.jsonl.gz (0 MB)
-
/database/history/2021-09-04.jsonl.gz (0 MB)
-
/database/history/2021-09-05.jsonl.gz (0 MB)
-
/database/history/2021-09-06.jsonl.gz (0 MB)
-
/database/history/2021-09-07.jsonl.gz (0 MB)
-
/database/history/2021-09-08.jsonl.gz (0 MB)
-
/database/history/2021-09-09.jsonl.gz (0 MB)
-
/database/history/2021-09-10.jsonl.gz (0 MB)
-
/database/history/2021-09-11.jsonl.gz (6 MB)
-
/database/history/2021-09-12.jsonl.gz (22 MB)
-
/database/history/2021-09-13.jsonl.gz (31 MB)
-
/database/history/2021-09-14.jsonl.gz (32 MB)
-
/database/history/2021-09-15.jsonl.gz (30 MB)
-
/database/history/2021-09-16.jsonl.gz (29 MB)
-
/database/history/2021-09-17.jsonl.gz (31 MB)
-
/database/history/2021-09-18.jsonl.gz (17 MB)
-
/database/history/2021-09-19.jsonl.gz (15 MB)
-
/database/history/2021-09-20.jsonl.gz (19 MB)
-
/database/history/2021-09-21.jsonl.gz (18 MB)
-
/database/history/2021-09-22.jsonl.gz (19 MB)
-
/database/history/2021-09-23.jsonl.gz (19 MB)
-
/database/history/2021-09-24.jsonl.gz (20 MB)
-
/database/history/2021-09-25.jsonl.gz (17 MB)
-
/database/history/2021-09-26.jsonl.gz (16 MB)
-
/database/history/2021-09-27.jsonl.gz (21 MB)
-
/database/history/2021-09-28.jsonl.gz (20 MB)
-
/database/history/2021-09-29.jsonl.gz (28 MB)
-
/database/history/2021-09-30.jsonl.gz (32 MB)
-
/database/history/2021-10-01.jsonl.gz (23 MB)
-
/database/history/2021-10-02.jsonl.gz (24 MB)
-
/database/history/2021-10-03.jsonl.gz (31 MB)
-
/database/history/2021-10-04.jsonl.gz (37 MB)
-
/database/history/2021-10-05.jsonl.gz (37 MB)
-
/database/history/2021-10-06.jsonl.gz (38 MB)
-
/database/history/2021-10-07.jsonl.gz (36 MB)
-
/database/history/2021-10-08.jsonl.gz (29 MB)
-
/database/history/2021-10-09.jsonl.gz (25 MB)
-
/database/history/2021-10-10.jsonl.gz (33 MB)
-
/database/history/2021-10-11.jsonl.gz (37 MB)
-
/database/history/2021-10-12.jsonl.gz (38 MB)
-
/database/history/2021-10-13.jsonl.gz (39 MB)
-
/database/history/2021-10-14.jsonl.gz (42 MB)
-
/database/history/2021-10-15.jsonl.gz (35 MB)
-
/database/history/2021-10-16.jsonl.gz (30 MB)
-
/database/history/2021-10-17.jsonl.gz (38 MB)
-
/database/history/2021-10-18.jsonl.gz (42 MB)
-
/database/history/2021-10-19.jsonl.gz (43 MB)
-
/database/history/2021-10-20.jsonl.gz (43 MB)
-
/database/history/2021-10-21.jsonl.gz (48 MB)
-
/database/history/2021-10-22.jsonl.gz (52 MB)
-
/database/history/2021-10-23.jsonl.gz (31 MB)
-
/database/history/2021-10-24.jsonl.gz (40 MB)
-
/database/history/2021-10-25.jsonl.gz (47 MB)
-
/database/history/2021-10-26.jsonl.gz (48 MB)
-
/database/history/days.json
: A list of the available historical files. Updated whenever new daily files are available. -
/database/stores.jsonl.gz
: A daily snapshot of the latest stores database table in the same JSON Lines format as the rest of the historical data.
Last API Snapshot (2021-10-26)
This may be of limited use, but it might help to understand the structure of the data, so I'm also providing the last snapshot of the live API with how the API data existed before the site was shutdown on 2021-10-26.
-
/api/v0/states/AL.json
: Data last updated 2021-10-26 -
/api/v0/states/AK.json
: Data last updated 2021-10-26 -
/api/v0/states/AZ.json
: Data last updated 2021-10-26 -
/api/v0/states/AR.json
: Data last updated 2021-10-26 -
/api/v0/states/CA.json
: Data last updated 2021-10-26 -
/api/v0/states/CO.json
: Data last updated 2021-10-26 -
/api/v0/states/CT.json
: Data last updated 2021-10-26 -
/api/v0/states/DE.json
: Data last updated 2021-10-26 -
/api/v0/states/DC.json
: Data last updated 2021-10-26 -
/api/v0/states/FL.json
: Data last updated 2021-10-26 -
/api/v0/states/GA.json
: Data last updated 2021-10-26 -
/api/v0/states/HI.json
: Data last updated 2021-10-26 -
/api/v0/states/ID.json
: Data last updated 2021-10-26 -
/api/v0/states/IL.json
: Data last updated 2021-10-26 -
/api/v0/states/IN.json
: Data last updated 2021-10-26 -
/api/v0/states/IA.json
: Data last updated 2021-10-26 -
/api/v0/states/KS.json
: Data last updated 2021-10-26 -
/api/v0/states/KY.json
: Data last updated 2021-10-26 -
/api/v0/states/LA.json
: Data last updated 2021-10-26 -
/api/v0/states/ME.json
: Data last updated 2021-10-26 -
/api/v0/states/MD.json
: Data last updated 2021-10-26 -
/api/v0/states/MA.json
: Data last updated 2021-10-26 -
/api/v0/states/MI.json
: Data last updated 2021-10-26 -
/api/v0/states/MN.json
: Data last updated 2021-10-26 -
/api/v0/states/MS.json
: Data last updated 2021-10-26 -
/api/v0/states/MO.json
: Data last updated 2021-10-26 -
/api/v0/states/MT.json
: Data last updated 2021-10-26 -
/api/v0/states/NE.json
: Data last updated 2021-10-26 -
/api/v0/states/NV.json
: Data last updated 2021-10-26 -
/api/v0/states/NH.json
: Data last updated 2021-10-26 -
/api/v0/states/NJ.json
: Data last updated 2021-10-26 -
/api/v0/states/NM.json
: Data last updated 2021-10-26 -
/api/v0/states/NY.json
: Data last updated 2021-10-26 -
/api/v0/states/NC.json
: Data last updated 2021-10-26 -
/api/v0/states/ND.json
: Data last updated 2021-10-26 -
/api/v0/states/OH.json
: Data last updated 2021-10-26 -
/api/v0/states/OK.json
: Data last updated 2021-10-26 -
/api/v0/states/OR.json
: Data last updated 2021-10-26 -
/api/v0/states/PA.json
: Data last updated 2021-10-26 -
/api/v0/states/PR.json
: Data last updated 2021-10-26 -
/api/v0/states/RI.json
: Data last updated 2021-10-26 -
/api/v0/states/SC.json
: Data last updated 2021-10-26 -
/api/v0/states/SD.json
: Data last updated 2021-10-26 -
/api/v0/states/TN.json
: Data last updated 2021-10-26 -
/api/v0/states/TX.json
: Data last updated 2021-10-26 -
/api/v0/states/VI.json
: Data last updated 2021-10-26 -
/api/v0/states/UT.json
: Data last updated 2021-10-26 -
/api/v0/states/VT.json
: Data last updated 2021-10-26 -
/api/v0/states/VA.json
: Data last updated 2021-10-26 -
/api/v0/states/WA.json
: Data last updated 2021-10-26 -
/api/v0/states/WV.json
: Data last updated 2021-10-26 -
/api/v0/states/WI.json
: Data last updated 2021-10-26 -
/api/v0/states/WY.json
: Data last updated 2021-10-26 -
/api/v0/states.json
: Data last updated 2021-10-26. A summary of all the providers being scanned in each US state. -
/api/v0/US.json
: Data last updated 2021-10-26. Same data as in the state-specific files, but combined into a single US-wide file.
API Fields
-
features[].properties.id
: Vaccine Spotter's own unique ID for this location. -
features[].properties.provider
: A unique key representing the pharmacy or provider this location belongs to. -
features[].properties.provider_location_id
: The provider's own unique ID to represent this location (eg, store number, or other identifier). Unique in combination withprovider
. -
features[].properties.appointments_available
: Boolean value as to whether or not appointments are currently available at this location as of last check. -
features[].properties.appointments
: Ifappointments_available
is true, then for some providers, this field contains an array of additional details on the specific appointment timeslots, vaccine types, etc. This more detailed information is not available for all providers, and the amount of detail varies for each provider. -
features[].properties.appointments_last_fetched
: ISO8601 time of when the appointment data was last fetched from the provider's website for this specific location. -
features[].properties.appointments_last_modified
: ISO8601 time of when the appointment data was last modified. In most cases, this will mirrorappointments_last_fetched
, but for some providers this may reflect an older time if we refresh the provider's website more frequently, but the provider's data indicates it is older. -
features[].properties.carries_vaccine
: This field is mostly for internal processing usage. Locations may carry the vaccine if this field istrue
ornull
(null
just indicates this field isn't really used for a specific provider).