SCA Bid PricerWage determination lookup

How this data is collected and checked

Anyone pricing a federal bid against these numbers deserves to know where they came from and what could be wrong with them. This is the whole pipeline, including the parts that fail.

Where the data comes from

Every rate on this site originates in a wage determination issued by the U.S. Department of Labor and published on SAM.gov. We read the active determinations from SAM.gov’s own search service and parse the published documents. We do not receive data from DOL, we are not given advance notice of revisions, and we have no relationship with either agency.

The official determination incorporated into your solicitation governs. Everything here is a convenience layer over public documents, and where the two disagree, the official one is right and we are wrong.

What is covered

Roughly 1,500 active determinations, in two shapes that behave differently:

How often it is refreshed

The crawler runs weekly. It re-reads the list of active determinations, compares each revision number against what is already stored, and refetches only the ones that moved. A quiet week is one search call and about a thousand skips; a DOL revision cycle refetches only the determinations that actually changed.

This matters for a practical reason: determinations are revised throughout the year and nobody notifies the contractor. A weekly cycle is how the site stays current, and it is also what makes revision alerts possible at all.

What has to be true before a rate is published

A parsed determination is checked before it is stored. If it fails any of these, it is quarantined for review rather than published, and the previously verified revision stays in place. Publishing nothing is better than publishing something plausible and wrong.

CheckWhat it catches
Header completeDetermination number, revision and revision date all present
Row count in range250–450 occupations for a standard determination. A dropped section shows up immediately
Rates plausibleNothing below $5 or above $150 an hour. Senior medical classes legitimately reach the mid-$90s; parse garbage lands far outside
No duplicate occupation codesA repeated code would overwrite one rate with another and price the wrong number
No unexplained blank ratesA class with no rate must carry a recorded reason for it
Unrated classes under 10%A sudden jump in unrated rows is a parser regression, not a DOL change
Health & welfare rate foundA determination with no H&W parsed is a failed parse, not a determination without fringe
No parser warningsOrphaned codes or orphaned rates mean a row was read wrongly
No unexplained rate swingsA rate moving more than 25% against the prior revision is held for verification

What is deliberately left out

Some determinations are withheld on purpose, and it is worth being specific about which.

Certain determinations derived from collective bargaining agreements list the same occupation code more than once, at different rates, for different locations. There is no honest way to reduce that to one number per class. Publishing either rate would look complete and be wrong for half the people reading it, so those determinations are held back rather than flattened.

The same applies to fringe terms that depend on conditions a calculator cannot evaluate. Where a determination cannot be represented accurately, it is not represented.

How your labor categories are matched

Contractors do not use SCA occupation titles internally, so your titles have to be mapped onto the determination’s. That mapping is scored, not guessed at silently:

How the burdened rate is built

The binding base rate for a class is max(determination rate, the wage you plan to pay, the applicable Executive Order minimum), per FAR 22.1002-5. Fringe, leave loading, payroll burden, overhead, G&A and fee are then applied to that base using assumptions you control and can see.

Executive Order minimums are resolved when the calculation runs rather than baked into the stored data, so a change in the law does not require re-crawling every determination. The current default is EO 13658 at $13.65. EO 14026 remains selectable for a contract that already incorporates FAR 52.222-55, but it was revoked in March 2025 and is never applied by default.

Those rates carry a review date, and the weekly crawl reports when it passes. That check exists because they were once allowed to go stale, which is the kind of error that produces a confidently wrong number rather than a visible failure.

Two engines, one answer

The pricing math exists twice — once in the browser so the calculator is instant and your inputs never leave your machine, and once on the server for exports and checks. Both implementations are run against the same determinations and compared, and they have to agree before a change ships. A calculator that quietly disagrees with itself is not worth having.

What this does not do

How to check us

Every determination shown here carries its number, revision and revision date. Take those three things to sam.gov and compare. If you find a rate here that disagrees with the official document, we would genuinely like to know — support@scawages.com. A reported error is worth more to us than a quiet one.

Questions

Where does the wage determination data come from?

SAM.gov, which publishes the determinations issued by the U.S. Department of Labor. We read the same active determinations you would find by searching SAM.gov yourself. We are not a government site and the official determination is always the source of record.

How often is the data refreshed?

Weekly. The crawler re-reads the list of active determinations every Wednesday morning and refetches only those whose revision number has moved, so a determination that has not changed is not re-parsed.

What happens if a determination fails to parse correctly?

It is quarantined rather than published. A parse has to pass every validation gate — header completeness, plausible row count, plausible rate range, no duplicate occupation codes, no unexplained blank rates, a health and welfare rate present, and no parser warnings — before it reaches the site. A failure leaves the previously verified revision in place.

Why are some determinations missing?

Mostly because they could not be reduced to a single rate per class honestly. Some determinations derived from collective bargaining agreements list the same occupation code more than once at different rates for different locations. Publishing one of those rates and discarding the other would look complete and be wrong, so those are held back instead.

How are my labor categories matched to SCA occupations?

By comparing your title to the occupation titles in the determination, using a combination of word overlap and character similarity. A match at or above 85 per cent confidence is priced. Below that it is flagged for you to confirm rather than priced silently, and a title that matches nothing is surfaced as a possible conformance candidate under SF-1444.

Use the pricer →

Informational only, and not legal advice. The wage determination incorporated into your solicitation governs, and coverage turns on the facts of your particular contract. When real money rides on the answer, confirm it with the contracting officer or counsel.