<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yusuke Suda</title>
    <description>The latest articles on DEV Community by Yusuke Suda (@listingworks).</description>
    <link>https://dev.to/listingworks</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4197334%2F96f931fa-91f5-4cd2-a87c-d32c83546083.png</url>
      <title>DEV Community: Yusuke Suda</title>
      <link>https://dev.to/listingworks</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/listingworks"/>
    <language>en</language>
    <item>
      <title>Which Polish job ads state pay? Transport 37%, health care under 5% (28 October 2026)</title>
      <dc:creator>Yusuke Suda</dc:creator>
      <pubDate>Thu, 29 Oct 2026 00:04:45 +0000</pubDate>
      <link>https://dev.to/listingworks/which-polish-job-ads-state-pay-transport-37-health-care-under-5-28-october-2026-242d</link>
      <guid>https://dev.to/listingworks/which-polish-job-ads-state-pay-transport-37-health-care-under-5-28-october-2026-242d</guid>
      <description>&lt;p&gt;One in five Polish job ads says what the job pays. That average hides a wide spread: whether you see a number depends far more on the kind of job than on where it is.&lt;/p&gt;

&lt;p&gt;Every day I count the live job ads on the public list pages of Praca pl, one of Poland's large general job boards, and publish the totals as a free dataset. This post uses the snapshot of &lt;strong&gt;28 October 2026&lt;/strong&gt;: &lt;strong&gt;16,531 live ads&lt;/strong&gt;, of which &lt;strong&gt;3,107 (18.8%) state pay&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pay stated, by type of job (28 Oct)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type of job&lt;/th&gt;
&lt;th&gt;Live ads&lt;/th&gt;
&lt;th&gt;State pay&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Transport &amp;amp; logistics&lt;/td&gt;
&lt;td&gt;1,617&lt;/td&gt;
&lt;td&gt;36.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cleaning &amp;amp; security&lt;/td&gt;
&lt;td&gt;152&lt;/td&gt;
&lt;td&gt;31.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Education&lt;/td&gt;
&lt;td&gt;280&lt;/td&gt;
&lt;td&gt;27.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Production&lt;/td&gt;
&lt;td&gt;2,512&lt;/td&gt;
&lt;td&gt;22.4%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sales &amp;amp; customer service&lt;/td&gt;
&lt;td&gt;2,589&lt;/td&gt;
&lt;td&gt;19.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other&lt;/td&gt;
&lt;td&gt;1,594&lt;/td&gt;
&lt;td&gt;18.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Engineering &amp;amp; technical&lt;/td&gt;
&lt;td&gt;2,712&lt;/td&gt;
&lt;td&gt;17.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Management&lt;/td&gt;
&lt;td&gt;407&lt;/td&gt;
&lt;td&gt;17.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Construction&lt;/td&gt;
&lt;td&gt;625&lt;/td&gt;
&lt;td&gt;13.4%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Finance, admin &amp;amp; HR&lt;/td&gt;
&lt;td&gt;2,067&lt;/td&gt;
&lt;td&gt;13.4%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hospitality &amp;amp; food&lt;/td&gt;
&lt;td&gt;498&lt;/td&gt;
&lt;td&gt;8.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IT&lt;/td&gt;
&lt;td&gt;306&lt;/td&gt;
&lt;td&gt;7.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Health care&lt;/td&gt;
&lt;td&gt;1,172&lt;/td&gt;
&lt;td&gt;4.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The jobs that show pay most often are drivers, warehouse staff, cleaners and security, where candidates are likely to compare offers on pay first. Office, IT and health-care ads mostly leave it out, even though these are not low-paid fields.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pay stated, by region (28 Oct)
&lt;/h3&gt;

&lt;p&gt;The regional gap is real but smaller than the gap between job types. Mazowieckie (Warsaw) is highest at &lt;strong&gt;27.3%&lt;/strong&gt; of 3,184 ads. Most regions sit between 14% and 22%, and the lowest are Lubelskie (&lt;strong&gt;9.6%&lt;/strong&gt;), Warmińsko-Mazurskie (&lt;strong&gt;10.1%&lt;/strong&gt;) and Świętokrzyskie (&lt;strong&gt;10.7%&lt;/strong&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Jobs abroad: more pay, stated more often
&lt;/h3&gt;

&lt;p&gt;688 of the ads are for work outside Poland. &lt;strong&gt;38.1%&lt;/strong&gt; of them state pay, twice the domestic rate, and the median stated pay is &lt;strong&gt;12,000 PLN a month&lt;/strong&gt;, against 6,000–7,500 PLN in the Polish regions. Production jobs abroad have a median of 14,000 PLN and engineering &amp;amp; technical jobs 13,600 PLN.&lt;/p&gt;

&lt;h3&gt;
  
  
  One week on
&lt;/h3&gt;

&lt;p&gt;A week earlier, on 21 October, there were &lt;strong&gt;17,138&lt;/strong&gt; live ads and &lt;strong&gt;19.1%&lt;/strong&gt; stated pay. On 28 October there were 16,531 (&lt;strong&gt;−3.5%&lt;/strong&gt;) and 18.8%. So the share is steady: there is no sign yet of employers adding pay ahead of the EU Pay Transparency Directive, which requires employers to give candidates pay information before the interview, though not necessarily in the ad itself.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to read these numbers
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;They are counts of ads on one board's public list pages, not of vacancies or people, and one employer can post several ads.&lt;/li&gt;
&lt;li&gt;"States pay" means the list page shows a pay figure or range. An ad may still give pay further down its own page.&lt;/li&gt;
&lt;li&gt;Types of job are 13 broad groups assigned to each ad. Small groups (cleaning &amp;amp; security, education, IT) move a lot from day to day, so compare them over several days before drawing conclusions.&lt;/li&gt;
&lt;li&gt;Medians are of the stated monthly pay figures only.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The daily files (live, new and removed ads, ads with pay, and median stated pay by region and by type of job) are free on Hugging Face (huggingface.co/datasets/listingworks). The same counts for the UK, Latvia, Croatia, Denmark and Pakistan come from small stats Actors on Apify (apify.com/listingworks).&lt;/p&gt;

</description>
      <category>career</category>
      <category>opendata</category>
      <category>poland</category>
      <category>datascience</category>
    </item>
    <item>
      <title>How many job ads state pay? Latvia 98%, UK 72%, Poland 19%, Pakistan 6%</title>
      <dc:creator>Yusuke Suda</dc:creator>
      <pubDate>Tue, 27 Oct 2026 00:30:37 +0000</pubDate>
      <link>https://dev.to/listingworks/how-many-job-ads-state-pay-latvia-98-uk-72-poland-19-pakistan-6-170n</link>
      <guid>https://dev.to/listingworks/how-many-job-ads-state-pay-latvia-98-uk-72-poland-19-pakistan-6-170n</guid>
      <description>&lt;p&gt;&lt;em&gt;Counts from public job-board list pages in October 2026. Aggregates only, no personal data.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every day I read the public list pages of national job boards and count what they show. One column turns out to differ more between countries than almost anything else: whether the posting states a salary at all.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Country (board)&lt;/th&gt;
&lt;th&gt;Postings read&lt;/th&gt;
&lt;th&gt;State pay&lt;/th&gt;
&lt;th&gt;Share&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Latvia (cv lv)&lt;/td&gt;
&lt;td&gt;2,173&lt;/td&gt;
&lt;td&gt;2,139&lt;/td&gt;
&lt;td&gt;98%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UK (reed, newest 3,000)&lt;/td&gt;
&lt;td&gt;3,000&lt;/td&gt;
&lt;td&gt;2,163&lt;/td&gt;
&lt;td&gt;72%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Poland (Praca pl, all live)&lt;/td&gt;
&lt;td&gt;15,875&lt;/td&gt;
&lt;td&gt;2,961&lt;/td&gt;
&lt;td&gt;19%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Croatia (mojposao)&lt;/td&gt;
&lt;td&gt;1,595&lt;/td&gt;
&lt;td&gt;195&lt;/td&gt;
&lt;td&gt;12%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pakistan (rozee, first 3,000)&lt;/td&gt;
&lt;td&gt;3,000&lt;/td&gt;
&lt;td&gt;168&lt;/td&gt;
&lt;td&gt;6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Denmark (jobindex)&lt;/td&gt;
&lt;td&gt;732&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;not shown on list pages&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Latvia, UK, Croatia, Pakistan and Denmark: 15 October 2026. Poland: 26 October 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the gap means
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Latvia is near 100% because the board requires it.&lt;/strong&gt; A rule on the platform does more than any market habit: 34 postings out of 2,173 had no figure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The UK is a habit, not a rule.&lt;/strong&gt; Seven in ten of the newest Reed postings state a lower bound, and it is enough to compute regional medians (London GBP 35,500 a year, South East GBP 35,000, North West GBP 32,000).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Poland varies by region far more than by board.&lt;/strong&gt; On 26 October the share was 26.9% in Mazowieckie (Warsaw's region, 3,068 live postings) but 9.3% in Lubelskie and 9.9% in Warmińsko-Mazurskie. Ten of the sixteen voivodeships are between 14% and 22%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pakistan barely states pay&lt;/strong&gt; (168 of 3,000), so medians exist only for the largest cities: Lahore PKR 62,500 a month, Islamabad PKR 50,000, Karachi PKR 46,800.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Denmark's jobindex shows no pay on its search pages at all&lt;/strong&gt;, so a Danish pay series has to come from somewhere else.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it matters for anyone using job-ad data
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;A median of advertised pay is a median of the postings that chose to show it. In a 6% market it describes a small and probably unusual group.&lt;/li&gt;
&lt;li&gt;Comparing pay between countries from job ads mixes a measurement difference with a pay difference. Compare the disclosure share first.&lt;/li&gt;
&lt;li&gt;Within one country, a region with low disclosure is not necessarily a low-pay region; it is a region where the number is less reliable.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How the numbers are made
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Public list (search) pages only, read once a day; posting pages are never opened.&lt;/li&gt;
&lt;li&gt;A posting is counted once per town; regions are mapped from the place text with a small table per country.&lt;/li&gt;
&lt;li&gt;"States pay" means the list page shows a figure; the median uses the lower bound of a range, never mixes currencies or periods, and is shown only where at least five values exist.&lt;/li&gt;
&lt;li&gt;Employer names that are a person's name are not kept.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get the data
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Daily tables for these boards (counts, new and removed postings, pay share and medians by region), free: &lt;a href="https://huggingface.co/datasets/listingworks" rel="noopener noreferrer"&gt;huggingface.co/datasets/listingworks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Run the scrapers yourself, pay per result: &lt;a href="https://apify.com/listingworks" rel="noopener noreferrer"&gt;apify.com/listingworks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Daily files per source by subscription: &lt;a href="https://listingworks.net" rel="noopener noreferrer"&gt;listingworks.net&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Yusuke Suda, listingworks (Yokohama). Corrections welcome by email: &lt;a href="mailto:yusuke@listingworks.net"&gt;yusuke@listingworks.net&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>data</category>
      <category>opendata</category>
      <category>analytics</category>
      <category>career</category>
    </item>
    <item>
      <title>PHP2Shell (CVE-2026-109618/109619): a 10-minute checklist for site owners</title>
      <dc:creator>Yusuke Suda</dc:creator>
      <pubDate>Thu, 22 Oct 2026 07:30:11 +0000</pubDate>
      <link>https://dev.to/listingworks/php2shell-cve-2026-109618109619-a-10-minute-checklist-for-site-owners-1kk7</link>
      <guid>https://dev.to/listingworks/php2shell-cve-2026-109618109619-a-10-minute-checklist-for-site-owners-1kk7</guid>
      <description>&lt;p&gt;On 21 October 2026 the PHP project shipped an emergency security release for two critical remote-code-execution bugs, CVE-2026-109618 and CVE-2026-109619, nicknamed "PHP2Shell". A working exploit exists and, according to reports, a single unauthenticated request can trigger it before any application code runs. This is a plain checklist of what to do, collected from the public advisories listed at the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Know the fixed versions
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Branch&lt;/th&gt;
&lt;th&gt;Fixed in&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;8.5&lt;/td&gt;
&lt;td&gt;8.5.12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8.4&lt;/td&gt;
&lt;td&gt;8.4.27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8.3&lt;/td&gt;
&lt;td&gt;8.3.36&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8.2&lt;/td&gt;
&lt;td&gt;8.2.35&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8.1 and older&lt;/td&gt;
&lt;td&gt;no official release; source backports exist for 7.4, 8.0 and 8.1, otherwise ask your vendor or upgrade&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every PHP installation that serves web requests is in scope (PHP-FPM, Apache with mod_php, CGI, FrankenPHP, LiteSpeed). Setups using mod_php are described as the most exposed.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Find out what you are running
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WordPress:&lt;/strong&gt; Tools → Site Health → Info → Server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shell access:&lt;/strong&gt; &lt;code&gt;php -v&lt;/code&gt; (and check the version your web server actually uses, which can differ from the CLI).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caveat:&lt;/strong&gt; Linux distributions often backport fixes without changing the version number. An older-looking number is not proof you are unpatched; check your distribution's or host's security notice.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Act according to how you host
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Managed WordPress hosting:&lt;/strong&gt; look for your host's status page or e-mail confirming the patch. Usually nothing to do.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shared hosting:&lt;/strong&gt; ask your host directly whether the 21 October release is applied. If your PHP selector shows 8.1 or older, move to 8.2+.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VPS / self-managed:&lt;/strong&gt; install your distribution's updated PHP packages now and restart PHP-FPM / the web server so every worker runs the fixed build. Remi repository users were advised that updates would not be available on release day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Behind Cloudflare:&lt;/strong&gt; Cloudflare deployed WAF rules for known vectors. Check they are set to block, not log. Treat this as a stop-gap, not a fix.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stuck on 8.1 or older:&lt;/strong&gt; take a full backup, test 8.2+ on a staging copy, then switch.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  4. If you cannot patch today
&lt;/h2&gt;

&lt;p&gt;Advisories mention disabling &lt;code&gt;session.upload_progress.enabled&lt;/code&gt; as an interim measure against one vector of CVE-2026-109619, and the UK NCSC recommends taking systems offline if they cannot be fixed promptly. Only the update is a complete fix.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Help Net Security: &lt;a href="https://www.helpnetsecurity.com/2026/10/21/php2shell-php-vulnerabilities-patched-cve-2026-109618-cve-2026-109619/" rel="noopener noreferrer"&gt;https://www.helpnetsecurity.com/2026/10/21/php2shell-php-vulnerabilities-patched-cve-2026-109618-cve-2026-109619/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Codeable (WordPress guidance): &lt;a href="https://www.codeable.io/blog/php-vulnerability-cve-2026-109618/" rel="noopener noreferrer"&gt;https://www.codeable.io/blog/php-vulnerability-cve-2026-109618/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;IPA (Japan) alert: &lt;a href="https://www.ipa.go.jp/security/security-alert/2026/pre-alert20261021.html" rel="noopener noreferrer"&gt;https://www.ipa.go.jp/security/security-alert/2026/pre-alert20261021.html&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Written by listingworks, a small data service in Yokohama. Facts as of 22 October 2026; check the advisories above for updates.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>php</category>
      <category>wordpress</category>
      <category>webdev</category>
    </item>
    <item>
      <title>What nine job and property sites were advertising in mid-October 2026</title>
      <dc:creator>Yusuke Suda</dc:creator>
      <pubDate>Wed, 21 Oct 2026 07:28:55 +0000</pubDate>
      <link>https://dev.to/listingworks/what-nine-job-and-property-sites-were-advertising-in-mid-october-2026-13le</link>
      <guid>https://dev.to/listingworks/what-nine-job-and-property-sites-were-advertising-in-mid-october-2026-13le</guid>
      <description>&lt;p&gt;&lt;em&gt;One-day snapshots from public list pages in the UK, Denmark, Croatia, Latvia, Pakistan, Luxembourg, Spain, India and Slovakia — counts and medians only, no personal data.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Official labour and housing statistics arrive weeks or months after the fact. The listing sites themselves update every hour. At listingworks I read the public list pages of job boards and property portals every day and turn them into small aggregate tables: how many postings or listings there are by region, and what pay or price they advertise. This is what nine of those sites showed on &lt;strong&gt;15 October 2026&lt;/strong&gt; (all reads between 07:52 and 08:08 UTC).&lt;/p&gt;

&lt;p&gt;Two cautions before the numbers. First, these are &lt;strong&gt;samples of the first N listings each search returned&lt;/strong&gt;, not counts of the whole market; where the site publishes its own total I give it next to the sample. Second, pay and prices are &lt;strong&gt;advertised lower bounds&lt;/strong&gt;, only from postings that state them, and medians are shown only where at least five values exist. Nothing here comes from a posting page, an employer name, or a contact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Jobs: postings by region and advertised pay
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Site (country)&lt;/th&gt;
&lt;th&gt;Postings read&lt;/th&gt;
&lt;th&gt;Site's own total&lt;/th&gt;
&lt;th&gt;Largest regions in the sample&lt;/th&gt;
&lt;th&gt;Median advertised pay (lower bound)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;reed.co.uk (UK)&lt;/td&gt;
&lt;td&gt;3,000 newest&lt;/td&gt;
&lt;td&gt;99,651 live&lt;/td&gt;
&lt;td&gt;South East 635 · London 564 · North West 358&lt;/td&gt;
&lt;td&gt;London GBP 35,500/yr · South East GBP 35,000 · North West GBP 32,000 (2,163 of 3,000 state pay)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;jobindex.dk (DK)&lt;/td&gt;
&lt;td&gt;732&lt;/td&gt;
&lt;td&gt;~19,000 live&lt;/td&gt;
&lt;td&gt;Hovedstaden 246 · Syddanmark 130 · Midtjylland 129&lt;/td&gt;
&lt;td&gt;not shown on list pages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cv.lv (LV)&lt;/td&gt;
&lt;td&gt;2,173&lt;/td&gt;
&lt;td&gt;2,174&lt;/td&gt;
&lt;td&gt;Rīga 1,631 · Pierīga 192 · Zemgale 82&lt;/td&gt;
&lt;td&gt;Rīga EUR 2,000/mo · Pierīga EUR 1,950 · Zemgale EUR 1,800 (2,139 state pay)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mojposao.hr (HR)&lt;/td&gt;
&lt;td&gt;1,595&lt;/td&gt;
&lt;td&gt;1,595&lt;/td&gt;
&lt;td&gt;Grad Zagreb 902 · Zagrebačka 129 · Splitsko-dalmatinska 122&lt;/td&gt;
&lt;td&gt;Grad Zagreb EUR 1,400 · Zagrebačka EUR 1,430 · Splitsko-dalmatinska EUR 1,592 (195 state pay; period not given)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;posao.hr (HR)&lt;/td&gt;
&lt;td&gt;2,000 (cap)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;Grad Zagreb 376 · Istarska 174 · abroad 166&lt;/td&gt;
&lt;td&gt;not shown on list pages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rozee.pk (PK)&lt;/td&gt;
&lt;td&gt;3,000&lt;/td&gt;
&lt;td&gt;10,169&lt;/td&gt;
&lt;td&gt;Lahore 811 · Karachi 777 · Islamabad 433&lt;/td&gt;
&lt;td&gt;Lahore PKR 62,500/mo · Islamabad PKR 50,000 · Karachi PKR 46,800 (168 state pay)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Three things stand out. Latvia is the only market in this set where almost every posting states pay (98%), because cv.lv requires it; the UK is next at 72% of the newest postings; Pakistan is at 6%. Denmark's jobindex.dk lists no pay at all on its search pages, which is why Danish pay statistics have to come from elsewhere. And in both Croatian boards Zagreb carries more than half of the volume on mojposao.hr (57%) but only 19% on posao.hr, which lists more seasonal coastal and foreign work — the two boards are not interchangeable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Property: asking prices by city
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Site (country)&lt;/th&gt;
&lt;th&gt;Listings read&lt;/th&gt;
&lt;th&gt;Scope&lt;/th&gt;
&lt;th&gt;Median asking price (sale)&lt;/th&gt;
&lt;th&gt;Median asking rent (month)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pisos.com (ES)&lt;/td&gt;
&lt;td&gt;3,000 sale + 3,000 rent&lt;/td&gt;
&lt;td&gt;10 provinces, 300 newest each&lt;/td&gt;
&lt;td&gt;Madrid EUR 306,000 (EUR 3,547/m²) · Barcelona EUR 312,500 (EUR 3,295/m²) · Málaga EUR 465,000 (EUR 4,000/m²)&lt;/td&gt;
&lt;td&gt;Madrid EUR 1,400 · Barcelona EUR 1,750 · Málaga EUR 1,800&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;athome.lu (LU)&lt;/td&gt;
&lt;td&gt;1,588 sale + 540 rent&lt;/td&gt;
&lt;td&gt;10 largest communes, 200 each&lt;/td&gt;
&lt;td&gt;Luxembourg City EUR 762,167 (EUR 11,194/m²) · Esch-sur-Alzette EUR 495,000 (EUR 7,142/m²) · Differdange EUR 570,000 (EUR 6,951/m²)&lt;/td&gt;
&lt;td&gt;Luxembourg City EUR 1,800 · Esch-sur-Alzette EUR 700&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nobroker.in (IN, rent only)&lt;/td&gt;
&lt;td&gt;2,471&lt;/td&gt;
&lt;td&gt;~500 each in Bengaluru, Mumbai, Pune, Chennai, Hyderabad&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;Mumbai INR 42,000 (INR 781/m²) · Hyderabad INR 32,500 · Bengaluru INR 30,000&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Málaga's newest listings ask more than Madrid's or Barcelona's, both in total and per square metre — the sample is the 300 newest per province, so this says something about what is coming onto the market now rather than about the stock. Luxembourg City asks 11,194 euros per square metre, three times Madrid. In India, Mumbai's rent per square metre is 2.4 times Bengaluru's even though the headline rents differ by only 40%: Mumbai flats in the sample are far smaller.&lt;/p&gt;

&lt;h2&gt;
  
  
  Used cars: one weekend on auto.bazos.sk (Slovakia)
&lt;/h2&gt;

&lt;p&gt;5,717 car ads were listed or bumped on 14–15 October, at most 400 per make section (six sections hit the cap). By region: Nitriansky 950, Banskobystrický 772, Prešovský 719. Median asking price for the three largest makes: Škoda EUR 14,990, Volkswagen EUR 14,000, BMW EUR 11,700. Bazos list pages show no year or mileage, so those medians are empty.&lt;/p&gt;

&lt;h2&gt;
  
  
  How these tables are made
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sources&lt;/strong&gt;: public list (search) pages only. Posting and ad pages are never opened.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regions&lt;/strong&gt;: the place as the site writes it, mapped with a small table per country (UK: 12 ITL1 regions; DK: 5 regioner; HR: 21 counties + abroad; LV: 6 regions, approximate; PK: 10 largest cities + other; SK: 8 kraje). A posting with several places counts under the first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Job categories&lt;/strong&gt; (in the per-category files): 13 groups by keywords in the title, first match wins. Approximate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pay and prices&lt;/strong&gt;: lower bound of what the posting states; units and currencies are never mixed; price per m² = price / living area.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No personal data&lt;/strong&gt;: employer and seller names are not in the tables at all. Where a scraper does return a company field, names that look like a person are blanked.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get the data
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The same tables, every day or every week, for one site or a bundle: &lt;strong&gt;&lt;a href="https://www.listingworks.net/notes" rel="noopener noreferrer"&gt;listingworks.net&lt;/a&gt;&lt;/strong&gt; (aggregate subscriptions from USD 99 a month; one-off extracts USD 49).&lt;/li&gt;
&lt;li&gt;Run it yourself: the scrapers and the country statistics Actors behind these tables are on Apify Store at &lt;strong&gt;&lt;a href="https://apify.com/listingworks" rel="noopener noreferrer"&gt;apify.com/listingworks&lt;/a&gt;&lt;/strong&gt; (pay per result, about USD 1.50 per 1,000 rows; the statistics Actors return one row per region or category).&lt;/li&gt;
&lt;li&gt;Free sample dataset (Poland, daily, CC BY 4.0): Kaggle and Hugging Face, user &lt;code&gt;listingworks&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next week's snapshot will add the same tables for Poland, Serbia and the Czech Republic, with week-on-week changes.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Yusuke Suda, listingworks (Yokohama). Figures read 15 October 2026. Corrections welcome by email.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>data</category>
      <category>python</category>
      <category>opensource</category>
      <category>career</category>
    </item>
  </channel>
</rss>
