Free financial calculators. No signup. 100% private. Data sourced from IRS.gov and BLS.gov.

Home › Embeddable salary cards

Free embeddable salary cards

Paste one line of HTML and your page shows current U.S. pay for any of 1,008 jobs: what the job pays at entry, at the median, and at the top of its range. It is free, it needs no account or API key, and it sets no cookies.

Wage figures: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025. Cards are rebuilt whenever that data changes.

Pick a job

Start typing. Click a job to preview its card and get the code.

    Your code

    The code, written out

    Every card lives at a URL built from the job slug, so you can write the markup yourself without using the picker above:

    <iframe src="https://paycrunch.co/embed/registered-nurse-salary.html"
            title="Registered Nurse salary — PayCrunch"
            width="100%" height="230"
            style="border:0;max-width:420px" loading="lazy"></iframe>

    The slug is the same one the job page uses. /jobs/registered-nurse-salary.html becomes /embed/registered-nurse-salary.html. The full list of 1,008 slugs is at /data/embed-index.json.

    Optional: let the card size itself

    A fixed height of 230 pixels fits every card at normal widths. If you would rather the frame shrink to the card exactly, add this once anywhere on your page — the card already posts its height, and does nothing if you skip this:

    <script>
    addEventListener('message', function (e) {
      if (!e.data || !e.data.paycrunchEmbed) return;
      var f = document.querySelector(
        'iframe[src*="/embed/' + e.data.slug + '.html"]');
      if (f) f.style.height = e.data.height + 'px';
    });
    </script>

    Terms, in plain words

    • Free, commercially too. News sites, staffing firms, schools, personal blogs — all fine, no permission needed.
    • Leave the attribution link. The small “Source: PayCrunch” link at the foot of the card is the price. It is marked rel="nofollow" on purpose.
    • Do not rewrite the anchor text. Keyword-stuffed widget links are a link scheme under Google’s guidelines, and they would put both sites at risk.
    • Do not present the estimate as BLS data. Cards for occupations the Bureau does not publish separately say “Est. ceiling” and name the estimate on the card. Leave that wording in place.
    • No warranty. These are public wage statistics, not an offer of employment or a salary guarantee.

    Want the numbers without the markup? The free JSON API returns the same data under the same terms, and the best-paying-states dataset is published under CC BY 4.0.

    What is on a card

    • Entry — the 10th-percentile annual wage: what the bottom of the field earns, not a starting-salary survey.
    • Median — the midpoint. Half the field earns more.
    • Top of range — the highest figure the data supports, taken from the best-paying state where that state employs at least 500 people in the occupation. Below that floor the national figure is used instead, because a state-level wage drawn from a handful of workers is noise.

    The bar underneath shows where the median sits between entry and top. The card names its own source in the footer, and links to the full job page, which carries the state-by-state breakdown, the tasks the job actually involves, and the tools that move pay in that field.

    Questions

    Is it really free?

    Yes. No account, no key, no rate limit, no charge. The cards are static HTML files served from the same host as the rest of the site. The only condition is that you leave the attribution link in place.

    Where do the numbers come from?

    Every figure on a card is the figure on the matching PayCrunch job page. Pages carrying a SOC code use the U.S. Bureau of Labor Statistics Occupational Employment and Wage Statistics release for May 2025: the 10th percentile as entry, the median, and the top of the range. Pages for occupations BLS does not publish separately carry a figure labelled on the card as a PayCrunch estimate, so a reader can always tell the two apart.

    Will the card change under me?

    The wage figures change when BLS publishes a new release, roughly once a year, and the card updates with it. The URL does not change, so an embed placed today keeps working and keeps showing current figures.

    Does the card track my readers?

    No. The card sets no cookie, loads no third-party script, and sends no analytics. It is one HTML file with inline CSS and a few lines of JavaScript that report the card's own height to your page if you ask for it.

    Can I restyle it or pull the raw numbers instead?

    The card itself is fixed, but it follows your reader's light or dark mode. If you want to build your own display, use the free JSON API at /api.html — same data, no markup, same terms.

    What counts as proper attribution?

    The card ships with a plain "Source: PayCrunch" link marked rel="nofollow". Leave it as it is. Do not change the anchor text to a keyword phrase: Google has treated keyword-rich widget links as a link scheme since 2016, and that would hurt both of us.

    How this page is built

    The cards, the job index and this page are generated by .github/embed-engine/build_embed.py from data/pagedata.json, the same file the job pages read. There are 1,008 cards covering every job page on the site. Nothing on a card is typed by hand, so a card and its job page cannot disagree.

    Cards carry noindex,follow. They are meant to be framed on your page, not crawled as a thousand more pages on ours.

    IRS.gov data
    BLS.gov verified
    All 50 states
    No signup required
    Career Intelligence
    Get the AI briefing for your career.

    Free. No spam. We never sell your email.

    paycrunch.co · About · Contact · Privacy · Terms · All Calculators