The full published distribution
10th, 25th, median, 75th, and 90th percentile wages stay together, including visible suppression states.
Loading WageScope
Privacy choices
Analytics and advertising stay off unless you allow them. Private data stays out.
Current BLS release · May 2025 estimates
Search the official BLS distribution, compare the same occupation across places, and move from a market estimate to a real job you can prepare for.
WageScope does not estimate your personal offer. It shows published OEWS estimates for wage and salary workers in covered establishments.
Built for decisions
WageScope reads the official national, state, metro, and nonmetro products directly. It never averages local percentiles to invent a state or U.S. number.
10th, 25th, median, 75th, and 90th percentile wages stay together, including visible suppression states.
Area rank, location quotient, jobs per 1,000, employment, and reliability fields change with each BLS row.
Eligible MeritLog listings can lead into résumé tailoring, but posted pay never rewrites the BLS estimate.
Start with a role
830
detailed occupations
583
unique public places
223,923
source-backed public pages
Plain-language guide
Start with a role, add a place when it helps, keep each source in its lane, and move to one real job before you tailor.
From market data to your evidence
Pick an eligible listing, then MeritLog can help you prepare from experience you have confirmed. WageScope never turns a BLS estimate into a qualification or résumé claim.
The private workspace is still release-gated. You can review jobs and templates now; nothing here is saved or analyzed.

What WageScope is for
WageScope explains official pay data for 830 detailed occupations and 583 unique public state or local places. Start with a job title. Add a place only when the place changes the question. The page then keeps the role code, area code, wage field, and source date in view.
A national occupation page answers what the role pays across the United States. A local page answers what the same role pays in one BLS area. An area page shows the all-occupations wage and a bounded role mix. A two-place page compares one role and one wage field across two exact areas.
The goal is a clear answer, not a wall of numbers. Each detail page opens with the median, source period, and job count. Charts add the wage spread or place gap. Tables keep exact values in reach. Plain notes say what the source leaves out. One job action comes after the wage answer.
Evidence: bls-oews-may-2025 · Rule: route-purpose-map · answer-first-layout · one-role-one-place-question
Step one
BLS gives each detailed occupation a six-digit SOC code. The code matters because some titles sound alike. A cashier is not a stocker. A software developer is not every computer role. WageScope keeps the official title and code together so a broad search label does not blur two wage rows.
The occupation library has 830 detailed rows in this pinned release. Search by the words a worker or employer would use. Open a result and read the official title before you use the number. If the title does not fit the work, go back and choose a closer row.
A role page can show nearby occupations in the same major group. Those links are a source-backed way to keep looking. They are not skill matches or career advice. Similar pay does not mean similar work. Open each page and check the code, job count, wage spread, and place pattern on its own.
Evidence: bls-oews-may-2025 · Rule: soc-identity · occupation-search-recovery · no-skill-inference
Step two
Median means the middle of a wage spread. Half of the wage values used in the estimate fall below it. Half fall above it. Mean adds the wage values and splits the total by the number of jobs behind the estimate. The two marks can differ because a wage spread is not always even.
Percentiles add more of the range. The 10th and 25th points show the lower side. The 75th and 90th points show the upper side. A percentile is a rank point, not a career stage. The 10th point is not a promised start wage. The 90th point is not a wage that comes after a set time.
A posted job range can sit below, across, or above the BLS marks. Keep the post tied to its employer and date. Keep the BLS range tied to the whole occupation and release. A gap can lead to a useful question, but it does not prove that the post or the survey is wrong.
Evidence: bls-oews-may-2025 · Rule: median-mean-definition · percentile-rank-definition · posted-pay-separation
Step three
The BLS source has 584 area rows. WageScope publishes 583 unique places because one Guam nonmetro row duplicates the Guam territory row and stays out of public discovery. The library includes states, metro areas, and nonmetro areas. These shapes are not the same.
A local role page uses the exact occupation and area row. It can add the matching state row when the link is clear. It also shows the U.S. row. Each row keeps its own name and values. WageScope does not fill a missing local row with a state wage or copy a nearby metro.
WageScope ranks a state with states, a metro with metros, and a nonmetro area with nonmetro areas. The national row stays a broad bench mark. Pay, job count, jobs per 1,000, and location quotient answer different place questions. None is a place score.
Evidence: bls-oews-may-2025 · Rule: duplicate-source-geography-deduplication · area-type-separation · exact-occupation-area-row · metric-separation
Place comparison
A fair place pair keeps the occupation, wage field, and BLS release the same. WageScope compares annual with annual or hourly with hourly. It shows the full wage ladder when both rows have the fields. Reverse city order leads to one canonical page, so the same pair does not become two search pages.
Where an exact BEA row exists, WageScope can add 2024 price-level context. The current pinned BEA file has 438 exact BLS state or metro matches. The all-items index uses the United States at 100. Housing, goods, utilities, and other services remain visible as separate parts.
The national-price-dollar proxy divides a nominal wage by the all-items index divided by 100. The math is shown. The result is not take-home pay or a personal budget. It leaves out taxes, benefits, household size, debt, commute, and taste. It adds one broad price view, not a full move answer.
Evidence: bls-oews-may-2025 · bea-rpp-2024 · meritlog-bounded-comparison-v1 · Rule: same-metric-pair · canonical-area-pair · price-level-adjusted-formula
Survey care
BLS uses a survey and models to make OEWS estimates. It can leave a field blank. A blank does not mean zero. Some high wage fields are top coded. A top code means the value is at least the shown bound. WageScope keeps that state instead of making a more exact number.
RSE means relative standard error. It is a survey precision flag for the field beside it. Employment RSE stays with the job count. Mean-wage RSE stays with the mean. WageScope does not move either mark to the median or each percentile. It does not turn RSE into a chance that one worker's pay is right.
The safest reading is narrow. Use the source date. Use the exact field. Keep the map type and role code. Read job count apart from open posts. Read the price index apart from the wage source. If the source cannot answer a point, let the page say so.
Evidence: bls-oews-may-2025 · Rule: suppression-preservation · rse-field-scope · narrow-source-reading
From data to action
WageScope ends with one clear job action. The role page can show eligible employer-title matches from MeritLog's public catalog. The match is strict on purpose. It can miss a useful post, but it should not fill a wage page with a different role. The full job search remains the recovery path.
Open a listing and read its own level, place, pay, and needs. Compare posted pay with the BLS spread only as context. The post may use a broad title or a narrow title. It may ask for work that the official SOC label does not name. The listing remains the source for that employer's request.
Tailor from work facts you can back up. A wage number is not a skill. A BLS job count is not an achievement. A price proxy is not a work result. MeritLog can help shape confirmed evidence for the chosen job. The public WageScope visit does not create the draft.
Evidence: bls-oews-may-2025 · meritlog-public-job-boundary-v1 · Rule: one-primary-job-action · strict-employer-title-match · confirmed-resume-evidence
Source clock
May 2025 OEWS estimates is the wage source used across WageScope. The reference period is May 2025. BLS published the release on May 15, 2026. A current job post may have a newer date, but that does not make the government wage row newer. Each source keeps its own clock.
MeritLog checks the official BLS tables each week. A newer complete release blocks the word latest until the new files are pinned, checked, and reviewed. The old page does not change its date to look fresh. A source update can replace the data only after the new bundle passes the same row, field, and page checks.
BEA price-level data has a separate clock. The current WageScope price source is for 2024. It was published on February 19, 2026. WageScope shows the wage and price periods together when both are used. It never says the two sources describe the same month.
Evidence: bls-oews-may-2025 · bea-rpp-2024 · Rule: visible-source-period · independent-source-freshness · no-false-freshness
Jobs stay separate
A public job card can add an employer, title, place, source, and seen date. WageScope keeps only strict employer-title matches for a reviewed occupation. It may show no cards even when the wage row is complete. A false negative is safer here than a card for the wrong role.
A listing may show posted pay. That range belongs to one employer post. It never enters the BLS median, mean, percentile, employment count, or price-level proxy. A list of posts also does not become a hiring score. The BLS row and the public catalog answer different questions on different clocks.
The stable content gate ignores job-card words. Jobs can change at any time, so they cannot decide whether an evergreen page has enough depth or unique source-backed text. When the catalog is empty or down, the wage page stays available and says what happened. It does not insert sample jobs into an indexable page.
Evidence: bls-oews-may-2025 · meritlog-public-job-boundary-v1 · Rule: strict-employer-title-match · posted-pay-separation · jobs-excluded-from-content-gate
Public and read only
A WageScope page reads public government facts and eligible public job fields. It does not read Career Memory, private jobs, a pasted job description, exact private pay, or a saved résumé. Opening a role or place does not create a private fact. A public GET request does not start a model task.
The page does not save a search, role, place, wage, or job card to build a private MeritLog profile. While public analytics are on, GA4, Ahrefs, and Meta may receive the public page URL; Your Privacy Choices or Global Privacy Control turns that off. WageScope can work for a visitor who never signs in.
Résumé work begins only after a person chooses a job and enters the governed MeritLog path. The person confirms the work facts used in a draft. A BLS wage, area rank, job count, or price proxy cannot become a résumé claim. The public page remains useful even when the private workspace is closed.
Evidence: bls-oews-may-2025 · meritlog-public-job-boundary-v1 · Rule: public-private-separation · no-get-write · confirmed-resume-evidence