CDC API: Get vaccine schedule for an age
Lists the vaccines shown for an age on CDC's child and adolescent or adult immunization schedule, with timing, dose guidance and recommendation type.
Unofficial. Not affiliated with or endorsed by CDC.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Age, required
age Age or age group in plain words, such as 4 months, 12 years, 65, or adult.
12 years
Input as JSON
{ "age": "12 years"}Output
{ "schedule": "Child and adolescent", "vaccines": [ { "notes": "Catch-up vaccination if behind. Check CDC notes for eligibility and dosing.", "page_link": "https://www.cdc.gov/vaccines/hcp/imz-schedules/child-adolescent-notes.html#note-hepb" , "vaccine_name": "Hepatitis B (HepB)", "number_of_doses": null, "recommended_timing": "11-12 years" }, { "notes": "For people with an additional risk factor or other indication. Check CDC notes for eligibility and dosing.", "page_link": "https://www.cdc.gov/vaccines/hcp/imz-schedules/child-adolescent-notes.html#note-hib" , "vaccine_name": "Haemophilus influenzae (Hib)", "number_of_doses": null, "recommended_timing": "11-12 years" }, { "notes": "For people with an additional risk factor or other indication. Check CDC notes for eligibility and dosing.", "page_link": "https://www.cdc.gov/vaccines/hcp/imz-schedules/child-adolescent-notes.html#note-pneumo" , "vaccine_name": "Pneumococcal conjugate", "number_of_doses": null, "recommended_timing": "11-12 years" } ], "last_updated": "2025-07-02", "schedule_page": "https://www.cdc.gov/vaccines/hcp/imz-schedules/child-adolescent-age.html" }Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"cdc.gov/get_vaccine_schedule","input":{"age":"12 years"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "cdc.gov/get_vaccine_schedule" , "input": { "age": "12 years" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "cdc.gov/get_vaccine_schedule" , "input": { "age": "12 years" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run cdc.gov/get_vaccine_schedule# with {"age":"12 years"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "age" ], "properties": { "age": { "type": "string", "examples": [ "4 months" ], "description": "Age or age group in plain words, such as 4 months, 12 years, 65, or adult." } }}Output schema
{ "type": "object", "required": [ "schedule", "last_updated", "schedule_page", "vaccines" ], "properties": { "schedule": { "type": "string" }, "vaccines": { "type": "array", "items": { "type": "object", "properties": { "notes": { "type": "string" }, "page_link": { "type": "string" }, "vaccine_name": { "type": "string" }, "number_of_doses": { "type": [ "string", "null" ] }, "recommended_timing": { "type": "string" } } } }, "last_updated": { "type": "string" }, "schedule_page": { "type": "string" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
cdc.gov/get_vaccine_schedule- Returns
- schedule, last updated date, schedule page, vaccines with timing, doses, notes and links
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method cdc.gov/get_vaccine_schedule with the inputs above.
Ask your agent
- What vaccines are recommended for a 4 months old baby according to the CDC schedule?
- Which immunizations are due at 12 years old and when should each dose be given?
- I'm 65 years old, what shots does the adult immunization schedule say I need?
- Show me the timing and number of doses for vaccines at 18 months on the CDC child schedule.
- What does cdc.gov list as recommended vaccines for adults in their 30s, including booster timing?
See more
All CDC methodsGets CDC traveler vaccines, medicines, the routine vaccine reminder and malaria guidance for a destination country. Recommendations can vary by itinerary and traveler, so read the linked country page for details.
cdc.gov/get_travel_vaccinesGets CDC facts about a disease by name, including symptoms, how it spreads, prevention, treatment and higher-risk groups when covered. A review date is returned only when CDC labels one.
cdc.gov/get_disease_factsLists current CDC Travelers' Health notices, newest first, with destinations, levels, posted dates, travel advice and notice links. Filtering by country also matches destinations named in multi-country notices.
cdc.gov/list_travel_health_noticesFinds U.S. consumer product recalls matching a product type or brand, newest first, with hazards, remedies, incidents, sale details and photos when published.
cpsc.gov/search_recallsGets age certifications and non-spoiler Parents Guide summaries (severity votes and example descriptions for five categories) for a movie or show by title, IMDb link or title ID. A year selects a specific release.
imdb.com/get_parents_guideReturns a team's past results and upcoming games for a season on ESPN, with opponents, local start times, scores, broadcasts and venues. Soccer fixtures include all competitions shown for the team.
espn.com/get_team_scheduleFinds the Common Sense Media review of a movie, TV show, game, book, app or podcast by title (optionally type and year) and returns its age rating, star rating, verdict and parents' guide.
commonsensemedia.org/get_age_ratingLists the ranked top baby names and birth counts for a U.S. birth year, nationwide or for one state.
ssa.gov/list_top_baby_names