hellowork.com APIhellowork.com ↗
Access HelloWork job listings, company profiles, and job categories via API. Filter by keyword, location, contract type, and salary across France.
curl -X GET 'https://api.parse.bot/scraper/1d40664b-41f0-4fc1-b677-06357ffec8d8/search_jobs?c=CDI&d=m&k=ing%C3%A9nieur&l=Paris&page_limit=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for job listings with various filters. Returns a paginated list of job adverts including title, company, location, contract type, and salary.
| Param | Type | Description |
|---|---|---|
| c | string | Contract type filter. Accepted values: CDI, CDD, Intérim, Stage, Alternance, Indépendant, Franchise, Associé, Fonctionnaire, Freelance, Stage de lycée. For multiple types, comma-separated (e.g. 'CDI,CDD'). |
| d | string | Date range filter. Accepted values: 'h' (hour), '3j' (3 days), 'w' (week), 'm' (month), 'all' (all time). |
| krequired | string | Keyword to search for (job title, skill, etc.) |
| l | string | Location (city, department, postal code) |
| st | string | Sort order. Accepted values: 'date', 'relevance'. |
| msa | string | Minimum annual salary filter (numeric string, e.g. '40000'). |
| ray | string | Search radius in km around the location. |
| page_limit | integer | Maximum number of pages to fetch (each page has ~30 results). |
| filter_hourly | boolean | If true, filters out jobs with hourly-rate salaries from results. |
{
"type": "object",
"fields": {
"data": "array of job listing objects with id, title, company, location, contract, salary, url",
"status": "string, always 'success'"
},
"sample": {
"data": [
{
"id": "78844514",
"url": "https://www.hellowork.com/fr-fr/emplois/78844514.html",
"title": "Développeur Api Talend Data H/F",
"salary": "50 000 - 55 000 € / an",
"company": "FAB Group",
"contract": "CDI",
"location": "Paris - 75"
}
],
"status": "success"
}
}About the hellowork.com API
The HelloWork API gives developers access to 5 endpoints covering job search, job details, company search, company profiles, and job categories on France's HelloWork job board. The search_jobs endpoint accepts filters for keyword, location, contract type (CDI, CDD, Stage, Alternance, and more), minimum salary, and date range, returning paginated results with title, company, location, contract, and salary per listing.
Job Search and Filtering
The search_jobs endpoint is the primary entry point. The required k parameter accepts job titles, skills, or any keyword. Optional parameters include l for location (city, department, or postal code), c for contract type (CDI, CDD, Intérim, Stage, Alternance, Indépendant, Franchise, Associé), msa for minimum annual salary as a numeric string, ray for search radius in kilometers, d for recency (from the last hour to all time), and st to sort by date or relevance. Responses are paginated at roughly 30 results per page; use page_limit to cap how many pages are fetched. Each result object includes id, title, company, location, contract, salary, and url.
Job Details and Categories
get_job_details accepts a numeric job_id sourced from search_jobs results and returns the full listing: id, title, description, structured details (location, contract), and url. get_job_categories requires no inputs and returns a flat mapping of category names (métiers) to their relative URL paths on HelloWork — useful for building category-driven browsing or mapping roles to canonical taxonomy.
Company Search and Profiles
search_companies accepts a query string and an optional l location filter, returning matching company id and name pairs via autocomplete. Once you have a match, get_company_profile takes a company_slug_id in the format companyname-id (e.g. capgemini-6026) and returns the company name, profile_data, and url. The slug is constructed from search_companies output by lowercasing the name and appending the numeric ID.
- Aggregate French CDI and CDD job listings by city or department for a local job board
- Monitor new HelloWork postings for specific keywords or skills over the past week using the
d=wfilter - Build a salary intelligence tool using the
msafilter and salary fields returned bysearch_jobs - Enrich a company database with HelloWork profile data via
get_company_profile - Map job postings to canonical role categories using
get_job_categoriesoutput - Track which companies are actively hiring in a given region by combining
search_companiesandsearch_jobswith a location filter - Feed a job alert system that polls for new listings by contract type and recency using
canddparameters
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does HelloWork have an official developer API?+
What contract types can I filter by in search_jobs?+
c parameter accepts: CDI, CDD, Intérim, Stage, Alternance, Indépendant, Franchise, and Associé. Only one value can be passed per request. If omitted, results include all contract types.Does get_job_details return application instructions or contact details from the listing?+
id, title, description, structured details (location and contract), and url. Dedicated application instructions, recruiter contact details, or direct apply links are not broken out as separate fields. You can fork this API on Parse and revise it to add an endpoint that extracts those fields from the listing page.Is the API limited to jobs in France?+
How does pagination work in search_jobs?+
page_limit parameter sets the maximum number of pages fetched in a single call. If page_limit is not set, the API fetches a default number of pages. For large result sets, setting page_limit controls how many total results are returned.