profilculture.com APIprofilculture.com ↗
Access job listings from ProfilCulture, France's cultural and media job board. Filter by sector, region, contract type, and job family via 10 endpoints.
curl -X GET 'https://api.parse.bot/scraper/98a9023f-6e90-46dd-98a0-3c3d81d5aab3/list_all_offers?page=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve all job offers with pagination. Returns approximately 20 offers per page across all categories (employment, internships, apprenticeships).
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
{
"type": "object",
"fields": {
"jobs": "array of job listing objects with title, employer, location, date_posted, is_urgent, contract_type, start_date, url, and id",
"page": "integer indicating the current page number"
},
"sample": {
"data": {
"jobs": [
{
"id": "490465",
"url": "https://www.profilculture.com/annonce/agent-accueil-polyvalent-galerie-dior-490465.html",
"title": "Agent.e d'accueil polyvalent.e - La Galerie Dior",
"employer": "Marianne International",
"location": "Paris 8e",
"is_urgent": true,
"start_date": "10 juin 2026",
"date_posted": "13/05/26",
"contract_type": "CDI"
}
],
"page": 1
},
"status": "success"
}
}About the profilculture.com API
The ProfilCulture API exposes 10 endpoints covering job listings and full offer details from France's dedicated cultural and media sector job board. The search_offers_combined endpoint lets you apply up to four filter dimensions simultaneously — keyword, region, sector, and contract type — while get_offer_detail returns per-offer fields including salary, application deadline, employer logo URL, and job sector.
Listing and Filtering Endpoints
The API provides three listing endpoints for broad retrieval: list_all_offers returns all active offers across employment, internship, and apprenticeship categories; list_employment_offers limits results to CDI and CDD contracts; and list_internship_offers covers stages, alternance, and civic service positions. All three accept an optional page integer for pagination, and each page returns approximately 20 job objects containing title, employer, location, date_posted, is_urgent, contract_type, start_date, url, and id.
Dimension-Specific Search Endpoints
Four endpoints narrow results by a single dimension. search_offers_by_sector accepts a comma-separated sector_ids string covering six sectors (e.g., 1 for Audiovisuel, 6 for Art/Architecture/Design). search_offers_by_contract_type maps eight contract types including CDI (1), Stage (7), and Alternance (8). search_offers_by_region supports all 18 metropolitan and overseas French regions via region_ids. search_offers_by_job_family filters by 13 professional families such as Communication/Promotion/Marketing (3) and Production/Réalisation/Programmation (4). All return the same jobs array shape plus the url string showing the constructed filter applied.
Keyword Search and Combined Filters
search_offers_by_keyword accepts a required keyword param and echoes it back in the response as keyword alongside the matching jobs array. For multi-dimensional queries, search_offers_combined accepts any combination of keyword, region_ids, sector_ids, contract_ids, and job_family_ids in a single call, making it the most flexible endpoint for building search or aggregation workflows.
Offer Detail
get_offer_detail accepts either a full listing url or a slug_id extracted from the URL path after /annonce/. It returns the most complete record: title, employer, location, contract_type, start_date, deadline, salary, sector, website, logo_url, and is_urgent. Fields like salary, deadline, and website are conditionally present depending on what the employer published.
- Aggregate CDI and CDD openings in the French audiovisual sector filtered by Île-de-France region for a job alert service.
- Monitor
is_urgentlistings daily across all categories to surface time-sensitive cultural sector roles. - Build a bilingual job board aggregating ProfilCulture internship offers filtered by
job_family_idsfor communication and marketing roles. - Extract
employer,website, andlogo_urlfromget_offer_detailto enrich a directory of French cultural organisations. - Track
date_postedanddeadlinefields across sectors to analyse hiring seasonality in France's live performance industry. - Pipe
search_offers_combinedresults into a candidate-matching tool using keyword, contract type, and region filters simultaneously. - Collect salary data from
get_offer_detailresponses to benchmark compensation in the French cultural and media job market.
| 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 ProfilCulture offer an official developer API?+
What is the difference between the single-dimension filter endpoints and `search_offers_combined`?+
search_offers_by_sector, search_offers_by_region, search_offers_by_contract_type, and search_offers_by_job_family each accept one filter dimension. search_offers_combined accepts all four dimensions plus a keyword in a single request, which is useful when you need to intersect multiple criteria — for example, Stage contracts in Bretagne within the Spectacle vivant sector.Which fields in `get_offer_detail` are not always present?+
salary, deadline, website, logo_url, sector, and start_date are conditionally returned only when the employer has included them in the listing. Fields like title, employer, location, and is_urgent are consistently present.Does the API expose the full job description text for each offer?+
get_offer_detail returns structured metadata fields such as title, employer, salary, sector, and deadline, but does not include the free-text job description body. You can fork this API on Parse and revise it to add a description field from the offer detail page.Are job listings from French overseas territories (DOM-TOM) included in region filtering?+
search_offers_by_region endpoint covers 18 region IDs including overseas regions; however, coverage depends on what employers have posted on ProfilCulture for those territories. Listings outside metropolitan France may be sparse. You can fork this API on Parse and revise it to add a dedicated overseas-only filter endpoint if needed.