Skip to content
Eden Engine

H-1B Visa Salary Records (by Year, Paginated)

omnial/get-h1b-salaries

Given a filing year and a page number, returns one page of public H-1B visa petition salary records for that year -- up to 100 records per page, each with the sponsoring company, its domain, job title, official occupation title, wage, wage level, worksite city/state, filing case status, and key dates -- plus the total page and record counts for the year so a caller can page through the full dataset.

activeper callv2

Price

Up to $0.0137 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.

Data source

Levels.fyi

Data from Levels.fyi.

Use it

Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.

Connect once and your AI can find and run this tool, and any other it needs.

For developers: the calls your assistant makes
agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/get-h1b-salaries" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/get-h1b-salaries" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/get-h1b-salaries", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/get-h1b-salaries", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0137
Updated
Oct 27, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "year"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "description": "Page number for pagination (starts at 1)."
    },
    "year": {
      "type": "integer",
      "description": "Year of H-1B records. Valid values include 2020 through 2025."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "page": {
          "type": "number",
          "description": "Echoes the requested page number."
        },
        "year": {
          "type": "number",
          "description": "Echoes the requested year."
        },
        "records": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "city": {
                "type": "string",
                "description": "Worksite city."
              },
              "wage": {
                "type": "number",
                "description": "Annual wage in USD."
              },
              "year": {
                "type": "number",
                "description": "Filing year, matching the requested year."
              },
              "state": {
                "type": "string",
                "description": "Worksite state abbreviation."
              },
              "company": {
                "type": "string",
                "description": "The sponsoring employer's name."
              },
              "hd_flag": {
                "type": "number",
                "description": "Present only on some records, always observed as 1 when present, absent otherwise. Meaning is not documented by the provider and was not confirmed from any real call -- treat as an opaque flag, not guaranteed to be present."
              },
              "job_title": {
                "type": "string",
                "description": "The employer's own job title."
              },
              "soc_title": {
                "type": "string",
                "description": "The standardized occupation title the job title maps to."
              },
              "wage_level": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "DOL prevailing-wage level, e.g. 'II'/'III'/'IV'. Observed null on many records -- do not assume this is always present."
              },
              "case_status": {
                "type": "string",
                "description": "e.g. 'Certified', 'Certified - Withdrawn' -- observed values, not an exhaustive enum."
              },
              "employer_type": {
                "type": "string",
                "description": "A short employer-classification code (single letters observed: C, E, N, A, P, X). The provider does not document what each letter stands for and no legend was observed in any real call -- pass through as an opaque code."
              },
              "company_domain": {
                "type": "string",
                "description": "The sponsoring employer's own web domain, e.g. 'google.com'."
              },
              "lca_accepted_date": {
                "type": "string",
                "description": "The date the filing was accepted, e.g. 'Oct 22, 2024'."
              },
              "employment_begin_date": {
                "type": "string",
                "description": "e.g. 'Dec 31, 2024'."
              }
            },
            "additionalProperties": true
          },
          "description": "Up to 100 records on the one populated page observed."
        },
        "totalPages": {
          "type": "number",
          "description": "Total pages available for this year at the page size observed (100)."
        },
        "totalRecords": {
          "type": "number",
          "description": "Total records available for this year."
        }
      },
      "additionalProperties": true
    },
    "status": {
      "type": "string",
      "description": "'success' on the one populated call observed."
    }
  },
  "description": "The H-1B salary page record. A page past the last one for the requested year returns an empty object ({}) -- this is a genuine 'no more pages' result, not an error.",
  "additionalProperties": true
}