RappelConso Recall Changes: Lots, GTINs & Risks avatar

RappelConso Recall Changes: Lots, GTINs & Risks

Pricing

from $0.00005 / actor start

Go to Apify Store
RappelConso Recall Changes: Lots, GTINs & Risks

RappelConso Recall Changes: Lots, GTINs & Risks

Monitor French RappelConso recall notices. Get current lots, raw GTIN identification, risks and recall deadlines, plus field-by-field changes from your saved baseline. Successful unchanged checks are billed too.

Pricing

from $0.00005 / actor start

Rating

0.0

(0)

Developer

Michal Pšenčík

Michal Pšenčík

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Monitor French recall notices through the public RappelConso API. Each successful check returns 25 current fields covering raw product identification, lots, sale scope, risks, consumer instructions, compensation and recall deadlines. A named watch retains the last delivered projection so later runs can return exact previous/current values and field changes. Successful unchanged checks are billed too.

This independent Actor covers the French RappelConso API, including imported Safety Gate/RAPEX rows present there. It does not enumerate the EU-wide Safety Gate feed. It reports source values, not safety certification or an assessment of risk significance.

Input

{
"watchId": "retail-qa-auchan",
"selection": {
"mode": "recent",
"lookbackDays": 7,
"brand": "auchan",
"category": "alimentation",
"ficheNumbers": ["2026-10-0112", "2026-03-0268"]
},
"maxRows": 200
}
  • watchId is required: 1–64 ASCII letters, digits, underscores or hyphens. Reuse it for the same selection and serialize its schedules. A different selection requires a different watch ID. Watches intentionally have separate baselines and costs.
  • selection.mode defaults to recent. lookbackDays defaults to 7 (1–31). The window spans UTC calendar days, including today. Optional brand and category are exact API equality filters, normalized to NFC, trimmed and lowercased. They constrain discovery only.
  • ficheNumbers accepts up to 100 unique YYYY-MM-NNNN numbers with valid months, or imported RAPEX a12/NNNNN/YY and sr/NNNNN/YY identifiers. Nominated fiches are queried first, independently of discovery filters and publication dates. Duplicates are removed.
  • mode: "fiches" requires at least one fiche number and forbids lookbackDays, brand and category.
  • maxRows defaults to 200 (1–500). It counts confirmed delivered checks. Unknown input properties are rejected before source requests.

The Console default uses watch default, a seven-day unfiltered window and up to 200 checks. A seven-day window may still be empty during a quiet period or upstream outage. An absent nomination produces a free diagnostic.

Output and comparisons

One default-dataset row represents one useful check of a fiche, ordered by fiche number. Export the dataset as JSON, CSV or Excel; JSON preserves the nested before/after projections and raw identification array most clearly.

Each row includes recordId, recallId, ficheNumber, source version/id/GUID/URL, publication and observation timestamps, current, previous, changedFields, material hashes, previous timestamps/version, query URL and attribution. The exact 25-field projection appears in the dataset schema. For example, the captured real fiche 2026-10-0112 was already version 2 at first observation, with brand auchan, raw identification tokens beginning 3596710527519, 26205pc, and a null recall deadline. A first check has no invented version-1 baseline.

EventMeaning
first_seenNo delivered baseline for this watch; previous values are null and changedFields is empty.
revisedAt least one projected field changed and the version increased.
correctedProjected fields changed at the same or a lower version.
metadata_onlyProjection unchanged; source version, publication timestamp, id, GUID or fiche URL changed.
unchangedProjection and comparison metadata match the baseline.

versionRegressed flags a lower source version, including metadata-only changes; a stale cache is one possible explanation. Changed fields are sorted by source field name and carry exact before and after values. Whitespace, Unicode representation, array order, repeats, pipe markers, empty strings and nulls are preserved. Date-only values stay date-only. Identification tokens are not inferred GTIN/lot tuples. Null is a published missing value, never a declaration of no risk.

Free SUMMARY and OUTPUT records are in the default key-value store. A hard platform kill or the 180-second run deadline can leave the last running SUMMARY checkpoint. SUMMARY includes query exhaustion, non-atomic coverage, bounds, HTTP attempts and body bytes, rate headers, missing nominations, delivery counts, event counts, state failures and upstream errors. A capped or partial run is not complete coverage. Errors and missing notices never generate billable rows.

Pricing

Proposed Console prices are $0.00005 per built-in Actor start unit and $0.002 per useful delivered check. First-seen, revised, corrected, metadata-only and unchanged rows all have the same item fee. At one start unit, five checks cost $0.01005 and 100 cost $0.20005 in Actor events. Empty or failed runs can incur the start fee. Applicable platform charges depend on your plan and configured monetization; confirm the displayed price before running.

There is no changes-only billing mode. Comparison receipts and current full fields are delivered even when unchanged. Platform billing and spending-cap behavior must be verified before publication; local tests are not invoices.

Coverage, state and limits

This is prospective monitoring from your delivered baseline. The API does not provide a demonstrated historical version archive. Intermediate edits between scans, linked-document contents and same-URL PDF changes are invisible. No disappearance-based deletion, withdrawal, resolution or clearance events are inferred. A retained notice leaving the publication window is rechecked only if nominated or selected again.

The API includes imported /rapex records with a12/NNNNN/YY and sr/NNNNN/YY identifiers and version 0, despite metadata saying RAPEX is excluded. These records are checked using the same 25-field projection. Version zero is accepted only for these imported identities; ordinary RappelConso versions remain positive. Missing or malformed material fields still produce free schema-drift errors.

A run is bounded to 1,000 raw source rows, 30 HTTP attempts, 16 MiB decoded traffic, 500 delivered checks and 180 seconds including a 15-second shutdown reserve. Pages contain at most 100 rows. Responses are limited to 2 MiB wire / 4 MiB decoded; projections over 32 KiB are refused without truncation. Each watch retains at most 1,000 identities and 32 MiB, with no silent eviction. Use a new watch when full.

Requests run sequentially with at least two seconds idle after completion. Connection failures/timeouts and 5xx have at most two retries with 2/5-second minimum backoff. Longer Retry-After is honored only within the remaining deadline. 403, 429 and challenge responses defer all further source requests. No browser, proxy, login, cookies, CAPTCHA workaround or alternate-source fallback is used.

Only complete contiguous fiche groups can update state. The highest version wins; conflicting highest-version payloads are free errors. Offset pagination is not an atomic snapshot; metadata/count drift is reported. No durable pagination cursor is exposed.

State follows confirmed dataset storage. A no-op or uncertain push cannot advance the baseline. Same-run restart uses stable receipt IDs and a private KV delivery-order journal to recover stored transitions. Older receipts cannot replace a later delivered baseline, even when source versions regress or observation times tie. An unresolved push blocks later runs until its owning run restarts with its original dataset and default KV store. Pre-journal receipts with an ambiguous order fail while preserving the current baseline and original receipt. A crash between storage and state persistence may repeat a change in a future run: cross-run delivery is at least once. A best-effort lease detects some overlaps; KV writes are not atomic distributed locking. Callers must serialize runs for each watch.

Source, attribution and support

Source: official RappelConso public dataset and API. Publisher: DGCCRF, with DGAL, DGEC and DGPR. Data is under Licence Ouverte v2.0 (Etalab). Rows contain attribution; preserve it when reusing the data. This Actor is independent of those authorities and offers no refresh SLA.

The operator controls the selected watch, retained baseline, schedules and exports in their Apify account. Public source text can contain business or contact information; this Actor omits the telephone-contact, image and poster fields. Apply appropriate retention/access rules to your stored data. Deleting a watch's named KV store removes its baseline; run datasets and exports have separate retention. No email or webhook sender is included.

For support, use this Actor's Apify Issues tab and include the run ID, SUMMARY error and a fiche number. Do not include credentials or confidential customer data.