Skip to content

OFLC Wage Search Tool - Temporary prevailing wage data access during government website downtime. Plan ahead for your next H1B or PERM filing.

Notifications You must be signed in to change notification settings

efJerryYang/wage-search

Repository files navigation

Wage Search Toolkit

Utilities for exploring OFLC prevailing wage level data.

Wage Level Quick Reference

All values are annualized (40 hours x 52 weeks) from the 2026 ALC collection for SOC 15-1252 (Software Developers).

Region CBSA Level I ($/yr) Level II ($/yr) Level III ($/yr) Level IV ($/yr)
Seattle-Tacoma-Bellevue, WA 42660 117,748.80 149,240.00 180,710.40 212,201.60
New York-Newark-Jersey City, NY-NJ 35620 103,209.60 131,996.80 160,804.80 189,592.00
Austin-Round Rock-San Marcos, TX 12420 90,355.20 114,753.60 139,152.00 163,550.40
San Jose-Sunnyvale-Santa Clara, CA 41940 149,364.80 187,740.80 226,137.60 264,513.60
San Francisco-Oakland-Fremont, CA 41860 135,699.20 161,636.80 187,574.40 213,512.00

CLI Usage

Lazy loading defers dataset work until a command needs it.

# Suggest SOC codes (outputs JSON suggestions)
python3 wage_cli.py --zip data/current/OFLC_Wages_2025-26.zip \
  suggest --search "software developer" --top 3 | jq .

# Let the CLI suggest the SOC code, then run wage-search with the top match.
# The JSON payload includes `socSuggestions`, `selectedSoc`, and `selectedSocSource`.
python3 wage_cli.py --zip data/current/OFLC_Wages_2025-26.zip \
  wage-search --collection-type alc --year 2026 \
  --soc-search "software developer" --soc-top 3 \
  --area 42660 --area-type bls_area | jq .

# Explicit SOC + area discovery examples
python3 wage_cli.py --zip data/current/OFLC_Wages_2025-26.zip \
  areas options --state CA --year 2026 | jq .
python3 wage_cli.py --zip data/current/OFLC_Wages_2025-26.zip \
  wage-search --collection-type alc --year 2026 \
  --soc-code 15-1252.00 --area 41860 --area-type bls_area | jq .

Repository Layout

  • wage_cli.py: CLI entry point with SOC suggestion fallback.
  • wage_search/: dataset loader and common helpers shared by the API.
  • fastapi_app.py: FastAPI server exposing the same operations as the CLI.
  • api/: Vercel serverless handlers backed by the shared dataset loader.
  • docs/: Static frontend that consumes the API; configurable via data-api-base.

The toolkit focuses on the CLI and HTTP interfaces.

Web & Deployment Notes

  • Local stack (API + UI): uv run uvicorn fastapi_app:app --reload serves both on http://127.0.0.1:8000.
  • Static host alternative: run uv run uvicorn fastapi_app:app --port 8000 and, in a second shell, python3 -m http.server --directory docs 4173; set body data-api-base="http://127.0.0.1:8000" in docs/index.html if you serve the UI from another origin.
  • Vercel preview: vercel dev mirrors the serverless routing used in production, but each API route starts cold so first calls may take several seconds while dependencies install.

Dataset Sources

About

OFLC Wage Search Tool - Temporary prevailing wage data access during government website downtime. Plan ahead for your next H1B or PERM filing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages