How long medical certificates last for pilots, commercial drivers and merchant mariners — by class, age and service type
How long a federally required medical certificate remains valid for each regulated transport occupation, and what it depends on. FAA pilot medicals (14 CFR 61.23) cascade by class and age — a first-class certificate carries first-class privileges to the 12th month for pilots under 40 but only the 6th month at 40 or older, then downgrades to second- and third-class privileges on a schedule; commercial drivers need a medical examiner's certificate on a cycle set by 49 CFR 391.45; merchant mariner medical certificates run 2 years for STCW service but 5 years for national-only credentials, and only 1 year for mariners under 18 (46 CFR 10.301). Same question — 'how long is my medical good for?' — three regulators, three completely different answer structures. Answers 'how long is a first class medical valid for a 45-year-old pilot?', 'how often does a truck driver need a DOT physical?', 'why is my mariner medical certificate only valid two years?'
Medical Certificate Expiry Calculator — pilots, drivers, mariners — Find how long your medical certificate lasts and when it expires, given your occupation, certificate class, age and exam date.
The data
| Certificate and class | Occupation / regulator | Age / service condition | Valid for | Citation | Operation / activity covered |
|---|---|---|---|---|---|
| medically examined and certified as qualified to operate a commercial motor vehicle | commercial motor vehicle driver (FMCSA) | Any driver who has not been medically examined and certified as qualified to operate a commercial motor vehicle during the preceding 24 months | 24 months | 49 CFR 391.45 | |
| first-class medical certificate | pilot (FAA) | Any age | 12th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | a commercial pilot certificate (other than a commercial pilot certificate with a balloon rating when conducting flight training), a flight engineer certificate, or an air traffic control tower operator certificate |
| first-class medical certificate | pilot (FAA) | Age 40 or older | 24th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | a recreational pilot certificate, a private pilot certificate, a flight instructor certificate (when acting as pilot in command or a required pilot flight crewmember in operations other than glider or balloon), a student pilot certificate, or a sport pilot certificate (when not using a U.S. driver's license as medical qualification) |
| first-class medical certificate | pilot (FAA) | Under age 40 | 60th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | a recreational pilot certificate, a private pilot certificate, a flight instructor certificate (when acting as pilot in command or a required pilot flight crewmember in operations other than glider or balloon), a student pilot certificate, or a sport pilot certificate (when not using a U.S. driver's license as medical qualification) |
| first-class medical certificate | pilot (FAA) | Age 40 or older | 6th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | an airline transport pilot certificate for pilot-in-command privileges, for second-in-command privileges in a flag or supplemental operation in part 121 requiring three or more pilots, or for a pilot flightcrew member in part 121 operations who has reached his or her 60th birthday |
| first-class medical certificate | pilot (FAA) | Under age 40 | 12th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | an airline transport pilot certificate for pilot-in-command privileges, or for second-in-command privileges in a flag or supplemental operation in part 121 requiring three or more pilots |
| medical certificate | merchant mariner (US Coast Guard) | all other mariners | 5 years | 46 CFR 10.301 | |
| medical certificate | merchant mariner (US Coast Guard) | All persons employed or engaged onboard vessels to which STCW applies | valid for 2 years | 46 CFR 10.301 | onboard vessels to which STCW applies |
| medical certificate | merchant mariner (US Coast Guard) | the mariner is under the age of 18 | 1 year | 46 CFR 10.301 | onboard vessels to which STCW applies |
| medical examiner's certificate | commercial motor vehicle driver (FMCSA) | Any driver who does not satisfy, with the worse eye, either the distant visual acuity standard with corrective lenses or the field of vision standard, or both | 12 months | 49 CFR 391.45 | |
| medical examiner's certificate | commercial motor vehicle driver (FMCSA) | Any driver who has diabetes mellitus treated with insulin for control | 12 months | 49 CFR 391.45 | |
| medically examined and certified as qualified to drive in such zone | commercial motor vehicle driver (FMCSA) | Any driver authorized to operate a commercial motor vehicle only within an exempt intracity zone | 12 months | 49 CFR 391.45 | operate a commercial motor vehicle only within an exempt intracity zone |
| second-class medical certificate | pilot (FAA) | Age 40 or older | 24th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | a recreational pilot certificate, a private pilot certificate, a flight instructor certificate (when acting as pilot in command or a required pilot flight crewmember in operations other than glider or balloon), a student pilot certificate, or a sport pilot certificate (when not using a U.S. driver's license as medical qualification) |
| second-class medical certificate | pilot (FAA) | Under age 40 | 60th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | a recreational pilot certificate, a private pilot certificate, a flight instructor certificate (when acting as pilot in command or a required pilot flight crewmember in operations other than glider or balloon), a student pilot certificate, or a sport pilot certificate (when not using a U.S. driver's license as medical qualification) |
| second-class medical certificate | pilot (FAA) | Any age | 12th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | an airline transport pilot certificate for second-in-command privileges |
| third-class medical certificate | pilot (FAA) | Age 40 or older | 24th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | a recreational pilot certificate, a private pilot certificate, a flight instructor certificate (when acting as pilot in command or a required pilot flight crewmember in operations other than glider or balloon), a student pilot certificate, or a sport pilot certificate (when not using a U.S. driver's license as medical qualification) |
| third-class medical certificate | pilot (FAA) | Under age 40 | 60th month after the month of the date of examination shown on the medical certificate | 14 CFR 61.23 | a recreational pilot certificate, a private pilot certificate, a flight instructor certificate (when acting as pilot in command or a required pilot flight crewmember in operations other than glider or balloon), a student pilot certificate, or a sport pilot certificate (when not using a U.S. driver's license as medical qualification) |
Where this came from
Every record above links the page it was taken from and quotes the sentence that states it. These are the 3 sources this dataset was assembled from.
- ecfr.govhttps://www.ecfr.gov/current/title-49/subtitle-B/chapter-III/subchapter-B/part-391/subpart-E/section-391.45
- ecfr.govhttps://www.ecfr.gov/current/title-14/chapter-I/subchapter-D/part-61/subpart-A/section-61.23
- ecfr.govhttps://www.ecfr.gov/current/title-46/chapter-I/subchapter-B/part-10/subpart-C/section-10.301
Machine-readable
- data.jsonThe whole dataset — every record with its source URL and source quote.
- Open Knowledge Format bundleOne JSON object per line — every record's frontmatter and quoted span exactly as it is held here, in one fetch.
- data.csvThe same records as one flat table, for a spreadsheet or a dataframe. The last four columns are the source URL, the quoted sentence it was read from, the date we last checked it, and which columns are our reading rather than the page's words.
- How this is made and checkedWhat "verified against source" does and does not mean.
From your own code
Same records, same quotes, without scraping the page: refsource is on PyPI and npm. Each value comes back carrying the URL it was read from and the sentence on that page that states it — .source and .quote sit on the value itself rather than in a side channel, so the checking step is available instead of skipped.
pip install refsource
refsource lookup medical-certificate-validity-by-occupation occupation="commercial motor vehicle driver (FMCSA)"
npx -y refsource lookup medical-certificate-validity-by-occupation occupation="commercial motor vehicle driver (FMCSA)"
Set your AI assistant up to use this
Two files and no account. Put this in .mcp.json at the root of your project — Claude Code, Cursor, Windsurf, VS Code and Codex all read that file — and your assistant can look this dataset up instead of recalling it. The server is remote, keyless and read-only.
{
"mcpServers": {
"referencesource": {
"type": "http",
"url": "https://referencesource.org/mcp"
}
}
}Add to Cursor · or, on the command line: claude mcp add --transport http referencesource https://referencesource.org/mcp --scope project
Then one line in the project's CLAUDE.md or AGENTS.md, so the assistant knows when to reach for it:
When a question needs "How long medical certificates last for pilots, commercial drivers and merchant mariners — by class, age and service type", call the referencesource MCP server at https://referencesource.org/mcp (tool `search_records`, dataset_slug `medical-certificate-validity-by-occupation`) instead of answering from memory — every record it returns carries its source URL and a verbatim quote from that page.What each tool does, and the servers built over single registers: Connect your AI assistant.