EUDR/CSRD Supply-Chain Reference Data Feed avatar

EUDR/CSRD Supply-Chain Reference Data Feed

Pricing

from $8.00 / 1,000 commodity scope check completes

Go to Apify Store
EUDR/CSRD Supply-Chain Reference Data Feed

EUDR/CSRD Supply-Chain Reference Data Feed

Reference-data layer for EU Deforestation Regulation and CSRD compliance: is a product/HS code in EUDR scope, what's the origin country's official EU deforestation-risk classification, does a company hit current CSRD thresholds, and what changed since your last check.

Pricing

from $8.00 / 1,000 commodity scope check completes

Rating

0.0

(0)

Developer

joseph fadero

joseph fadero

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

EUDR enforcement begins 30 December 2026 for large operators. Penalties can reach 4% of total annual EU turnover. There is essentially zero dedicated coverage of this on the Apify Store today — the closest adjacent actor found during this build's research has 2 users.

What this is NOT — read this first

This actor does not do satellite plot-boundary verification or TRACES due-diligence-statement submission. Those are real EUDR compliance requirements, but they are not scraping/data-lookup tasks — they need geolocation data your company holds, satellite imagery analysis, and direct integration with the EU's TRACES system. That's a different, much larger product. This actor is deliberately scoped to the reference-data layer: the four lookups a compliance team needs answered repeatedly, not the full due-diligence workflow.

What it does

ModeAnswers
commodity_scope_checkIs this HS code an EUDR-regulated commodity/product?
country_risk_checkWhat's this origin country's official EU deforestation-risk classification?
csrd_scope_checkDoes this company hit current CSRD reporting thresholds?
regulatory_update_feedHas the country-risk list or EU guidance changed since your last check?

Everything below was researched live for this build, not assumed — this is the highest-stakes actor in the portfolio so far

CSRD thresholds have genuinely changed multiple times through 2025-2026 (the PRD itself flagged this) — verified against current sources rather than carried over from older knowledge:

  • EU undertakings: > 1,000 employees AND > €450,000,000 net EU turnover (both criteria, consolidated basis for groups) — no balance-sheet threshold post-Omnibus.
  • Third-country (non-EU parent) undertakings: > €450M EU-generated turnover (parent, 2 consecutive years) AND a subsidiary/branch exceeding €200M EU turnover.
  • Applicable for financial years beginning on or after 1 January 2027.
  • Legal basis: Directive (EU) 2026/470 — Council approval 24 Feb 2026, Official Journal publication 26 Feb 2026, entered into force 18 March 2026. Cross-referenced across two independent sources before hardcoding.

Not modeled: the "wave one" transitional exemption for companies already reporting from FY2024 that would otherwise fall out of scope for FY2025-2026 — that needs prior reporting history, which isn't in this actor's input schema.

Country risk classification is live-fetched from the European Commission's own official page, not a hardcoded snapshot — confirmed live while building this actor: 194 countries, split exactly 140 low / 50 standard / 4 high risk, matching the Commission's published 22 May 2025 figures precisely (the 4 high-risk countries: Belarus, Myanmar, North Korea, Russia). A revision is expected sometime in 2026 pending updated FAO deforestation data — because this fetches live rather than from a snapshot, that revision is picked up automatically, no rebuild needed.

Commodity/HS code mapping is a static table, and this is the one part of the build genuinely worth double-checking yourself. EUR-Lex (the EU's official legislation portal) returned empty/blocked responses to automated requests throughout this build — likely bot-protection on primary-legislation pages, not a data-availability problem. The table here was compiled from a third-party legal-compliance summary and cross-referenced against general knowledge of the regulation's structure, including a genuine July 2026 amendment (soluble coffee HS 2101 11 00 and frozen cattle tongues HS ex 0206 21 00 were added to Annex I, compliance required from 30 Dec 2027) that this table reflects. For a compliance-critical determination, verify the exact HS code against the authoritative text yourself: https://eur-lex.europa.eu/eli/reg/2023/1115 — many Annex I entries are "ex" (partial-heading) qualified, meaning only certain goods within an HS heading are actually in scope; this table matches by prefix, which can occasionally over-include.

The regulatory update feed monitors two real things, not a fabricated "here's what changed in the law" feature. No clean, fetchable, dated legislative-change feed was found (same EUR-Lex blocking issue). Instead it diffs: (1) the country-risk list itself — precise, per-country additions/reclassifications/removals — and (2) a content hash of the Commission's EUDR resource hub page as a coarse "something changed here, go look" signal. Both are real, both are checked live every run, neither pretends to be more specific than it is.

Input schema

{
"mode": "country_risk_check",
"hsCode": "440710",
"originCountry": "BR",
"companyEmployeeCount": 5000,
"companyEUTurnover": 800000000,
"companyNonEURevenue": 100000000
}

originCountry accepts a 2-letter ISO code or a full country name — resolved against the EU's own official naming (which uses UN-standard long-form names like "United States of America," "Russian Federation") via the same UN reference data already used in Actor 28, plus a small alias table for common short forms (USA, UK, South/North Korea, Vietnam, etc.).

Output schema

{
"queryType": "commodity_scope_check | country_risk_check | csrd_scope_check | regulatory_update_feed",
"isEUDRInScope": "boolean | null",
"commodityCategory": "cattle | cocoa | coffee | palm_oil | rubber | soy | wood | derived_product | not_applicable | null",
"countryRiskClassification": "low | standard | high | not_classified | null",
"isCSRDInScope": "boolean | null",
"csrdApplicableFrom": "string | null",
"regulatoryChangesSinceLastRun": ["array of change descriptions"],
"sourceUrl": "string",
"checkedAt": "ISO timestamp"
}

Fields not relevant to the requested mode are null rather than omitted, so downstream consumers get a stable shape regardless of mode.

Delta detection

Reuses src/shared/deltaStore.ts from Actor 26 verbatim, same as Actor 27 — unmodified, including the named-store fix that makes cross-run persistence actually work.

Pricing

EventPrice
Run started£0.05
Commodity/country/CSRD check£0.05
Regulatory change detected£0.20
Regulatory check, no change£0.08
Lookup failedfree

Regulatory-update mode is priced as the primary recurring-revenue driver per the PRD's own framing — a one-time scope check is useful once, tracking amendments is genuinely ongoing value, especially for a regulation that's already been delayed once.

Setup note

No browser needed — plain HTTP calls to the EU Commission's own pages and UN Comtrade's reference data, runs on apify/actor-node:20.

n8n integration

  • Workflow A (trigger): scheduled weekly check for regulatory amendments/delays.
  • Workflow B (processing): alert on any detected change (this regulation has already slipped once — buyers need to know immediately if it happens again), quarterly digest of CSRD threshold changes if applicable.