EU Job Vacancy Benchmark — Quarterly by Industry, Per Record avatar

EU Job Vacancy Benchmark — Quarterly by Industry, Per Record

Pricing

from $33.50 / 1,000 job vacancy records

Go to Apify Store
EU Job Vacancy Benchmark — Quarterly by Industry, Per Record

EU Job Vacancy Benchmark — Quarterly by Industry, Per Record

Eurostat quarterly job-vacancy statistics (jvs_q_nace2) as clean, flat, per-record benchmarks — vacancy rates and counts by NACE Rev.2 industry, business size class and country. Licence-clean, verbatim values, $0.05 per record.

Pricing

from $33.50 / 1,000 job vacancy records

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Turn Eurostat's quarterly job-vacancy cube into clean, per-record labour-demand benchmarks — one row per published observation, broken down by industry (NACE Rev.2), business size class, seasonal-adjustment status and country, ready to benchmark hiring demand across Europe.

Each row of the source multidimensional cube becomes one clean, flat record: every dimension is expanded into an explicit code and its human-readable label, the observation value is reproduced exactly as Eurostat published it, and each record is stamped with source, dataset code, licence, attribution, a UTC retrieval timestamp and an interpretation caveat. You get analysis-ready rows instead of a nested JSON-stat blob you have to unpack yourself.

What one record represents

The source dataset is Eurostat jvs_q_nace2 — quarterly job vacancy statistics by NACE Rev.2 economic activity. Eurostat publishes it as a JSON-stat hypercube: a dense grid indexed by several dimensions (frequency, seasonal-adjustment, NACE Rev.2 activity, business size class, employment indicator, geography and time) with a sparse map of observed values. This Actor unpacks that cube so that every present observation cell becomes exactly one record. Cells that Eurostat does not publish (genuinely missing observations) are absent from the source value map and are therefore neither invented nor delivered — you receive only real, published numbers. Published zeros are kept as real values, never dropped.

For each record you get the composite record_id (a stable, source-native key built from every dimension code), the dataset_code, the indicator name, then — for each dimension — the dimension code and its label, plus time_period, the numeric value, and Eurostat's obs_status flag when one is present. The dimension columns include nace_r2 (industry) with its label, sizeclas (enterprise size class), indic_em (the employment indicator — job vacancy rate, number of vacancies, number of occupied posts), s_adj (seasonal-adjustment status) and freq.

Coverage and volume

The live cube holds 463,569 licence-permitted, non-null observations from 2015 onward across 35 permitted territories, dozens of NACE Rev.2 activities and several employment indicators — that is the record capacity of a full pull from 2015. Narrow it with a later start period or a single country to sample cheaply.

Because the underlying cube is large, this Actor is built to pull it completely and safely. When the full multi-territory request would exceed the dissemination API's single-response size limit, the Actor automatically partitions the pull by territory and streams the partitions back, stopping as soon as your Maximum records cap is met so you never wait for data you did not ask for. You can also pass a single country code (e.g. DE) to pull just that territory — useful for a focused benchmark or a fast sample.

Licence and attribution

This dataset is redistributed under the terms Eurostat publishes it with. The full notice travels on every record in the licence field:

Eurostat, CC BY 4.0. Reformatted from Eurostat JSON-stat; values unmodified. Third-party content and logos excluded. Commercial-barred geographies removed.

In addition, a structural geography allow-list is applied at ingest: only EU member states, EU/euro-area aggregates, EFTA members and official EU acceding/candidate countries are delivered. Territories that Eurostat marks as commercial-reuse-barred (for example non-European reporting countries that sometimes appear in a cube) are excluded at ingest and counted in the run receipt, so the delivered set is licence-clean by construction rather than by trust. The required attribution string — Source: Eurostat (dataset jvs_q_nace2) — is also present on every record.

Interpretation caveat

Job vacancy rates and counts are labour-demand indicators, not headcounts, salaries or individual job postings. A vacancy rate is the share of posts that are vacant, not a raw count — read the indic_em and unit dimensions to know which measure a row carries.

Eurostat values are reproduced verbatim: this Actor never rescales, re-bases, interpolates, seasonally adjusts or otherwise transforms a number. Where a value is a rate, an index or a count is determined by the dimension codes on the same record (read the unit / indicator dimensions), so always interpret a value together with its dimension labels rather than in isolation.

Person-data policy

City, airport and market identifiers describe places and markets, not people. The redundant city geocode/postal-address columns present in the raw source are intentionally excluded so no address-shaped field ever reaches the record. This is a statistics product about economies, industries, territories and markets. If you need to enrich it with entity-level or contact data, do that in your own downstream systems under your own lawful basis — it is deliberately out of scope here.

Provenance, licensing and compliance

Every run begins with a live source-preflight: the Actor reads the exact host's robots.txt at runtime and refuses to proceed if the crawl policy disallows the data path. The gate result — the URL read, the HTTP status, the byte length and a SHA-256 of the policy document — is written to the run's RUN_RECEIPT key-value record, so each run carries its own audit trail. The Actor identifies itself with a transparent, non-impersonating User-Agent and never attempts to bypass a block, solve a challenge, or fetch through a cache or mirror. When the door is genuinely unavailable the run fails loudly and bills nothing rather than delivering a partial or stale set silently.

Records carry no natural-person or contact fields. The output schema is a fixed structural allow-list of statistical, geographic and organisational columns; there are no name, email, phone, address, or identifier-of-a-person fields anywhere in the record, and a per-record assertion enforces that allow-list at write time. This is a records product about places, industries, markets and organisations — never about people.

Inputs

  • Earliest period (sinceTimePeriod) — return observations from this period onward. Accepts a year (2015), a quarter (2015-Q1) or a month (2015-01) depending on the dataset's frequency. An earlier start yields more records. Leave Country / territory blank to pull all licence-permitted territories, or set a single Eurostat geo code (e.g. DE) to focus on one.
  • Maximum records (maxRecords) — hard cap on records delivered and billed. Raise it to pull the full set; lower it to sample cheaply.

Output

Records land in the Actor's default dataset and can be exported as JSON, CSV, Excel or fetched through the Apify API. A tabular overview view surfaces the most useful columns — geography, period, the key dimension labels and the value — for quick inspection, while the full record retains every code, label and provenance field for downstream joins.

Sibling Actors

This Actor is one cell of a broader per-record data fleet. It shares its engineering — the runtime robots gate, the push-then-charge billing, the verbatim-value discipline and the person-data allow-list — with the other Eurostat cells in the fleet (house prices, waste, migration, road freight, business confidence and more) and with the fleet's other public-data records Actors. Each Actor targets one dataset and one grain, so you pay only for the slice you need.

Pricing

This Actor uses Apify's pay-per-event model. You are charged a flat $0.05 per record actually delivered to the dataset — nothing else. There is no monthly rental, no per-run base fee, and no charge for compute time. If a run delivers 40 records you pay $2.00; if it delivers 10,000 you pay $500.00. The billing is wired after delivery: each record is pushed to the dataset first and only then does the matching per-record event fire, so a mid-run failure can only ever under-charge you, never over-charge. Set Maximum records to cap spend precisely — you will never be billed for more than you asked for, and you will never be billed for records that were not delivered.

Typical uses

Benchmark hiring demand by industry and country; track how vacancy rates move through a cycle; compare labour-market tightness across member states; feed a macro or workforce-planning model with clean, licence-clean quarterly inputs; or build a recruitment-market dashboard without hand-unpacking JSON-stat.

What this Actor does not do

It does not forecast, model, seasonally adjust, or editorialise the numbers; it does not merge multiple Eurostat datasets into one record; and it does not deliver commercial-barred geographies. It gives you faithful, licence-clean, analysis-ready observation records — one row per published cell — with a provenance trail you can audit on every run.