91³Ô¹ÏÍø

Watch CBS News

USCIS clarifies who must pay $100,000 fee for H-1B visas

Guidance from U.S. Citizenship and Immigration Services (USCIS) clarifies that a $100,000 fee imposed in September to obtain H-1B visas for skilled foreign workers applies only to new applicants who are living abroad.

In a notice  on the agency's website late Monday, USCIS explains what types of visa applicants must pay the new six-figure fee and who is exempt. Applications for H-1B visas filed on or after Sept. 21 for workers outside the U.S. and who are not current H-1B visa holders are subject to the $100,000 charge, USCIS said. 

The fee also applies if a petition filed on or after Sept. 21 "requests consular notification, port of entry notification or pre-flight inspection for an alien in the United States."

The $100,000 payment must be paid prior to applying for an H-1B visa, according to USCIS.

Importantly for employers, the fee does not apply when a visa applicant files to move from one type of visa to another, such as from an F-1 visa for non-U.S. students to H-1B status.

The White House had previously said the fee would apply to all new H-1B visa applicants, with exemptions for some specialized workers who do not "pose a threat to the security or welfare" of the U.S.

In the new H-1B policy on Sept. 19, President Trump said the new fee was necessary "to address the abuse of that program while still permitting companies to hire the best of the best temporary foreign workers." He also said some employers take advantage of the visa program to undercut U.S. workers' wages by hiring lower-paid foreign workers.

The Trump administration has said the $100,000 fee for foreign employees to obtain an H-1B visa will compel U.S. companies to hire Americans, instead of relying on labor from overseas. Many economists, however, expect mixed results. 

In the short term, some U.S. technology workers could see their job prospects improve, as employers turn away from foreign labor because of the hefty fee attached. Other research, however, such as a 2024  on the impact of U.S. immigration on employment, from the nonprofit IZA Institute of Labor Economics, found that H-1B workers actually "help firms increase their employment," and that every H-1B worker a company hired helped produce additional job gains, which includes domestic hires.

Earlier this month, the U.S. Chamber of Commerce sued the Trump administration over the foreign worker visa fee, calling it unlawful. It was the second complaint to be filed challenging the fee, with a coalition of health care groups and labor unions also challenging the policy's legality in a  filed in October.  

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=fd53910ecf4604072044ab7c46d9b028'; 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(); } }); }); }); });