How often do EU and US remote job listings disclose salary?
Computed nightly, server-side, from the live RemNavi listings corpus. Organic listings only (sponsored/paid feed rows excluded from every number on this page).
Disclosure rate over time
Two different series, deliberately kept separate – they answer different questions and should never be read as one continuous line.
Recorded daily since August 2026
One data point per calendar day, taken from the permanent history table the night it was computed. These numbers are never revised after the fact, even if the method is later revised to measure it differently.
The headline figure is a 7-day rolling rate: the disclosed listings and the total listings each summed across the last seven recorded days, not an average of seven daily percentages, so a thin day cannot weigh as much as a full one. The window never spans a change of basis or of salary method: when one happens the window restarts, the headline says how many days it covers, and the last complete window is shown beneath it with its own dates and method. A figure that mixed two definitions would be easier to read and impossible to defend.
The line breaks at a basis change. Rows recorded before 2026-09-01 count every publishable listing, expired ones included: the tracked basis. Rows after it count only listings posted within the last 30 days: the live basis. Roughly two thirds of the pool is older than that, so the counts drop sharply at the change: that drop is the definition narrowing, not the market contracting. The two stretches are not one trend and are deliberately not joined, and no day-over-day or week-over-week figure is published across the change.
| Date | EU rate (n) | US rate (n) | Counted on |
|---|---|---|---|
| 2026-08-11 | 7.7% (n=769) | 39.1% (n=3988) | tracked (includes expired) |
| 2026-08-12 | 7.9% (n=749) | 39.2% (n=4018) | tracked (includes expired) |
| 2026-08-13 | 8.5% (n=767) | 39.2% (n=4011) | tracked (includes expired) |
| 2026-08-14 | 8.3% (n=747) | 38.9% (n=4001) | tracked (includes expired) |
| 2026-08-15 | 7.3% (n=726) | 38.9% (n=4051) | tracked (includes expired) |
| 2026-08-16 | 7.6% (n=735) | 39.1% (n=4059) | tracked (includes expired) |
| 2026-08-17 | 7.3% (n=735) | 39.0% (n=4064) | tracked (includes expired) |
| 2026-08-18 | 7.7% (n=751) | 38.7% (n=4067) | tracked (includes expired) |
| 2026-08-19 | 8.0% (n=751) | 38.5% (n=4050) | tracked (includes expired) |
| 2026-08-20 | 7.5% (n=742) | 38.6% (n=4080) | tracked (includes expired) |
| 2026-08-21 | 7.5% (n=732) | 38.5% (n=4099) | tracked (includes expired) |
| 2026-08-22 | 7.5% (n=742) | 38.7% (n=4130) | tracked (includes expired) |
| 2026-08-23 | 7.7% (n=751) | 38.3% (n=4080) | tracked (includes expired) |
| 2026-08-24 | 7.5% (n=730) | 38.3% (n=4094) | tracked (includes expired) |
| 2026-08-25 | 8.2% (n=746) | 38.3% (n=4127) | tracked (includes expired) |
| 2026-08-26 | 7.8% (n=733) | 38.1% (n=4137) | tracked (includes expired) |
| 2026-09-01 | 8.3% (n=745) | 38.3% (n=4188) | tracked (includes expired) |
| 2026-09-02 | 8.2% (n=740) | 38.8% (n=4192) | tracked (includes expired) |
| 2026-09-04 | 8.0% (n=251) | 39.0% (n=1458) | live (posted within 30 days) |
| 2026-09-05 | 10.3% (n=234) | 39.1% (n=1480) | live (posted within 30 days) |
| 2026-09-06 | 8.9% (n=259) | 38.5% (n=1420) | live (posted within 30 days) |
| 2026-09-07 | 10.3% (n=243) | 39.1% (n=1389) | live (posted within 30 days) |
| 2026-09-08 | 12.8% (n=250) | 38.9% (n=1381) | live (posted within 30 days) |
| 2026-09-09 | 9.4% (n=277) | 38.6% (n=1439) | live (posted within 30 days) |
| 2026-09-10 | 9.6% (n=251) | 37.7% (n=1428) | live (posted within 30 days) |
| 2026-09-11 | 5.8% (n=240) | 37.1% (n=1391) | live (posted within 30 days) |
| 2026-09-12 | 6.8% (n=249) | 37.9% (n=1405) | live (posted within 30 days) |
| 2026-09-13 | 7.7% (n=234) | 38.4% (n=1364) | live (posted within 30 days) |
| 2026-09-14 | 9.4% (n=255) | 38.7% (n=1296) | live (posted within 30 days) |
| 2026-09-15 | 9.0% (n=256) | 37.5% (n=1283) | live (posted within 30 days) |
| 2026-09-16 | 9.8% (n=265) | 37.9% (n=1349) | live (posted within 30 days) |
| 2026-09-17 | 4.5% (n=244) | 37.9% (n=1364) | live (posted within 30 days) |
| 2026-09-18 | 6.8% (n=234) | 37.4% (n=1358) | live (posted within 30 days) |
| 2026-09-19 | 12.4% (n=251) | 37.6% (n=1362) | live (posted within 30 days) |
| 2026-09-20 | 10.6% (n=263) | 37.6% (n=1301) | live (posted within 30 days) |
| 2026-09-21 | 4.3% (n=233) | 39.1% (n=1270) | live (posted within 30 days) |
| 2026-09-22 | 4.1% (n=243) | 40.3% (n=1329) | live (posted within 30 days) |
| 2026-09-23 | 3.4% (n=261) | 40.0% (n=1381) | live (posted within 30 days) |
| 2026-09-24 | 6.7% (n=268) | 40.2% (n=1348) | live (posted within 30 days) |
| 2026-09-25 | 5.1% (n=253) | 40.3% (n=1340) | live (posted within 30 days) |
| 2026-09-26 | 5.3% (n=266) | 41.0% (n=1328) | live (posted within 30 days) |
| 2026-09-27 | 6.3% (n=269) | 41.0% (n=1296) | live (posted within 30 days) |
| 2026-09-28 | 10.7% (n=261) | 40.8% (n=1239) | live (posted within 30 days) |
| 2026-09-29 | 8.7% (n=277) | 39.8% (n=1265) | live (posted within 30 days) |
By posting month
Reconstructed from listings' original posted date, computed live each build – not from the recorded history table. Survivorship caveat: this only includes listings that are still live today, so older months systematically undercount – a job posted in February 2026 and since closed contributes to no month here at all. Use the recorded-daily series above for anything that needs to be defensible over time; this series is useful only for a same-build snapshot of "what does the currently-live corpus look like by original post month." The dashed line marks the EU pay-transparency directive's enforcement deadline. Months with fewer than 30 attributable live listings for a region are not drawn.
By country
Shown only where the sample is large enough to mean something: n ≥ 30. Countries below that threshold are still recorded in the raw CSV, just not surfaced here.
EU countries
| Country | Disclosure rate | n |
|---|---|---|
| Ireland | 4.3% | 69 |
| Germany | 0.0% | 50 |
| France | 9.1% | 44 |
These rows cover 163 of the 277 EU-attributed listings. Another 89 are spread across 21 EU countries below the n = 30 display threshold (all in the CSV), and 25 matched only region-level terms ("Europe", "EU") without naming a country.
For comparison: United Kingdom (not EU)
The UK is not an EU member state and is not subject to the EU pay-transparency directive. Shown separately, in its own table, so it is never added into the EU total above.
| Country | Disclosure rate | n |
|---|---|---|
| United Kingdom | 8.2% | 134 |
Where this data comes from
RemNavi aggregates public remote-job listings nightly from 16 sources: Greenhouse, 4 Day Week, Ashby, We Work Remotely, VueJobs, Jobicy, Remote OK, Arbeitnow, Working Nomads, Lever, Remotive, Himalayas, Python.org Jobs, Golang Projects, Hacker News Who's Hiring, Adzuna (paid partner feed, clearly labelled Sponsored). Each source is fetched on its own schedule, normalized into a common schema, and checked against every other listing in the corpus for duplicates (matched on a title-plus-company hash) before it counts toward any public number, including this page. Listings are classified as remote, hybrid, or onsite by the same rubric used everywhere else on the site, and only remote/hybrid/unclear listings that survive deduplication are eligible for the sample this page is computed from. Paid partner listings (Adzuna) are included in the corpus and carry a visible Sponsored label, but are excluded from every rate shown on this page – see Method below for exactly how.
Full methodology for scoring and sourcing: remnavi.com/methodology/.
Method
Sample. Every live listing that passes the site's standard public-listing filter (not a syndicated duplicate, and classified remote, hybrid, or unclear – never onsite). Two variants are computed every night: primary (organic listings only, sponsored feed rows excluded – this is what the page shows) and secondary (every listing, sponsored included – recorded but not displayed).
Salary disclosed. A listing counts as disclosed unless its salary field is empty, "0", "n/a", a lone zero, or a "0-0"-style placeholder – the same normalizer the rest of the site uses to decide whether to show a salary at all. Free-text salary values RemNavi can't cleanly reformat still count as disclosed; only the explicit no-salary placeholders above do not.
Not recorded: 27–31 August and 3 September 2026 (compute outage). A recorded day is never written after the fact, so these days stay empty.
Region and country. Matched case-insensitively, on word boundaries, against the listing's free-text location. EU = any of the 27 EU member states (by name, including the Czechia/Czech Republic variant) or one of 24 major EU cities, or the generic strings "EU" / "European Union" / "Europe". The United Kingdom is matched separately and is not counted as EU. The United States is matched by name, major city, or a real USPS two-letter state code following a comma (e.g. ", CA") – not any two uppercase letters, to avoid false positives from country/province codes. A listing matching only generic remote wording (Remote / Worldwide / Anywhere / Global), with no specific region signal, is region-unattributable – excluded from every regional rate, but its share of the total sample is always shown, never hidden.
Per-country rates are shown only where the sample for that country is n ≥ 30, with n printed next to every rate.
Guardrails. Before publishing a nightly update: total sample size must be within ±40% of the previous recorded day, every rate must land in [0, 100], and the EU and US samples must each clear a minimum floor (EU n ≥ 300, US n ≥ 1000). If any check fails, nothing is published – the site keeps serving the previous day's numbers unchanged, and an alert is sent so a real, sustained problem never sits silently frozen.
Cadence. Computed nightly. Recorded rows are permanent once written. If the method is ever revised, future nights are computed under a new, clearly marked method version, and the change will be documented on this page.
Cite as
Data licensed CC BY 4.0. Every figure on this page comes from the nightly compute stamped 2026-09-29 03:15:01 (UTC). The CSV and JSON API expose that same recorded series, keyed by computed_date – cite the stamp shown here and you can reproduce the exact figures at either URL. If the API's newest computed_at is later than the stamp above, this page is between its nightly rebuilds and the API is the more current of the two.