Discover/HelloWork API
live

HelloWork APIhellowork.com

Search French job listings, fetch full job details, look up company profiles, and browse job categories on HelloWork via a structured REST API.

This API takes change requests — .
Endpoint health
verified 10h ago
search_companies
search_jobs
get_company_profile
get_job_categories
get_job_details
5/5 passing latest checkself-healing
Endpoints
5
Updated
25d ago

What is the HelloWork API?

The HelloWork API provides 5 endpoints for querying France's HelloWork job board, covering job search, individual listing details, company lookup, company profiles, and category browsing. The search_jobs endpoint accepts keyword, location, contract type, salary, and radius filters and returns paginated arrays of listings with titles, companies, salaries, and direct URLs. Data is returned in structured JSON, ready to pipe into recruiting tools, job aggregators, or market analysis workflows.

Try it
Contract type filter. For multiple types, comma-separated (e.g. 'CDI,CDD').
Date range filter.
Keyword to search for (job title, skill, etc.)
Location (city, department, postal code)
Sort order.
Minimum annual salary filter (numeric string, e.g. '40000').
Search radius in km around the location.
Maximum number of pages to fetch (each page has ~30 results).
If true, filters out jobs with hourly-rate salaries from results.
api.parse.bot/scraper/1d40664b-41f0-4fc1-b677-06357ffec8d8/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/1d40664b-41f0-4fc1-b677-06357ffec8d8/search_jobs?c=CDI&d=h&k=d%C3%A9veloppeur&l=Paris&st=date&msa=30000&ray=20&page_limit=1&filter_hourly=false' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace hellowork-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""HelloWork job & company search: search jobs, drill into details, explore companies and categories."""
from parse_apis.HelloWork_Job___Company_Search_API import (
    HelloWork, Sort, DateRange, ContractType, NotFound
)

client = HelloWork()

# Search for CDI developer jobs in Paris, sorted by relevance
for job in client.job_summaries.search(
    keyword="développeur",
    location="Paris",
    sort=Sort.RELEVANCE,
    contract_type=ContractType.CDI,
    date_range=DateRange.MONTH,
    limit=5,
):
    print(job.title, "|", job.company, "|", job.salary)

# Drill into the first result for the full job description
top_job = client.job_summaries.search(keyword="développeur", location="Paris", limit=1).first()
if top_job:
    full = top_job.details()
    print(full.title, full.url, full.description[:100])

# Search for a company and fetch its profile
company = client.company_summaries.search(query="acadomia", limit=1).first()
if company:
    slug = f"{company.name.lower().replace(' ', '-')}-{company.id}"
    profile = client.company_profiles.get(company_slug_id=slug)
    print(profile.name, profile.url)

# Browse all job categories
cats = client.category_indexes.get()
print(f"Total categories: {len(cats.categories)}")

# Typed error handling when a company profile doesn't exist
try:
    client.company_profiles.get(company_slug_id="nonexistent-99999")
except NotFound as exc:
    print(f"Not found: {exc}")

print("exercised: job_summaries.search / details / company_summaries.search / company_profiles.get / category_indexes.get")
All endpoints · 5 totalmissing one? ·

Full-text search over job listings on HelloWork France. Supports filters for contract type, location, salary, date range, and sorting. Returns paginated results across multiple pages. Each result includes title, company, location, contract type, salary, and a direct URL.

Input
ParamTypeDescription
cstringContract type filter. For multiple types, comma-separated (e.g. 'CDI,CDD').
dstringDate range filter.
krequiredstringKeyword to search for (job title, skill, etc.)
lstringLocation (city, department, postal code)
ststringSort order.
msastringMinimum annual salary filter (numeric string, e.g. '40000').
raystringSearch radius in km around the location.
page_limitintegerMaximum number of pages to fetch (each page has ~30 results).
filter_hourlybooleanIf true, filters out jobs with hourly-rate salaries from results.
Response
{
  "type": "object",
  "fields": {
    "items": "array of job listing objects with id, title, company, location, contract, salary, url"
  },
  "sample": {
    "data": {
      "items": [
        {
          "id": "80049429",
          "url": "https://www.hellowork.com/fr-fr/emplois/80049429.html",
          "title": "Assistant de Direction Pole Business Dev H/F",
          "salary": "50 000 - 60 000 € / an",
          "company": "Skills Paris",
          "contract": "Intérim",
          "location": "Paris 8e - 75"
        }
      ]
    },
    "status": "success"
  }
}

About the HelloWork API

Job Search and Listing Details

The search_jobs endpoint accepts a required k keyword parameter plus optional filters: c for contract type (e.g. CDI, CDD, comma-separated for multiple), l for location (city, department, or postal code), ray for radius in km, msa for minimum annual salary, d for date range, and st for sort order. Results are paginated at roughly 30 listings per page; use page_limit to cap how many pages are fetched. Each item in the returned items array includes id, title, company, location, contract, salary, and url.

To retrieve the complete description and structured metadata for a listing, pass its numeric id to get_job_details. The response returns a data object with id, title, description (full text), details (location, contract type, and other structured metadata), and the canonical url. Job IDs come directly from search_jobs results.

Company Search and Profiles

search_companies takes a query string and an optional l location filter, returning an items array of objects with id and name. These IDs feed into get_company_profile, which expects a company_slug_id in the format lowercase-hyphenated-name-id (e.g. capgemini-6026). The profile response includes name, profile_data (description, workplace highlights, a verbatim quote), the count of active job offers, and the page url.

Job Categories

get_job_categories requires no parameters and returns a categories object mapping display names (French métier labels) to their relative URL paths on HelloWork. This is useful for building category-driven browsing interfaces or for discovering the valid taxonomy before running targeted keyword searches.

Reliability & maintenanceVerified

The HelloWork API is a managed, monitored endpoint for hellowork.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hellowork.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official hellowork.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
10h ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate French job listings filtered by contract type and minimum salary for a compensation benchmarking dataset
  • Monitor new CDI postings in a specific city by polling search_jobs with location and date range filters
  • Build a company research tool that pulls HelloWork profile data including active job counts and workplace highlights
  • Enrich an ATS or recruiting CRM with full job descriptions fetched via get_job_details using IDs from search
  • Map job category taxonomy from get_job_categories to normalize listings from multiple French job boards
  • Track how many open roles a specific company has over time using get_company_profile's active offers count
  • Power a French job board aggregator that surfaces listings with salary, location, and contract type in one response
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does HelloWork have an official developer API?+
HelloWork does not publish a public developer API or documented REST interface for third-party use. This Parse API is the structured programmatic access point for HelloWork data.
What contract types can I filter by in search_jobs?+
The c parameter accepts French contract type codes such as CDI (permanent) and CDD (fixed-term). You can pass multiple types as a comma-separated string (e.g. CDI,CDD). The response labels each listing's contract field with the type found in the listing itself.
How does pagination work in search_jobs, and what is the practical limit?+
Each page returns approximately 30 listings. The page_limit parameter controls the maximum number of pages fetched in a single call. For broad keyword searches, setting a low page_limit keeps response times predictable; omitting it allows the endpoint to fetch all available pages, which can be substantial for common terms.
Does the API return candidate-side data like saved applications or user profiles?+
No. The API covers public-facing job listings, company profiles, and category data. Candidate accounts, application history, and saved searches are behind authentication on HelloWork and are not exposed by any endpoint. You can fork this API on Parse and revise it to add an endpoint if HelloWork ever exposes such data publicly.
Can I retrieve job listings for a specific company directly, without going through search_jobs?+
Not currently. The API fetches a company's active job offer count via get_company_profile, but does not return the individual listings for that company as a separate endpoint. You can fork this API on Parse and revise it to add a company-specific job listing endpoint.
Page content last updated . Spec covers 5 endpoints from hellowork.com.
Related APIs in JobsSee all →
welcometothejungle.com API
Search and discover job postings and company information from Welcome to the Jungle, including detailed job listings, company profiles with employee statistics and social links, and the ability to browse all available positions. Find the perfect role by searching jobs and companies, then access comprehensive details about positions and organizations in one place.
fr.indeed.com API
Search job listings and get detailed information about positions, companies, and alternance opportunities on Indeed France, all in one place. Access comprehensive company profiles and job details to find your next career move or research employers.
emploi.ma API
Search and browse job listings from Emploi.ma with detailed information about positions, companies, and available categories across the Moroccan job market. Access company profiles, featured job opportunities, and full job details including requirements, salary, and employment type.
profilculture.com API
Search and filter job listings in France's cultural and media sectors by keyword, sector, region, contract type, or job family to find employment opportunities and internships. Retrieve full details on specific job offers including requirements, contract terms, and position information.
emploitic.com API
Search and browse job listings and company profiles from Emploitic, with the ability to filter by wilayas, sectors, job functions, and experience levels. Access detailed job information and company hiring data to explore career opportunities and research potential employers.
totaljobs.com API
Search and browse job listings from across the UK on TotalJobs, then access detailed information about specific positions including requirements, salary, and application details. Quickly compare opportunities and find roles that match your criteria.
Workday Jobs API
Search and retrieve job postings and detailed descriptions from any company's Workday career site. Find open positions across all organizations using Workday's hiring platform and access complete job details in one place.
naukri.com API
naukri.com API