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

Jurisdiction
United States · national
Version
1.0.0
Verification
draft

GovSchema spec v0.2

Authoritative source ESTA

Machine access

Schema document
registry/us/cbp/esta-application/1.0.0/schema.jsonapplication/schema+json
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

  • applicantRole enum required

    Whether 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
  • representativeCompletedOnBehalf boolean optional

    Required 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

  • lastName string required

    Personal 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
  • firstName string required

    Personal identifier; handle as sensitive data.

    length: 1–100
  • dateOfBirth date required

    Personal identifier; handle as sensitive data. Full date, YYYY-MM-DD.

  • sexMarker enum required

    Personal 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
  • countryOfBirth string required

    ISO 3166-1 alpha-2 country code.

    pattern
  • citizenshipCountry string required

    ISO 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
  • passportNumber string required

    Personal 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
  • passportExpirationDate date required

    Full 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.

  • passportBiographicPageImage file required

    Personal 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.

  • applicantSelfiePhoto file required

    Personal 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

  • email string required

    Personal 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
  • phone string required

    Personal identifier; handle as sensitive data. In international E.164 format, e.g. +12025551234.

    pattern
  • employerInformation string required

    Name 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

  • destinationAddressInUS string required

    Address of the first place the applicant intends to stay in the United States.

    length: 0–300
  • usPointOfContactName string required

    Name 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
  • usPointOfContactAddressOrPhone string optional

    Address and/or phone number for the U.S. point of contact named above, when available.

    length: 0–300
  • emergencyContactName string required

    Name of an emergency point of contact, distinct from the U.S. point of contact above.

    length: 0–200
  • emergencyContactPhone string required

    In international E.164 format, e.g. +12025551234.

    pattern

Social media (optional)

  • socialMediaPlatform string optional

    Voluntary. 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–100
  • socialMediaIdentifier string optional

    Voluntary. See socialMediaPlatform.

    length: 0–100

Visa Waiver Program eligibility questions

  • hasCommunicableDiseaseOrDisorder boolean required

    One 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.

  • hasArrestOrConvictionSeriousCrime boolean required

    One of the nine Visa Waiver Program eligibility questions.

  • hasControlledSubstanceViolation boolean required

    One of the nine Visa Waiver Program eligibility questions.

  • hasTerrorismEspionageSabotageGenocideInvolvement boolean required

    One of the nine Visa Waiver Program eligibility questions.

  • hasFraudOrMisrepresentationForUSEntry boolean required

    One of the nine Visa Waiver Program eligibility questions.

  • isSeekingOrHadUnauthorizedUSEmployment boolean required

    One of the nine Visa Waiver Program eligibility questions. The Visa Waiver Program covers business and tourism only, not employment.

  • hasPriorVisaDenialOrRefusedAdmission boolean required

    One of the nine Visa Waiver Program eligibility questions.

  • hasPriorOverstay boolean required

    One of the nine Visa Waiver Program eligibility questions. Any overstay, even by one day, is disclosable here.

  • hasTravelToDesignatedCountriesSinceThreshold boolean required

    One 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

  • paymentMethod enum required

    ESTA application fees are collected through the U.S. government's Pay.gov service.

    enum: credit_card | debit_card | ach_debit
  • applicationSubmittedToCBP boolean required

    Final 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: draft
  • verification.method: manual-source-review-v1
  • verification.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/pip available in this environment) by decompressing the PDF's Flate-encoded content streams and reading the Tj/TJ text-show operator strings directly — the same zlib + parenthesized-string approach used previously for UK gov.uk PDF forms (see the gov-form-pdf-extraction precedent).
  • Secondary/supporting sources (fetched as plain HTML, no workaround needed):
  • 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 label was 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 from esta.cbp.dhs.gov, which this review could not reach. Treat each label as a faithful paraphrase of a confirmed category, not a guaranteed character-for-character match to the live page.
  • Exact sub-field breakdown of employerInformation and usPointOfContactAddressOrPhone. 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 with ie/dttas/driving-licence-renewal and gb/dvla/vehicle-tax's qualitative treatment of fees).
  • Current Visa Waiver Program country list. Deliberately not enumerated as a fixed validation.enum on citizenshipCountry (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.0 document, not an edition-axis schema.
  • Conditional requiredness the v0.2 flat/linear model cannot express (e.g. representativeCompletedOnBehalf only meaningful when applicantRole is representative) 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

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.