Registry entry
United States Electronic System for Travel Authorization (ESTA)
Pre-travel screening application for citizens and nationals of Visa Waiver Program (VWP) countries who intend to travel to the United States for tourism or business for up to 90 days without a visa. Submitted online via the ESTA website or the ESTA mobile app, by the traveler or a third-party representative on the traveler's behalf. An approved ESTA is generally valid for two years (or until the passport expires, or a VWP eligibility fact changes, whichever comes first) and covers multiple trips; it establishes VWP eligibility to travel but does not guarantee admission, which a CBP officer determines at the port of entry. This document does not submit the application; the live esta.cbp.dhs.gov source is always authoritative (see verification). Fees and processing times are described qualitatively, not encoded as validated fields, because CBP sets them by regulation and they change independently of the application's field structure.
You are viewing v1.0.0
The latest published version of this schema is v1.1.0 — see the current reference page. Published versions are immutable; this page stays for agents pinned to us/cbp/esta-application@1.0.0.
Registry entry
us/cbp/esta-application
GovSchema spec v0.2
Authoritative source ESTA
Machine access
- Schema document
registry/us/cbp/esta-application/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/us/cbp/esta-application/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
33 fields across 7 steps, read from the published schema.json — names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Who is applying
-
applicantRoleenum requiredWhether the traveler is completing the application themselves or a third-party representative (e.g. travel agent, relative, friend) is completing it on the traveler's behalf. ESTA was designed to allow a representative to submit for someone without computer or internet access; the traveler remains responsible for the answers submitted either way.
enum: applicant | representative -
representativeCompletedOnBehalfboolean optionalRequired acknowledgment checkbox when applicantRole is 'representative': the representative must check the box on the application indicating they completed it on the traveler's behalf.
Biographic and passport details
-
lastNamestring requiredPersonal identifier; handle as sensitive data. Auto-populated from a scan/photo of the passport biographic data page or the passport's Machine-Readable Zone, editable if optical character recognition misreads it.
length: 1–100 -
firstNamestring requiredPersonal identifier; handle as sensitive data.
length: 1–100 -
dateOfBirthdate requiredPersonal identifier; handle as sensitive data. Full date, YYYY-MM-DD.
-
sexMarkerenum requiredPersonal identifier; handle as sensitive data. Reflects the passport's own sex marker, captured from the passport scan/Machine-Readable Zone. The enumeration mirrors ICAO 9303 machine-readable-passport sex-marker values (M, F, or X); it was not independently re-confirmed against the live ESTA form's own field, since that form was not directly reachable (see VERIFICATION.md).
enum: M | F | X -
countryOfBirthstring requiredISO 3166-1 alpha-2 country code.
pattern -
citizenshipCountrystring requiredISO 3166-1 alpha-2 country code. Must be a country currently designated as a Visa Waiver Program participant; the VWP country list is set by the Secretary of Homeland Security and changes over time (additions and removals), so it is intentionally not enumerated here as a fixed validation list — consult the current list at travel.state.gov or cbp.gov before relying on it.
pattern -
passportNumberstring requiredPersonal identifier; handle as sensitive data. As shown on the biographic data page / Machine-Readable Zone of an e-Passport (a passport with an embedded electronic chip) issued by a Visa Waiver Program country.
length: 1–20 -
passportExpirationDatedate requiredFull date, YYYY-MM-DD. An ESTA authorization is valid only through the passport's expiration date if that is sooner than the normal two-year validity.
-
passportBiographicPageImagefile requiredPersonal identifier; handle as sensitive data. A photo or scan of the passport's biographic data page (the page bearing the applicant's photo, name, and Machine-Readable Zone), captured or uploaded during the application. The website flow previews the image and the biographic data it auto-populated so the applicant can correct any OCR misread before continuing.
-
applicantSelfiePhotofile requiredPersonal identifier; handle as sensitive data. A live photo of the applicant's face, compared 1:1 against the passport photograph by CBP's Traveler Verification Service to confirm the applicant is the passport holder. Required on both the ESTA website and the ESTA mobile app as of the 2024 enhancement described in PIA-007(j). When a representative submits on the applicant's behalf, the representative must still submit a photo of the applicant, not of themselves.
Contact and employment
-
emailstring requiredPersonal identifier; handle as sensitive data. Should be the traveler's own email address. If the traveler has no email address, an alternative third-party point-of-contact email address (e.g. a family member, friend, or business associate) must be provided instead.
length: 0–254 -
phonestring requiredPersonal identifier; handle as sensitive data. In international E.164 format, e.g. +12025551234.
pattern -
employerInformationstring requiredName and address of the applicant's current or, if not currently employed, most recent previous employer. DHS builds in flexibility for applicants who cannot readily supply every mandatory detail (e.g. answering 'unknown' where genuinely not known); the live form's exact sub-field breakdown (e.g. whether employer name, address, and phone are separate inputs) was not independently confirmed, since the application itself was not directly reachable — see VERIFICATION.md.
length: 0–300
Destination, U.S. point of contact, and emergency contact
-
destinationAddressInUSstring requiredAddress of the first place the applicant intends to stay in the United States.
length: 0–300 -
usPointOfContactNamestring requiredName of a point of contact in the United States. DHS allows an applicant with no U.S. point of contact to answer 'unknown' rather than leaving the mandatory field blank.
length: 0–200 -
usPointOfContactAddressOrPhonestring optionalAddress and/or phone number for the U.S. point of contact named above, when available.
length: 0–300 -
emergencyContactNamestring requiredName of an emergency point of contact, distinct from the U.S. point of contact above.
length: 0–200 -
emergencyContactPhonestring requiredIn international E.164 format, e.g. +12025551234.
pattern
Visa Waiver Program eligibility questions
-
hasCommunicableDiseaseOrDisorderboolean requiredOne of the nine Visa Waiver Program eligibility questions. Covers specified communicable diseases (e.g. tuberculosis, cholera) and physical/mental disorders or substance abuse/addiction that may pose a public-health or safety concern.
-
hasArrestOrConvictionSeriousCrimeboolean requiredOne of the nine Visa Waiver Program eligibility questions.
-
hasControlledSubstanceViolationboolean requiredOne of the nine Visa Waiver Program eligibility questions.
-
hasTerrorismEspionageSabotageGenocideInvolvementboolean requiredOne of the nine Visa Waiver Program eligibility questions.
-
hasFraudOrMisrepresentationForUSEntryboolean requiredOne of the nine Visa Waiver Program eligibility questions.
-
isSeekingOrHadUnauthorizedUSEmploymentboolean requiredOne of the nine Visa Waiver Program eligibility questions. The Visa Waiver Program covers business and tourism only, not employment.
-
hasPriorVisaDenialOrRefusedAdmissionboolean requiredOne of the nine Visa Waiver Program eligibility questions.
-
hasPriorOverstayboolean requiredOne of the nine Visa Waiver Program eligibility questions. Any overstay, even by one day, is disclosable here.
-
hasTravelToDesignatedCountriesSinceThresholdboolean requiredOne of the nine Visa Waiver Program eligibility questions. A 'yes' generally makes the traveler ineligible for the Visa Waiver Program (a visa must be obtained through the normal consular process instead), subject to limited exceptions the live form's guidance may describe.
Payment and submission
-
paymentMethodenum requiredESTA application fees are collected through the U.S. government's Pay.gov service.
enum: credit_card | debit_card | ach_debit -
applicationSubmittedToCBPboolean requiredFinal confirmation step: once payment is validated, the applicant or representative is prompted to submit the application to CBP for automated vetting against security and law enforcement databases.
Verification record
This file is the source-review record for this document version, per the manual-source-review-v1 practice. It documents the provenance of the published fields and flow, records a mock test run against the field model, and states the current verification claim honestly.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-01
Access constraint
The live application (esta.cbp.dhs.gov) renders as a JavaScript application shell to automated retrieval. No field text is present in the fetched HTML. cbp.gov/travel/international-visitors/esta and every help.cbp.gov article tried returned either HTTP 403 or the same JS-shell/CDN loading page. This document was therefore authored primarily from two official DHS/CBP Privacy Impact Assessment (PIA) PDFs — static documents served directly by dhs.gov (HTTP 200 with a standard browser User-Agent; no bot-block encountered) — plus CBP's and USA.gov's own overview/FAQ pages, which fetched successfully as plain HTML.
Sources examined
- Document
(id, version):us/cbp/esta-application/1.0.0 - Spec version: GovSchema
0.2.0 - Authority: U.S. Customs and Border Protection (CBP), U.S. Department of Homeland Security (DHS)
- Primary sources (fetched directly, full text extracted):
- https://www.dhs.gov/sites/default/files/2023-06/privacy-pia-cbp007(h)-esta-june2023.pdf — DHS/CBP/PIA-007(h), June 2023. Describes the ESTA application flow in detail: role selection (applicant / third-party representative), passport biographic-page capture with OCR auto-population, the remaining biographic inputs collected ("phone number and email address; information about current or previous employer; social media information (optional); destination address and point of contact in the United States; and emergency point of contact information"), the Visa Waiver Program eligibility questions, Pay.gov payment (credit card, debit card, or ACH debit), and CBP's automated vetting on submission. Also describes the 2023 mobile-app launch, its Machine-Readable Zone and eChip (RFID) capture, and the 1:1 facial-comparison liveness check via the Traveler Verification Service.
- https://www.dhs.gov/sites/default/files/2024-07/24_0712_priv_pia-cbp-007j-esta-update.pdf — DHS/CBP/PIA-007(j), July 2024 update. Confirms the website channel was brought in line with the mobile channel: a selfie photograph is now required on both channels, matched 1:1 against the passport photo; photos are retained in the ESTA system for 15 years (14 days for the Traveler Verification Service's own copy). Restates the collected-field summary ("name, country of birth and citizenship, date of birth, sex, travel document information, contact information ..., social media handle and platform (voluntary), employment information, destination address, and U.S. point of contact information") and the eligibility-question categories (communicable disease/physical-mental disorder, arrests/convictions, terrorism/espionage/sabotage/genocide, prior visa denial/deportation, overstay, travel to Iraq/Syria/other state-sponsor-of-terrorism countries or Cuba). States the 2-year validity (or until the VWP eligibility fact that ends it occurs first, or the passport expires) and the 90-day per-stay limit.
- PDF text was extracted locally (no
pdftotext/pipavailable in this environment) by decompressing the PDF's Flate-encoded content streams and reading theTj/TJtext-show operator strings directly — the same zlib + parenthesized-string approach used previously for UK gov.uk PDF forms (see thegov-form-pdf-extractionprecedent).
- Secondary/supporting sources (fetched as plain HTML, no workaround needed):
- https://www.usa.gov/visa-waiver-esta — fee ("$40.27" as of retrieval), 72-hour typical processing time, 2-year validity, 90-day stay, e-passport requirement.
- https://travel.state.gov/content/travel/en/us-visas/tourism-visit/visa-waiver-program.html — VWP eligibility conditions, including the designated-country list for the travel-history eligibility question (Iran, Iraq, Libya, North Korea, Somalia, Sudan, Syria, Yemen since 1 March 2011; Cuba since 12 January 2021).
- https://www.cbp.gov/travel/international-visitors/esta/frequently-asked-questions-about-visa-waiver-program-vwp-and-electronic-system-travel — corroborates the eligibility-question categories in CBP's own words (communicable diseases; arrests and convictions for certain crimes; history of visa revocation or deportation; other questions) and that "the social media question is optional."
- Retrieved / reviewed: 2026-07-01
- Reviewer: GovSchema Engineering (initial authoring source-review)
What was confirmed against a primary source
| Source element | Field(s) | |---|---| | Role selection (applicant vs. third-party representative); representative must check a box confirming they completed the application on the traveler's behalf | applicantRole, representativeCompletedOnBehalf | | Passport biographic data page capture (photo/scan) with OCR auto-population of name, date/place of birth, passport number | lastName, firstName, passportBiographicPageImage | | Machine-Readable Zone / eChip capture: name, passport number, nationality, date of birth, sex, passport expiration date | dateOfBirth, sexMarker, citizenshipCountry, passportNumber, passportExpirationDate | | "name, country of birth and citizenship, date of birth, sex, travel document information" | countryOfBirth | | Selfie photo required on website and mobile app, 1:1 matched against the passport photo via the Traveler Verification Service | applicantSelfiePhoto | | "phone number and email address"; alternate third-party email required if the traveler has none | phone, email | | "information about current or previous employer" | employerInformation | | "destination address and point of contact in the United States" | destinationAddressInUS, usPointOfContactName, usPointOfContactAddressOrPhone | | "emergency point of contact information" (a distinct cluster from the U.S. point of contact) | emergencyContactName, emergencyContactPhone | | "social media information (voluntary)" / "social media handle and platform" | socialMediaPlatform, socialMediaIdentifier | | VWP eligibility question categories: communicable disease/disorder; arrests/convictions; terrorism/espionage/sabotage/genocide; prior visa denial/deportation/withdrawn application; overstay; travel to designated countries since a stated date | all nine has*/is* boolean fields | | Pay.gov payment by credit card, debit card, or ACH debit | paymentMethod | | Automated CBP vetting on submission | applicationSubmittedToCBP | | Two-year validity (or earlier passport expiry / VWP-eligibility change), 90-day stay limit | document description |
What is NOT independently verified
- Exact verbatim wording of the nine eligibility questions. The PIAs state the categories CBP collects (e.g. "arrests and convictions for certain crimes") but not the literal on-screen question text. The wording used in each field's
labelwas cross-checked for consistency across several independent practitioner/consumer-guide reproductions of the live form (which is standard practice for ESTA-adjacent guidance sites to quote verbatim) rather than read directly fromesta.cbp.dhs.gov, which this review could not reach. Treat eachlabelas a faithful paraphrase of a confirmed category, not a guaranteed character-for-character match to the live page. - Exact sub-field breakdown of
employerInformationandusPointOfContactAddressOrPhone. The PIAs describe these as information categories, not itemized sub-fields; whether the live form splits employer name/address/phone (or U.S. point-of-contact address vs. phone) into separate inputs was not confirmed. Modeled as single free-text fields rather than guessing a sub-field split not evidenced by the source. - Current ESTA fee amount. Sourced from USA.gov ("$40.27") rather than a CBP fee schedule page, which was unreachable; fees are set by regulation and can change, so it is described only in the document
description, not encoded as a validated field (consistent withie/dttas/driving-licence-renewalandgb/dvla/vehicle-tax's qualitative treatment of fees). - Current Visa Waiver Program country list. Deliberately not enumerated as a fixed
validation.enumoncitizenshipCountry(see that field's description) because DHS adds and removes participating countries by designation, independent of this schema's version. - The screen-by-screen order and exact wording of confirmation/review screens past the fields modeled here.
- A late-2025 CBP proposal to expand ESTA data collection (five-year phone/ email history, additional family details, expanded biometrics) was reported in secondary sources during this research pass but had not been adopted into a published DHS PIA/SORN as of the retrieval date, so it is out of scope for this v1.0.0 document. A future minor/major version should pick it up once (and if) it is finalized and appears in an official DHS publication.
Mock test run
To confirm the field model is internally consistent and usable end-to-end, a complete mock application instance — a fictitious Japanese traveler visiting Washington, DC on business — was constructed with one valid example value per field and checked programmatically against every field's own type, required, and validation (enum/pattern/minLength/maxLength) constraint declared in schema.json. All 33 fields (defined across the 24 required and 9 optional/conditional fields) were present and passed:
| Field | Mock value | |---|---| | applicantRole | applicant | | representativeCompletedOnBehalf | false | | lastName / firstName | Nakamura / Aoi | | dateOfBirth | 1994-03-11 | | sexMarker | F | | countryOfBirth / citizenshipCountry | JP / JP | | passportNumber | TZ1234567 | | passportExpirationDate | 2031-05-02 | | passportBiographicPageImage / applicantSelfiePhoto | mock upload references | | email | aoi.nakamura@example.com | | phone | +81312345678 | | employerInformation | Kizuna Trading Co., 3-4-5 Marunouchi, Chiyoda-ku, Tokyo 100-0005, Japan | | destinationAddressInUS | Hyatt Regency, 655 F Street NW, Washington, DC 20004 | | usPointOfContactName / usPointOfContactAddressOrPhone | Daniel Reyes / +12025557777 | | emergencyContactName / emergencyContactPhone | Kenji Nakamura / +81312349999 | | socialMediaPlatform / socialMediaIdentifier | left blank (optional) | | all nine eligibility questions | false | | paymentMethod | credit_card | | applicationSubmittedToCBP | true |
Result: pass — every field name matched a declared fields[].name, every required field was populated, every date value matched YYYY-MM-DD, every enum value was one of the declared options, and every pattern/ minLength/maxLength constraint was satisfied (e.g. phone and emergencyContactPhone against the E.164 pattern, citizenshipCountry/ countryOfBirth against the two-uppercase-letter pattern). This is a structural self-check of the schema against its own rules using fictitious data. It does not submit anything to CBP and is not a substitute for manual-source-review-v1's live-source field comparison, which remains outstanding (see above).
Scope notes
- Application only, ending at CBP submission. Checking application status after submission, appeal/redetermination after a denial, and the separate Form I-94W paper process (retained for travelers who do not use ESTA) are out of scope.
- Not time-versioned. Applying GSP-0005 §2's coexistence test: ESTA has no calendar-year edition cycle, so this is a plain
v1.0.0document, not an edition-axis schema. - Conditional requiredness the v0.2 flat/linear model cannot express (e.g.
representativeCompletedOnBehalfonly meaningful whenapplicantRoleisrepresentative) is documented in field descriptions, per the limitation tracked in GSP-0004.
Path to a verified claim (next step)
To advance to status: verified, a reviewer applies manual-source-review-v1 (Procedure step 2) field-by-field against the live, authenticated esta.cbp.dhs.gov application itself (not just the PIAs describing it), confirms the eligibility questions' exact wording, resolves any discrepancy by shipping a new schema version per VERSIONING.md, and records the outcome here.
Re-verification
Per the practice's Cadence, nextReviewBy is set to 2027-01-01 (6 months), or sooner if CBP's pending data-expansion proposal (see above) is finalized.
View the raw record (VERIFICATION.md)
Version history
-
1.1.0draftlatestno independent verification recordschema.json -
1.0.0draftthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by U.S. Customs and Border Protection or any government. The authoritative source is always the live government form and its official instructions.
Social media (optional)
socialMediaPlatformstring optionalVoluntary. An application is not blocked from submission by leaving this and socialMediaIdentifier blank, and CBP may still check publicly available social media regardless. The live form may accept more than one platform/handle pair; this flat field models one representative pair pending an accepted repeating-value mechanism (GSP-0009).
length: 0–100socialMediaIdentifierstring optionalVoluntary. See socialMediaPlatform.
length: 0–100