check-wait-time▌
tsa.gov/check-wait-time-90hawj · updated May 21, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Return current and historical TSA security-line wait times for a US airport. TSA's public web wait-time tool has been deprecated since 2023; this skill documents the dead-end and routes callers to the MyTSA mobile app or third-party trackers.
| name | check-wait-time |
| title | TSA Check Wait Time |
| description | >- Return current and historical TSA security-line wait times for a US airport. TSA's public web wait-time tool has been deprecated since 2023; this skill documents the dead-end and routes callers to the MyTSA mobile app or third-party trackers. |
| website | tsa.gov |
| category | travel |
| tags | - travel - airport - tsa - wait-times - deprecated-tool |
| source | 'browserbase: agent-runtime 2026-05-18' |
| updated | '2026-05-18' |
| recommended_method | browser |
| alternative_methods | - method: api rationale: >- No public TSA API exists for wait times. The legacy MyTSA web service endpoint `apps.tsa.dhs.gov/MyTSAWebService/GetTSOWaitTimes.ashx` returns HTTP 302 to `http://www.tsa.gov` — confirmed dead 2026-05-18. - method: url-param rationale: >- No URL-param deep-link exists. The canonical URL `https://www.tsa.gov/travel/security-screening/times` and all variants (`/wait-times`, `/checkpoint-wait-times`, etc.) return HTTP 404 with TSA's standard Page-Not-Found template. - method: browser rationale: >- Browser is the recommended method only in the sense that 'open the URL and verify the 404 / 302 to confirm the deprecation is still in effect' is the most defensible path. There is no live page to scrape. The skill returns a structured `tsa_web_tool_deprecated` outcome with pointers to (a) the MyTSA iOS/Android app (not browseable) and (b) third-party trackers like flyindex.org / tsatracker.com (not TSA-published). |
| verified | false |
| proxies | false |
TSA Check Wait Time
Purpose
Given a US airport (IATA code or name) and optionally a checkpoint / terminal and a day-of-week + hour-of-day window, return the current and historical TSA security-line wait times. TSA does not currently publish this data on the public web. This skill documents that gap, the dead-ends future agents should not re-walk, and the only viable fallback paths (MyTSA mobile app — not browseable — and third-party scrapers / crowd-sourced trackers). Read-only.
When to Use
- A user asks "how busy is SFO Terminal 3 on a Friday at 6am?" or "what's the current wait at ATL checkpoint A?"
- A travel-planning agent wants to recommend an arrival-time buffer for a specific airport + day-of-week + hour.
- Any flow that would call a TSA wait-time API if one existed — so the agent fails fast with a clear "deprecated, here are the alternatives" answer instead of looping on 404s.
Workflow
Bottom line up front: there is no public TSA web endpoint that returns current or historical per-airport per-checkpoint wait times as of 2026-05-18. The legacy MyTSA web tool was retired (apps.tsa.dhs.gov/mytsa/wait_times_home.aspx has 302-redirected to https://www.tsa.gov/mobile since at least Nov 2023, verified via Wayback Machine capture 20231116141524). The path implied by the user prompt — https://www.tsa.gov/travel/security-screening/times — returns HTTP 404 with TSA's standard "Page Not Found" Drupal template. Same for every plausible variant (/wait-times, /security-screening/wait-times, /security-screening/checkpoint-wait-times).
Given that constraint, the workflow is:
-
Recognize the dead end fast. If asked for TSA wait times, do not issue browser requests to
tsa.govlooking for a wait-times widget — none exists. Issuing them just produces 404s and wastes tokens. Skip directly to step 2. -
Pick a fallback path based on intent. TSA's wait-time data only lives in two places today:
Caller intent Best surface Browseable? "What's the historical pattern at SFO T3 on Fri 6am?" (the user's example) MyTSA iOS/Android app — retains the "Check how busy the airport is likely to be on your specific day and time of travel based on historical data" feature per https://www.tsa.gov/mobileNo — native app only, no public REST/JSON endpoint, no web mirror "What's the live wait at ATL right now?" Third-party crowdsourced trackers ( tsatracker.com,flyindex.org/airports/{iata}/tsa-wait-times/,flightcheck.live/tsa-wait-times). These re-derive wait times from a mix of user reports, airline data, and historical TSA throughput stats. They are NOT TSA-publishedYes — each has its own SKILL surface; a future agent should produce per-site skills (e.g. tsatracker.com/check-wait-time) rather than treating them as a TSA proxy"How many people did TSA screen yesterday nationwide?" https://www.tsa.gov/travel/passenger-volumes— daily total nationwide checkpoint count, table with two columns:Date,Numbers(e.g.5/17/2026 → 2,887,942). Updated Mon–Fri by 9am ETYes (200, plain HTML table) — but it answers a different question than the prompt -
Return a
not_supportedoutcome with the explanation. The honest contract is to fail with structured information so the calling agent can route the user appropriately rather than hallucinate numbers.
If the caller insists on a TSA-published answer
Direct them to https://www.tsa.gov/mobile and the MyTSA App on iTunes (itunes.apple.com/us/app/mytsa/id380200364) or Google Play (play.google.com/store/apps/details?id=gov.dhs.tsa.mytsa). Then return { "success": false, "reason": "tsa_web_tool_deprecated", "fallback": "mytsa_mobile_app" }.
If the caller will accept third-party data
The two highest-coverage third-party endpoints (live as of 2026-05-18, returned by Browserbase Search) are:
https://flyindex.org/airports/{iata-lowercase}/tsa-wait-times/— per-airport page with both current estimate and historical hourly heatmap. Covers all major US airports (atl,dfw,den,ord,lax,jfk,sfo,sea,clt,mia,phx,iah,bos,ewr,lga,dca,mco, …). Each page is fully server-rendered HTML — extractable viabrowse cloud fetchwithout Verified. Anti-bot: none observed.https://tsatracker.com/airports/{iata-lowercase}-tsa-wait-times— same shape, slightly different historical-window UI.
Build a separate per-domain skill for whichever third-party you choose; do not put third-party scraping under tsa.gov/ in the catalog — the data is not TSA's.
Site-Specific Gotchas
- The canonical URL in the user prompt 404s.
https://www.tsa.gov/travel/security-screening/timesreturns HTTP 404 with<title>Page Not Found | Transportation Security Administration</title>. Confirmed 2026-05-18 viabrowse cloud fetch. This is not a transient block — TSA's CMS does not have a node at that path. - Every other plausible TSA wait-time URL is also dead. Tested 2026-05-18:
/wait-times(404),/travel/security-screening/wait-times(404),/travel/security-screening/checkpoint-wait-times(404),apps.tsa.dhs.gov/mytsa/wait_times_home.aspx(302 →/mobile),apps.tsa.dhs.gov/mytsa/airport_details.aspx?ap=ATL(302 →/mobile),apps.tsa.dhs.gov/MyTSAWebService/GetTSOWaitTimes.ashx?ap=ATL&output=json(302 →http://www.tsa.gov). Don't waste turns probing more variants — TSA actively redirects the entire legacy app surface to a static "use the mobile app" landing. - The deprecation is old. Wayback Machine capture
20231116141524already shows the same 302 →/mobileredirect, so the web tool has been gone for >2 years. There is no realistic chance it returns; treat the dead end as permanent. - MyTSA mobile app is not browseable. The
/mobilepage only advertises the native iOS/Android download. The app's airport-busy data is fetched over a proprietary internal endpoint that is not documented and is gated by mobile-app cert pinning + user-agent checks — out of scope for a browser-driving agent. /travel/passenger-volumesis NOT a substitute. It returns one row per day with a single nationwide total (column headerNumbers, e.g.2,887,942). No airport, no checkpoint, no hour, no wait-time minutes. If a caller asks for SFO Friday 6am, this dataset cannot answer.- Third-party trackers (
tsatracker.com,flyindex.org,flightcheck.live) are NOT TSA-published. They derive estimates from user reports, airline data, and historical TSA throughput stats. Their numbers may correlate with reality but should never be labeled "TSA reported wait time" — call them "third-party estimate, source: {site}". Build a per-domain skill if you want this data; do not silently substitute for TSA. - The DHS-owned
https://www.dhs.gov/check-wait-timespage (a top search result for "TSA wait times") is a hub page that links to CBP border-crossing wait times and airport-arrival CBP processing — not TSA security checkpoint waits. Do not confuse these; they are different agencies and different datasets. - The TSA news/blog tag
https://www.tsa.gov/blog/tags/wait-timesreturns press releases ("TSA prepared for busy travel season"), not data. Skip it. - Sandbox connectivity caveat for the generator agent. Outbound DNS to
connect.*.browserbase.comis blocked from the Vercel Sandbox environment used to build skills, so live-browser verification (browse open --remote) of any TSA-owned page is not possible from that sandbox; onlybrowse cloud fetch(which hitsapi.browserbase.com) works. This did not affect verification for this skill because all candidate URLs were 404/302 at the HTTP layer — no JS-rendered SPA element to wait for. Future regeneration attempts should use the samebrowse cloud fetchprobe pattern before assuming a live tool exists.
Expected Output
Three distinct outcome shapes. The first is what this skill produces today. The other two are forward-looking — if TSA restores the tool, or if the caller opts into third-party data and the agent has access to a separate per-domain skill.
Outcome 1 — not_supported (current default)
{
"success": false,
"reason": "tsa_web_tool_deprecated",
"details": {
"requested_url": "https://www.tsa.gov/travel/security-screening/times",
"requested_url_status": 404,
"legacy_url": "https://apps.tsa.dhs.gov/mytsa/wait_times_home.aspx",
"legacy_url_status": 302,
"legacy_url_redirects_to": "https://www.tsa.gov/mobile",
"deprecated_since_at_least": "2023-11-16",
"verified_at": "2026-05-18"
},
"tsa_published_alternatives": [
{
"name": "MyTSA mobile app",
"surface": "iOS / Android native app",
"data_available": "historical hourly busy-ness per airport (the user's exact question), live checkpoint info per airport",
"browseable": false,
"ios_url": "https://itunes.apple.com/us/app/mytsa/id380200364?mt=8",
"android_url": "https://play.google.com/store/apps/details?id=gov.dhs.tsa.mytsa&hl=en"
},
{
"name": "TSA checkpoint travel numbers",
"surface": "https://www.tsa.gov/travel/passenger-volumes",
"data_available": "daily nationwide aggregate screening count only — no airport, no hour, no wait minutes",
"browseable": true,
"answers_user_question": false
}
],
"third_party_alternatives": [
{ "site": "flyindex.org", "url_template": "https://flyindex.org/airports/{iata}/tsa-wait-times/", "data": "current + historical hourly", "tsa_published": false },
{ "site": "tsatracker.com", "url_template": "https://tsatracker.com/airports/{iata}-tsa-wait-times", "data": "current + historical hourly", "tsa_published": false },
{ "site": "flightcheck.live", "url_template": "https://flightcheck.live/tsa-wait-times", "data": "current + historical hourly", "tsa_published": false }
]
}
Outcome 2 — success (if TSA restores the tool — speculative schema)
{
"success": true,
"airport": { "iata": "SFO", "name": "San Francisco International" },
"checkpoint": { "terminal": "Terminal 3", "name": "T3 Main Checkpoint", "lane_type": "standard" },
"current": { "wait_minutes": 12, "as_of": "2026-05-18T18:34:00Z" },
"historical": {
"window": { "day_of_week": "Friday", "hour_local": 6 },
"samples": 52,
"wait_minutes": { "min": 3, "median": 14, "max": 41, "p90": 28 },
"source_period": "2025-05-01 → 2026-05-01"
},
"source": "tsa.gov"
}
Outcome 3 — success_third_party (if caller opts into third-party data and a per-site skill is invoked)
{
"success": true,
"airport": { "iata": "SFO" },
"checkpoint": { "terminal": "Terminal 3" },
"current": { "wait_minutes": 12, "as_of": "2026-05-18T18:34:00Z" },
"historical": {
"window": { "day_of_week": "Friday", "hour_local": 6 },
"wait_minutes": { "min": 3, "median": 14, "max": 41 }
},
"source": "flyindex.org",
"tsa_published": false,
"disclaimer": "Third-party crowdsourced estimate, not TSA-published"
}
How to use check-wait-time on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add check-wait-time
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches check-wait-time from GitHub repository tsa.gov/check-wait-time-90hawj and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate check-wait-time. Access the skill through slash commands (e.g., /check-wait-time) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
Task Automation & Efficiency
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Knowledge Enhancement
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Quality Improvement
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client with skill support
- ›Clear understanding of task or problem to solve
- ›Willingness to iterate and refine outputs
Time Estimate
15-45 minutes depending on use case complexity
Installation Steps
- 1.Install skill using provided installation command
- 2.Test with simple use case relevant to your work
- 3.Evaluate output quality and relevance
- 4.Iterate on prompts to improve results
- 5.Integrate into regular workflow if valuable
Common Pitfalls
- ⚠Expecting perfect results without iteration
- ⚠Not providing enough context in prompts
- ⚠Using skill for tasks outside its intended scope
- ⚠Accepting outputs without review and validation
Best Practices▌
✓ Do
- +Start with clear, specific prompts
- +Provide relevant context and constraints
- +Review and refine all outputs before using
- +Iterate to improve output quality
- +Document successful prompt patterns
✗ Don't
- −Don't use without understanding skill limitations
- −Don't skip validation of outputs
- −Don't share sensitive information in prompts
- −Don't expect skill to replace human judgment
💡 Pro Tips
- ★Be specific about desired format and style
- ★Ask for multiple options to choose from
- ★Request explanations to understand reasoning
- ★Combine AI efficiency with human expertise
When to Use This▌
✓ Use When
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid When
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
Learning Path▌
- 1Familiarize yourself with skill capabilities and limitations
- 2Start with low-risk, non-critical tasks
- 3Progress to more complex and valuable use cases
- 4Build expertise through regular use and experimentation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.5★★★★★57 reviews- ★★★★★Chaitanya Patil· Dec 12, 2024
check-wait-time has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Anika Huang· Dec 12, 2024
check-wait-time has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Sophia Rao· Dec 8, 2024
Useful defaults in check-wait-time — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Hiroshi Johnson· Nov 27, 2024
We added check-wait-time from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Yusuf Gill· Nov 7, 2024
check-wait-time reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Piyush G· Nov 3, 2024
Solid pick for teams standardizing on skills: check-wait-time is focused, and the summary matches what you get after install.
- ★★★★★Omar Kim· Nov 3, 2024
I recommend check-wait-time for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Yuki Okafor· Nov 3, 2024
Solid pick for teams standardizing on skills: check-wait-time is focused, and the summary matches what you get after install.
- ★★★★★Lucas Perez· Oct 26, 2024
I recommend check-wait-time for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Shikha Mishra· Oct 22, 2024
We added check-wait-time from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
showing 1-10 of 57