V-safe FAQ
What v-safe was, where this data came from, how we loaded it, and what it can and can't tell you.
What was v-safe?
v-safe was the CDC's smartphone check-in program for people who got a COVID-19 vaccine. It started in December 2020. After registering, people got text messages linking to short web surveys: daily for the first week after a dose, then weekly to six weeks, then at 3, 6 and 12 months. Parents and carers could register a child or another adult and answer for them.
Each survey had check boxes (fatigue, headache, fever and so on) and questions about whether the person could work or do normal activities, and whether they got medical care. There were also free-text boxes where people could describe what was happening in their own words. When someone said they had needed medical care, the v-safe call center could phone them and help file a report to VAERS, the federal Vaccine Adverse Event Reporting System.
Where did the data come from?
The CDC released the v-safe data in several parts, under the Freedom of Information Act. OpenVSafe loads all of them:
- Registrations, vaccinations and health check-ins: the CDC's consolidated v-safe data release of June 2023, covering registrations to 19 May 2023 and check-ins from 14 December 2020 to 30 June 2023. Children under 3 come in separate files.
- Free text: twelve monthly releases from February 2024 to January 2025, 7.55 million entries in all. The v-safe free text was obtained from the CDC through Freedom of Information Act litigation supported by Informed Consent Action Network (ICAN). Some words are blacked out by the CDC under FOIA exemption (b)(6), which protects personal privacy.
- MedDRA coding: three releases (September 2021, April 2023 and November 2024) in which the CDC coded the free text into standard medical terms.
- Call center records: two files from FOIA requests 23-00925 and 23-00926: the reports sent to the call center, the cases it opened, every call attempt, and the outcome of each case.
- The pregnancy registry survey: 79,265 responses from April to June 2021, from people asked whether they were or had been pregnant.
- VAERS: the 40,242 domestic VAERS reports whose report type marks them as coming from v-safe.
The data dictionary describes each part and its fields.
How did we load it?
We loaded the files as released into a database, then cleaned them into the tables the site reads. Cleaning means things like reading dates in one format, splitting combined answers into separate fields, and tagging each check-in with its survey (which dose and which day or month after it).
Every part of the release carries the same registrant code, a pseudonym the CDC gave each person (it looks like ABC-12345-67890).
That code is what lets the site put one person's registration, doses, check-ins, free text, coding and calls on a single page.
Free-text search uses a full-text index. It finds the same entries as a plain "contains" search, but needs at least 4 characters.
How does the site count?
- People, not entries. Most counts are of people (distinct registrant codes), because one person can mention the same thing many times.
- MedDRA codes: only codes the CDC left active are counted. The site shows all three coding releases, and ranks terms by the newest (2024-11).
- Ages are the bands the CDC released (16–20, 21–25 and so on), not exact ages.
- State comes from the first three digits of the zip code.
- Free text has no date. The release doesn't say which check-in an entry came from, so free text appears on a person's page without a date. Where timing matters, our analyses use the dated MedDRA codes instead.
How are people matched to VAERS?
The release doesn't link v-safe people to their VAERS reports, so we matched them. For each call center case whose outcome says a VAERS report was filed, we took every v-safe VAERS report with the same vaccination date and manufacturer and a compatible sex and age, and scored each one. The score, out of 11, adds up timing (VAERS received the report soon after the call), dose and shared symptoms; state only breaks ties.
A match is high confidence when it scores 8 or more and at least 3 points ahead of the next-best report, and medium when it scores 5 or more and 2 ahead. A person's page shows a possible VAERS report only when the best match scores 8 or more.
What about deaths in the free text?
v-safe never asked whether someone had died, but families often used the free-text boxes to say so, usually on the person's own account ("Deceased 10/20/2021", "(b)(6) passed away on 3/23", "This is his wife, he died on May 6"). The Died filter on Search V-safe finds these people, and their page highlights the entry that reports the death.
To build it we took every free-text entry with a death word in it (died, death, deceased, passed away, funeral and so on): 5,648 entries. Then we sorted each one into four groups:
- The person died. Counted.
- Someone else died, such as a grandparent, a friend, or "a death in the family". Not counted. A baby lost in pregnancy or soon after birth also counts as someone else, since the registrant is the mother.
- A figure of speech or a near miss, such as "felt like I was dying", "almost died" or "the second shot felt like death". Not counted.
- Not a death at all, such as "the link expired", "my arm went dead", "my colon died", "deceased appetite" (a typo for decreased) or "a cold passed on from my kids". Not counted.
Word rules settled the clear cases. We read the 1,140 entries the rules couldn't settle, and checked the rest in samples, reading every entry the rules counted that had first-person or near-miss wording. Where someone wrote "my husband died" or "my mother passed away", the registrant's sex usually settles it. On a man's account, "my husband died" is almost always his wife reporting his death. On a woman's account, it is her own grief. A bare "I died" with no date or cause isn't counted, because many are jokes. "I died on April 6" or "I passed away" is counted. Someone "dying in hospice" isn't counted until the death is reported.
The result is 1,986 entries from 1,576 people. The filter also counts 186 more people with a MedDRA death code, checked as described below, for 1,762 people in all. It's a floor, not a count of deaths. Most people who died had no one to write it in, and some who did were never asked again. Like everything in v-safe, these are reports, not death records.
How were the topics on Search V-safe found?
Some things can't be found with one search term. People write "miscarried", "no heartbeat at my 8 week scan" and "lost the baby", and a search for "blind" also finds "blinding headache". So the Topics filters on Search V-safe were worked out ahead of time. For each topic we listed the ways people describe it and pulled every entry that matched. Word rules set aside the clear mistakes, and we read the 1,737 entries that could go either way. Every topic is about the registrant, not a relative or a friend.
We then added people with a matching MedDRA code. The CDC's coders worked from wording the search missed, and from text that isn't in the free-text release. Where a coded person's free text was available, it could overrule the code: we looked at each person the search hadn't found and left out those whose own words showed the code didn't fit, such as a husband's death coded as "death", or "blinding headache" coded as "blindness". People with no text to check count on the code alone.
- Suicide (420 people): suicidal thoughts, plans or attempts, self-harm, and deaths by suicide. "I wanted to die" about a bad day after the shot isn't counted.
- Pregnancy loss (4,705 people): miscarriage, stillbirth, fetal demise, and ectopic, molar and chemical pregnancies, whenever they happened. A threatened or possible miscarriage isn't counted unless the entry confirms it, and nor is an induced abortion.
- Vision loss (1,861 people): vision lost in one or both eyes, in part or in full, for minutes or for good. This includes blind spots, eye strokes and retinal artery or vein occlusions and ischemic optic neuropathy. Blurred vision and vision going dark during a faint aren't counted, and nor are optic neuritis or a detached retina unless the entry says vision was lost.
- Aneurysm or dissection (1,197 people): an aneurysm of any kind, anywhere in the body, and a dissection of an artery, including aortic, carotid, vertebral and spontaneous coronary artery dissection (SCAD), past or present. A scan that only looked for one, a possible one and an enlarged aorta aren't counted, and nor are surgical dissections.
These are floors, not rates. They show what people chose to write, and an entry doesn't show that the vaccine caused what it describes.
How do the pregnancy pages work?
The pregnancy pages combine the registry survey with everything else that points to a pregnancy: a pregnancy MedDRA code, a check-in answer of "pregnant: yes", or a call center pregnancy record. People who were 51 or older, or under 12, at their first dose are left out, unless they show a sign of pregnancy loss. Weeks of pregnancy at a loss or a premature birth are read from the free text ("miscarriage at 7 weeks", "born at 33 weeks"), since v-safe never asked.
What can't the data tell you?
- It's self-reported. v-safe recorded what people said. Medical diagnoses in the free text and coding weren't checked against medical records.
- It doesn't prove cause. Something reported after a dose didn't necessarily happen because of it.
- There's no count of good outcomes. People rarely wrote about healthy pregnancies or symptoms that never came. So you can't work out how often something happened from the free text alone.
- Daily check-ins inflate the first week. People checked in every day for the first week after a dose and less often later, so almost everything is reported more in that first week.
- The records stop. Call center cases end on 15 June 2023 and reports to the call center on 22 May 2023. Free text is missing for many 2023 check-ins. A missing record isn't proof that nothing happened.
What about privacy?
The release has no names, addresses or exact birth dates. People are identified only by their CDC registrant code, with an age band and the first three digits of their zip code. Some free text mentions personal details anyway. The CDC blacked out the parts it chose to, and we publish the entries as released.
For what the site collects about visitors, see our privacy policy.
OpenVSafe is a project of OpenVAERS, made possible by the support of Brownstone Institute and REACT19.