91³Ô¹ÏÍø

Watch CBS News

Getting ready to fly? Here are 3 ways to track TSA wait times at airports.

Wondering how early to get to the airport as some TSA officers call out sick during a partial government shutdown? There are a few ways for passengers to check security checkpoint wait times before their flights.

Security lines are growing longer at some airports, with almost 12% of the TSA's roughly 50,000 officers calling out sick on Sunday, as they work without pay during the six week-long partial shutdown.

Although officials have warned that some smaller airports could be forced to close due to staffing shortages, the nation's airports remain open. But wait times at security checkpoints are surging. At Houston's George Bush Intercontinental Airport, some passengers waited as long as 6 hours to get through security.

Wait times aren't expected to improve until government funding is restored and TSA officers receive paychecks. In the meantime, travelers should check delays before leaving for the airport.

"It's always good to check and see if you need extra time, the same way it's good to check traffic when you're traveling across town," Scott Keyes, founder of flight deals site Going.com, told CBS News. 

Here's how to find out how long a wait you could face at the airport, and some ways to speed it up.

Check airport websites

Airport websites usually post expected wait times to help travelers plan. The situation is so volatile, though, that some airports have suspended tracking.

For example, in New York City said it's no longer showing wait times, adding that "security wait times may be significantly longer than normal." 

"Wait times are subject to rapid change based on passenger volumes and TSA staffing. For these reasons, wait time reporting has been temporarily suspended. Please allow for significantly more time and check with your airline for the current status of your flight," the airport states on its website. 

Eric Rosen, director of content at The Points Guy, a travel website, told CBS News that travelers might find themselves in a pickle if they don't know how much time to budget for security screening. 

"That's the really tough part for travelers. Delays are caused by staffing issues, and there is no way of knowing how many people will call out sick on a given day at a given airport," he said. 

Use the TSA app

TSA's  sends airport security information to passengers' phones. 

The app tracks and updates airport delays, and aggregates historical information about how busy an airport is likely to be at a given time.

Other tracking sites

Other tracking websites, such as , also track wait times at airports across the U.S. to help travelers prepare for trips. Search by airport, then toggle to "Wait Times" for up-to-date information. 

Travelers with TSA PreCheck status usually move through checkpoints faster. Signing up for the agency's "Touchless ID" program can speed up the process even more. It's currently available at 65 airports, and its lines tend to have the shortest waits of all. Five airlines — Alaska, American, Delta, Southwest and United — currently participate in the program.

Keyes, who is enrolled and recently used touchless ID, said it made the screening process "substantially faster."

He also recommended not checking luggage to avoid further screening delays. 

Experts maintain that flying during a government shutdown remains safe, but more of a headache for travelers. The Federal Aviation Administration prioritizes safety, which sometimes means slowing down flight traffic when key personnel are absent from work.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });