Recommendation transparency

France Travail methodology

How BoostMyResume retrieves, filters, and presents job offers without rewriting the source.

Version 2026-08-07.v7

Status and source

Method 2026-08-07.v7. Source: France Travail, Offres d’emploi v2.01 API.

The integration has been live since 6 August 2026. The Job Offers licence was accepted by the operator on 6 August 2026. Because the official page publishes no version number, the accepted version is identified by a hash of its content.

Freshness, cache, and removal

A search may be cached for one hour. Full offer details respect the source limit, capped at six hours in the initial configuration. Identified content is never presented as fresh for more than twenty-four hours without revalidation.

Before a hosted detail is shown or resume tailoring starts, BoostMyResume checks availability. A missing offer is distinct from a source outage. A removed offer shows an unavailable state, not a stale complete copy.

ROME occupation and user control

Occupation resolution is separate from the mechanical resume analysis. It receives a career projection without name, email, telephone, date of birth, address, or profile URL; contact details found in free text are masked too.

The model names the occupation as a French job posting would write it; it never returns a ROME code. BoostMyResume then matches that title against the active ROME reference set, including its official job-title synonyms. A title that matches nothing becomes an abstention, never a guess. Displayed codes and labels always come from the active reference set.

The model receives no location data and produces none. On a first visit without preferences, the initial location is derived only from resume fields and then resolved by France Travail.

The initial occupations and location are saved to the account search profile. The person can then change occupations, city, radius, salary, contracts, and order. These preferences override the resume and also drive the daily digest.

Multi-occupation search is active: a live test on 6 August 2026 confirmed that the subscribed API version treats multiple ROME codes as OR. At most three codes are searched together.

Search and ordering

Every search requires at least one validated ROME code and a resolved municipality with a radius of 0, 5, 10, 25, 35, 50, 75, or 100 km. The default is 5 km. There is no broadened search without an occupation or location.

France Travail applies the selected occupations, location, radius, contracts, minimum salary, and order. Publication date is the default order. BoostMyResume calculates no automatic score and does not compare offers with the resume during discovery.

Each batch contains up to 150 offers. The displayed count is the exact source total after these filters. BoostMyResume keeps the full batch and paginates it locally; the person can request later batches within the source limit.

Source content and derived data

The browser displays the complete source offer and every returned logo. BoostMyResume does not summarize, truncate, or rewrite the description. Every raw value supplied by the source remains visible when no normalized value is available; fields the source omits or supplies empty are not replaced with invented placeholder text.

Derived data is limited to technical normalization of locations, contracts, salaries, and dates, plus the structured requirement list. No resume coverage or candidate gap is calculated during discovery.

The licence requires continuous updating: the API must be queried at least once every twenty-four hours, and creations, removals, or changes must be reflected. It also requires the full supplied content and logos to be displayed for each offer.

Contact details returned by the source are visible only on the complete, freshly checked, non-indexable, rate-limited page, solely to support an application. They are excluded from emails, logs, usage analytics, and model inputs.

Emails and attribution

A possible daily email contains only the title, employer when supplied, municipality, contract, available monthly salary and work mode, and a “Read offer” link to the freshly checked complete page. It contains no description, requirements, contact details, or personalized score.

Each complete offer identifies France Travail as the source, shows the update date and applicable reuse licence, and links to this method. The official licence URL is published here, and operator acceptance has been recorded since 6 August 2026.

History

7 August 2026 - v7: removed every automatic discovery score; added the account search profile, user-controlled filters, a 5 km default radius, exact totals, and locally paginated 150-offer batches.

7 August 2026 - v6: recommendations and Builder now share the same requirements and deterministic coverage calculation; the model no longer produces the score, and the 60% threshold is removed.

7 August 2026 - v5: went live. The occupation is now named by the model and then matched against the reference set, instead of picked from a shortlist; the location is derived from résumé fields and removed from the model call; multi-occupation search confirmed active.

6 August 2026 - v4: aligned the method with omission of empty source fields and conditional salary/work-mode facts in the daily email.

5 August 2026 - v3: clarified contact-detail handling, strict identifier validation, and hosted-page rate limiting.

4 August 2026 - v2: added the official URL and the update, attribution, and complete-content duties verified in the Job Offers licence. Operator acceptance remains pending.

4 August 2026 - v1: complete-content contract, bounded caches, missing-offer/outage separation, ROME resolution with abstention and user control, deterministic ranking, and minimal-email policy.