Meteojob Jobs Search Scraper
Pricing
from $1.50 / 1,000 results
Meteojob Jobs Search Scraper
Scrape structured job listings from Meteojob.com — one of France's top job boards. Extract 40+ fields per listing including salary, contract type, company info, recruiter details, and SEO metadata. Perfect for HR analysts, recruiters, and job aggregators.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Stealth mode
Maintained by CommunityActor stats
0
Bookmarked
16
Total users
5
Monthly active users
7 days ago
Last modified
Categories
Features
Share
Meteojob.com Jobs Scraper: Extract French Job Listings at Scale
What Is Meteojob.com?
Meteojob.com is a major French job search platform that aggregates listings from employers and recruitment agencies across France. It is well known for its "job temperature" scoring system, which ranks listings by relevance and candidate fit. The platform hosts roles across all sectors and contract types, from CDI and CDD to freelance and apprenticeship. Manually collecting this data is impractical at scale — the Meteojob.com Jobs Scraper automates extraction from search result pages, delivering clean, structured records ready for analysis.
Overview
The Meteojob Jobs Scraper targets Meteojob's paginated search result URLs and extracts full job details for each listing found. It is suited for:
- Recruiters monitoring the French job market by keyword or sector
- HR analysts benchmarking salaries and contract trends
- Job aggregator developers feeding data into custom platforms
- Researchers studying French labor market demand
The scraper handles pagination via URL parameters, supports bulk URL input, and gracefully skips failed pages when configured to do so.
Input Format
The Actor supports two scraping modes — use only one at a time:
- Scrape by URLs — scrape data directly from a list of Meteojob search result URLs.
{"urls": ["https://www.meteojob.com/jobs?page=2&what=audit"],"ignore_url_failures": true,"max_items_per_url": 50}
- Scrape by search filters — scrape data using a keyword and additional filters (location, contract type, experience, degree, etc.) instead of providing URLs.
{"keyword": "audit","location": "abc","sort_by": "relevance","contract_type": "CDI","published_at": "7","experience": "THREE_FIVE","degree": "BAC+3","page": 2,"max_items_per_url": 200}
There is also a General settings group that applies to both modes.
1. Scrape by URLs
Use this mode when you already have specific search result URLs. When this mode is used, all options in the "Scrape by search filters" section will be disabled.
| Field | Type | Default | Description |
|---|---|---|---|
urls | array | (required) | One or more Meteojob search result URLs to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list. Use the ?what= and ?page= query parameters to target specific keywords and pages. |
ignore_url_failures | boolean | true | If true, the scraper continues running when a URL fails instead of stopping the entire run. Recommended for bulk jobs. |
Tip: To scrape multiple keyword searches, add several URLs with different
?what=values (e.g.,?what=comptable,?what=marketing). Increment?page=to cover deeper result pages.
2. Scrape by search filters
Use this mode when you want to search using a keyword and additional filter attributes instead of scraping by URLs. If you use this mode, leave the urls field above empty.
| Field | Type | Default | Description |
|---|---|---|---|
keyword | string | — | The keyword to search for. |
location | string | — | The location to search for (City, Postal Code, State). |
sort_field | string ("", DATE, TITLE, COMPANY) | — | Sort results by Relevance (empty), Date, Title, or Company. |
contract_type | string (CDI, CDD) | — | Filter by contract type: CDI (permanent contract) or CDD (fixed-term contract). |
published_at | string (7, 1, 3, 30) | — | Filter by publication date: 7 days, Yesterday (1), 3 days, or 30 days. |
experience | string (THREE_FIVE, ONE_TWO, SIX_TEN, BEGINNER, TEN_TWENTY) | — | Filter by years of experience: 3-5 years, 1-2 years, 6-10 years, Starting at 1 year, or 11-20 years. |
degree | array of string | — | Filter by education level. Supports multiple values, e.g. BAC, BAC+2, BAC+3, BAC+4, BAC+5, BTS, DEUG, MASTER, LICENSE, DHE, DMA, FOUNDATION, PGCE, MAITRISE. |
page | integer | — | The page number to start scraping from. |
3. General settings
Applies to both scraping modes above.
| Field | Type | Default | Description |
|---|---|---|---|
max_items_per_url | integer | 20 | The maximum number of job listings to collect per URL/search. Increase to 50+ for broader datasets. |
include_raw_data | boolean | false | If true, the scraper will include raw data from website before cleaning in the output. |
Output Format
Sample output
{"id": "57902618","job_url": "https://www.meteojob.com/jobs/57902618","reference": "AE4525KC","external_reference": "WSROUENAEC-090073-26 31520708","title": "Réviseur comptable H/F","job_title": "Réviseur comptable (H/F)","job_titles": ["Réviseur comptable (H/F)"],"is_executive_role": true,"job_categories": ["Finance / Compta. / Assurance","Juridique"],"content_language": "fr","contract_types": ["CDI"],"job_types": ["Temps Plein"],"salary_min": 35000,"salary_max": 40000,"salary_currency": "EUR","salary_period": "ANNUM","salary_display_type": "BETWEEN","salary_text": "35 000 € - 40 000 € par an","experience_levels": ["3-5 ans"],"experience_in_job_required": false,"degrees": ["Bac+3","Bac+2, type DEUG, DUES","Bac+2, type BTS - DUT - DTS","Bac+5"],"shift_work": [],"driving_licences": [],"languages": [],"specializations": [],"behavior_skills": [],"telework": "Télétravail non précisé","travel": "Déplacement non précisé","is_mobility_required": false,"description": "Responsabilités :<br><br>- Réalisation de la révision des comptes annuels et intermédiaires des clients (bilans, comptes de résultat, annexes, etc.) ;<br>- Analyse des documents comptables et financiers pour en assurer la conformité avec les normes comptables et fiscales ;<br>- Préparation des rapports de révision et des recommandations d'amélioration pour les clients ;<br>- Collaboration avec les autres membres de l'équipe comptable pour assurer la qualité du service rendu ;<br>- Conseil et accompagnement des clients en matière de gestion financière et comptable ;<br>- Vérification et contrôle des déclarations fiscales et sociales ;<br>- Suivi des échéances fiscales et des obligations légales ;<br>- Participation à la rédaction des rapports d'audit et à la présentation des résultats aux clients.<br><br>","profile_description": "Profil recherché :<br><br>- Diplôme en comptabilité (BTS, DCG, DSCG ou équivalent) ;<br>- Expérience significative en révision comptable ou en audit dans un cabinet comptable ;<br>- Connaissance approfondie des normes comptables, fiscales et sociales ;<br>- Maîtrise des outils bureautiques et des logiciels comptables ;<br>- Rigueur, organisation et autonomie ;<br>- Excellentes compétences en communication et en relation client ;<br>- Capacité à travailler en équipe et à gérer plusieurs dossiers simultanément.<br><br>Avantages :<br><br>- Formation continue et développement professionnel ;<br>- Ambiance de travail dynamique et conviviale ;<br>- Perspectives d'évolution au sein du cabinet.<br><br>Les candidatures sont étudiées en toute confidentialité.Consultez nos autres offres sur :***<br><br>","company_description": "Winsearch vous propose aujourd'hui de rejoindre un cabinet proposant un cadre de travail calme et agréable. Afin d'accompagner la croissance de leur site de Lisieux (14100), les experts procèdent à la création d'un poste de Réviseur comptable H/F.<br>","benefits": "RTT, primes","locality": "Lisieux (14) - Normandie","locations": [{"name": "Lisieux (14)","city": "Lisieux","postal_code": "14100","department": "Calvados","department_code": "14","region": "Normandie","region_code": "28","country": "France","country_code": "FR","latitude": 49.1466,"longitude": 0.22925}],"company_id": 27551,"company_name": "WINSEARCH","company_industry": "Recrutement et placement","recruiter": "Rouen AEC","publisher": "Rouen AEC","company_logo_url": "https://www.meteojob.com/images/1/5/5/27551_14156_IMAGE_SMALL.png?1753187424000","recruiter_jobs_url": "https://www.meteojob.com/Emploi-Rouen-Aec","published_at": "2026-11-04T18:10:53.997Z","updated_at": "2026-11-04T18:10:53.999Z","is_top": false,"raw_data": null,"from_url": "https://www.meteojob.com/jobs?what=audit&where=abc&sorting=relevance&facetSince=7&facetContract=CDI&facetExperienceLevel=THREE_FIVE&facetDegree=BAC%2B3&page=2"}
Complete Output Structure and Field Definitions
The scraper returns JSON data with each job offer as an object containing detailed fields. Understanding field purposes enables effective analysis and application.
Job Identification
ID: Unique identifier of the job offer on Meteojob. Purpose: Database indexing, tracking specific offers over time, avoiding duplicates, linking to detail pages.
Job URL: Direct link to the full job offer on Meteojob. Purpose: Accessing complete details, applying to the job, verification of scraped data.
Reference: Meteojob internal reference code of the offer. Purpose: Cross-checking offers and contacting support or recruiters with a precise code.
External Reference: Reference assigned by the recruiter or the source system. Purpose: Matching the offer with the recruiter's own ATS or other job boards, detecting duplicates.
Title: Job title as written in the advertisement. Purpose: Keyword analysis, listing summaries, trend detection.
Job Title: Normalized job title from Meteojob's classification. Purpose: Grouping offers by standard job names regardless of how the recruiter writes the title.
Job Titles: List of all normalized job titles attached to the offer. Purpose: Handling offers that cover several roles.
Is Executive Role: Whether the job is classified as an executive (cadre) position. Purpose: Separating management-level offers from other roles.
Job Categories: Business sectors of the job (e.g., Finance, Legal). Purpose: Market segmentation by profession.
Content Language: Language of the advertisement text. Purpose: Language filtering and multilingual analysis.
Contract and Salary
Contract Types: Contract types offered (e.g., CDI, CDD). Purpose: Filtering stable versus temporary positions.
Job Types: Working time (e.g., full time, part time). Purpose: Matching offers to candidate availability.
Salary Min: Lower bound of the offered salary. Purpose: Salary benchmarking, budget filtering.
Salary Max: Upper bound of the offered salary. Purpose: Salary benchmarking, compensation range analysis.
Salary Currency: Currency of the salary (e.g., EUR). Purpose: Correct financial interpretation across markets.
Salary Period: Period the salary refers to (e.g., ANNUM = per year). Purpose: Normalizing salaries to a common period.
Salary Display Type: How the salary is shown on the offer (e.g., BETWEEN = range). Purpose: Understanding whether the salary is a range, a fixed value or hidden.
Salary Text: Salary exactly as displayed on the offer. Purpose: Display in reports and verification against the website.
Candidate Requirements
Experience Levels: Required experience brackets (e.g., 3-5 years). Purpose: Matching candidates by seniority, analyzing demand by experience.
Experience In Job Required: Whether experience in the same job is mandatory. Purpose: Identifying offers open to career changers or juniors.
Degrees: Accepted education levels. Purpose: Qualification analysis and candidate targeting.
Shift Work: Shift schedules required (empty if none). Purpose: Filtering by working-hours constraints.
Driving Licences: Required driving licences (empty if none). Purpose: Filtering jobs that require mobility.
Languages: Required foreign languages (empty if none). Purpose: Language skill demand analysis.
Specializations: Specific skills or specializations required (empty if none). Purpose: Skill demand analysis.
Behavior Skills: Soft skills required (empty if none). Purpose: Profile matching and soft-skill trend analysis.
Telework: Remote work policy label. Purpose: Filtering by remote work flexibility.
Travel: Business travel requirement label. Purpose: Filtering by travel constraints.
Is Mobility Required: Whether geographic mobility is required. Purpose: Identifying roles with relocation or regional travel expectations.
Content
Description: Mission and responsibilities text written by the recruiter. Purpose: Extracting duties, tools and keywords, text analysis.
Profile Description: Candidate profile and perks text. Purpose: Extracting required qualifications, benefits (remote days, meal vouchers, bonuses).
Company Description: Presentation text of the hiring company. Purpose: Employer branding analysis and company research.
Benefits: Benefits field provided by the recruiter (often a placeholder). Purpose: Benefits analysis when filled in.
Location
Locality: Location label as displayed on the offer. Purpose: Quick display and manual verification.
Locations: List of all locations attached to the offer (an offer can cover several places). Each item contains the fields below. Purpose: Handling multi-location offers, geographic analysis per location.
- Name: Location name with department number (e.g., Albert (80)). Purpose: Short location label for tables and dashboards.
- City: City of the job location. Purpose: City-level labor market analysis.
- Postal Code: Postal code of the location. Purpose: Geographic grouping and postcode-level analysis.
- Department: Department (administrative area) of the location. Purpose: Department-level statistics.
- Department Code: Official department code. Purpose: Joining with official French statistics.
- Region: Region of the location. Purpose: Regional comparison and aggregation.
- Region Code: Official region code. Purpose: Joining with official regional datasets.
- Country: Country of the location. Purpose: Geographic segmentation.
- Country Code: ISO country code. Purpose: Standardized country filtering and joins.
- Latitude: Geographic latitude of the location. Purpose: Map plotting, distance calculations.
- Longitude: Geographic longitude of the location. Purpose: Map plotting, distance calculations.
Company and Recruiter
Company ID: Unique identifier of the company on Meteojob. Purpose: Grouping offers by employer.
Company Name: Name of the hiring company. Purpose: Lead generation, competitor and employer analysis.
Company Industry: Industry sector of the company. Purpose: Industry-level hiring analysis.
Recruiter: Name of the recruiter or agency that manages the offer. Purpose: Identifying staffing agencies versus direct employers.
Publisher: Name of the entity that published the offer. Purpose: Tracking publishing sources and partners.
Company Logo URL: Link to the company logo image. Purpose: Branding in reports and dashboards.
Recruiter Jobs URL: Link to the page listing all offers of the recruiter. Purpose: Exploring the recruiter's full job portfolio.
Listing Dates
Published At: Date and time the offer was published (ISO 8601). Purpose: Measuring offer freshness, time-series analysis.
Updated At: Date and time the offer was last modified (ISO 8601). Purpose: Detecting content changes and refreshed offers.
Listing Flags
Is Top: Whether the offer is promoted as a top listing. Purpose: Analyzing advertising investment by recruiters.
Raw Data
Raw Data: Complete original JSON object of the offer as scraped, without modification. Purpose: Auditing, debugging, accessing fields not included in the cleaned output, and reprocessing without re-scraping.
How to Use
- Build your search URL — Go to Meteojob.com, run a search (e.g., keyword + location), then copy the results page URL. Adjust
?page=to target specific pages. - Configure input — Paste one or more URLs into the
urlsarray. Setmax_items_per_urlbased on how many listings you need per page (typically up to 20–50 per page). - Run the scraper — Start the actor and monitor the log for any failed URLs.
- Export — Download results as JSON, CSV, or Excel.
Best practices:
- Use
ignore_url_failures: truefor multi-URL runs to avoid full stops on a single bad page. - Scrape multiple pages by adding
?page=1,?page=2, etc. as separate entries inurls. - Combine
?what=with?where=parameters for location-specific queries.
Use Cases & Business Value
- Salary benchmarking: Aggregate
SalaryandContract Typesacross sectors to build compensation reports - Market intelligence: Track which roles are
Top,Pushed, orPremiumto gauge hiring urgency - Job board aggregation: Feed structured listings into custom search platforms targeting French job seekers
- Academic research: Analyze French labor demand by region, sector, or contract type over time
Conclusion
The Meteojob.com Jobs Scraper provides a reliable, configurable pipeline for extracting rich job data from one of France's most active hiring platforms. With 40+ output fields covering everything from Meteojob's unique temperature scoring to salary, recruiter, and SEO metadata, it delivers far more value than manual collection ever could. Configure your search URLs, set your limits, and let the scraper do the rest.