APEC Jobs Scraper
Pricing
from $0.80 / 1,000 results
APEC Jobs Scraper
Extract APEC job listings at scale with structured data including job titles, companies, locations, descriptions, and job URLs. Built for reliable job market research, recruitment intelligence, employment analysis, lead generation, and automated job data collection.
Pricing
from $0.80 / 1,000 results
Rating
5.0
(6)
Developer
Shahid Irfan
Maintained by CommunityActor stats
4
Bookmarked
134
Total users
28
Monthly active users
9 hours ago
Last modified
Categories
Share
What does APEC Jobs Scraper do?
APEC Jobs Scraper extracts job listings from APEC.fr, the reference job board for French executive, manager, and specialist roles. Enter a keyword and a city, or paste a prepared APEC search URL, and the actor collects structured records with titles, companies, locations, salary text, contract details, publication dates, coordinates, and application links.
Every record is built entirely from APEC's search listing response. The actor does not open individual offer pages, which keeps runs fast and reliable. All listing fields are mapped, and the complete raw listing is preserved under api_listing.
Why use APEC Jobs Scraper?
- Maximum listing data - Every field published in the search listing is mapped, including flags, coordinates, contract IDs, sector IDs, and the full raw listing object.
- Fast - Up to 100 records per page, with no per-offer page visits.
- Resilient - Rotates the session, network exit, and client profile when a request is challenged, retries a failed page after the other pages are saved, and only stops when the API itself changes. A search with no matches completes instead of failing.
- Flexible search inputs - Search by keyword, filter by city or department, or reuse an APEC search URL with your prepared filters.
- Duplicate-free results - Offers are deduplicated by APEC reference across pages.
- Automation-ready output - Download results as JSON, CSV, Excel, XML, or connect them to Google Sheets, Make, Zapier, or your own systems.
What data can you extract from APEC.fr?
| Field | Description |
|---|---|
title | Job title as published on APEC |
title_highlighted | Highlighted title when APEC returns one |
company | Employer or advertiser name |
company_logo_url | Absolute URL of the employer logo when published |
location | Published job location text |
salary | Salary text as shown in the listing |
published_at | Publication date |
validated_at | Validation date |
contract_type_id / contract_duration | Contract type and duration |
sector_activity_id / sector_activity_parent_id | Sector identifiers |
remote_work_id | Remote-work identifier |
description_text / description_html | Description teaser from the listing |
applyLink | Application or detail URL |
latitude / longitude | Job coordinates when available |
is_localizable / is_confidential / is_direct_client | Location and offer visibility flags |
is_oqa_verified / is_low_candidature | Quality and applicant-interest flags |
origin_code / relevance_score | Source code and relevance score |
url | Direct APEC job detail URL |
api_listing | Complete raw listing object with every field returned by APEC |
How to use APEC Jobs Scraper
- Open the Actor on Apify Store.
- Enter a job keyword such as
ingenieur logicielorchef de projet. - Add a city or region such as
ParisorLyonwhen you need regional data. - Set the maximum number of jobs to collect with
results_wanted. - Run the Actor, then download the dataset or connect it to your workflow.
You can also paste a prepared APEC search URL into startUrl. The URL keyword is used when the keyword field is empty; explicit keyword and location inputs take precedence over the matching URL filters. Clearing the keyword with a location runs a location-only search.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | None | Direct APEC search URL. A supplied keyword or location overrides the matching URL filter. Clear the keyword field to run a URL-only or location-only search. |
keyword | String | No | "ingenieur" | Job title, skill, or keyword to search. Takes precedence over the keyword in startUrl. |
location | String | No | None | City, department, or region name, such as Paris, Lyon, or 75. Explicit location input overrides the location in startUrl. |
results_wanted | Integer | No | 20 | Maximum number of job records to collect. |
max_pages | Integer | No | 2 | Maximum number of search result pages to process. Each page holds up to 100 records. |
proxyConfiguration | Object | No | { "useApifyProxy": true, "apifyProxyGroups": ["UNBLOCKER"] } | Apify Proxy settings. Enabled by default with the Apify Unblocker group, the only group that currently passes APEC's DataDome check. The Actor falls back to French residential, then the account default. Custom proxy URLs are never overridden. |
Output Data
Each dataset item contains the fields available for that job. Empty values are removed.
| Field | Type | Description |
|---|---|---|
id, numeroOffre, listing_id | String / Number | APEC offer reference and internal listing ID. |
title, title_highlighted | String | Job title and highlighted variant. |
company, company_logo_url | String | Employer name and absolute logo URL. |
location | String | Published job location text. |
salary | String | Salary text as shown in the listing. |
published_at, validated_at | String | Publication and validation dates. |
contract_type_id, contract_duration | Number | Contract type and duration. |
sector_activity_id, sector_activity_parent_id | Number | Sector identifiers. |
remote_work_id | Number | Remote-work identifier when published. |
description_text, description_html | String | Description teaser from the listing. |
applyLink | String | Application or detail URL. |
latitude, longitude | Number or String | Job coordinates when available. |
is_localizable, is_confidential, is_direct_client | Boolean | Location, confidentiality, and direct-employer flags. |
is_oqa_verified, is_low_candidature | Boolean | Quality and applicant-interest flags. |
origin_code, relevance_score | Number | Source code and relevance score. |
url | String | Direct APEC job detail URL. |
source | String | Always listing. |
api_listing | Object | Complete raw listing object with every field returned by APEC. |
fetched_at | String | Extraction timestamp in UTC. |
Usage Examples
Basic Search
Collect 20 engineering-related jobs:
{"keyword": "ingenieur","results_wanted": 20,"max_pages": 1}
City Search
Collect project management jobs in Paris:
{"keyword": "chef de projet","location": "Paris","results_wanted": 30,"max_pages": 1}
High-Volume Listing Run
Collect 500 records across five pages:
{"keyword": "ingenieur","results_wanted": 500,"max_pages": 5}
Search from a Prepared URL
Reuse an APEC search URL with filters already applied on the website. Clear the keyword field so the URL keyword is used:
{"startUrl": "https://www.apec.fr/candidat/recherche-emploi.html/emploi?motsCles=data&lieux=69&typesContrat=101888","keyword": "","results_wanted": 20,"max_pages": 1}
Keyword and Location Search
Combine keyword and region filters for a focused dataset:
{"keyword": "ingenieur logiciel","location": "Lyon","results_wanted": 50,"max_pages": 1}
Sample Output
{"id": "179624958W","numeroOffre": "179624958W","listing_id": 179624958,"title": "Ingénieur Outils Logiciels Avionique F/H","title_highlighted": "Ingénieur Outils Logiciels Avionique F/H","company": "AIRBUS","company_logo_url": "https://www.apec.fr/files/live/mounts/images/media_entreprise/103417/logo_AIRBUS_103417.png","location": "Toulouse - 31","salary": "A négocier","published_at": "2026-10-20T15:54:35.000+0000","validated_at": "2026-10-20T15:54:35.000+0000","contract_type_id": 101888,"contract_duration": 0,"sector_activity_id": 101604,"sector_activity_parent_id": 101762,"remote_work_id": 20766,"description_text": "Airbus recherche un ingénieur outils logiciels pour contribuer à la conception et au maintien des outils de développement de l'avionique...","description_html": "<p>Airbus recherche un ingénieur outils logiciels pour contribuer à la conception et au maintien des outils de développement de l'avionique...</p>","applyLink": "https://www.apec.fr/candidat/recherche-emploi.html/emploi/detail-offre/179624958W","latitude": "43.596013","longitude": "1.4321019","is_localizable": true,"is_confidential": false,"is_direct_client": true,"is_oqa_verified": false,"is_low_candidature": false,"origin_code": 101859,"relevance_score": 15.0941305,"url": "https://www.apec.fr/candidat/recherche-emploi.html/emploi/detail-offre/179624958W","source": "listing","api_listing": {"id": 179624958,"numeroOffre": "179624958W","intitule": "Ingénieur Outils Logiciels Avionique F/H","intituleSurbrillance": "Ingénieur Outils Logiciels Avionique F/H","nomCommercial": "AIRBUS","urlLogo": "/media_entreprise/103417/logo_AIRBUS_103417.png","lieuTexte": "Toulouse - 31","salaireTexte": "A négocier","texteOffre": "Airbus recherche un ingénieur outils logiciels...","dateValidation": "2026-10-20T15:54:35.000+0000","datePublication": "2026-10-20T15:54:35.000+0000","indicateurOqa": false,"latitude": "43.596013","longitude": "1.4321019","localisable": true,"score": 15.0941305,"offreConfidentielle": false,"secteurActivite": 101604,"secteurActiviteParent": 101762,"clientReel": true,"contractDuration": 0,"typeContrat": 101888,"origineCode": 101859,"idNomTeletravail": 20766,"indicateurFaibleCandidature": false},"fetched_at": "2026-10-20T15:57:10.000Z"}
Tips for Best Results
- Use specific keywords - Search terms such as
data engineer,responsable marketing, orchef de projetreturn cleaner, more relevant datasets than single broad words. - Add a location for regional data - Combining
keywordandlocationnarrows results to the area you care about, such as Paris or Lyon. - Start small, then scale - Keep
results_wantedat20for a test run, then raise it once your query pattern is validated. - Raise
max_pagesfor larger pulls - Each page holds up to 100 records, so a higherresults_wantedabove 100 needs a matching page cap. - Use
api_listingfor advanced work - The raw object contains every listing field, including the highlighted title and description teaser. - Expect missing fields - Not every employer publishes every field. Empty values are removed to keep the dataset clean.
- Keep recurring runs comparable - Use the same keyword and location for scheduled reports so results stay consistent over time.
- Proxy is on by default - APEC challenges direct and datacenter connections. The Actor rotates the session, exit, and client profile automatically instead of failing.
Integrations
- Google Sheets - Review and share job datasets with your team.
- Airtable - Build searchable recruiting databases.
- Make - Automate notifications and enrichment flows.
- Zapier - Trigger workflows from new records.
- Webhooks - Send output to your own systems.
- API - Access datasets programmatically from your applications.
Export Formats
- JSON - Best for development workflows.
- CSV - Best for spreadsheet analysis.
- Excel - Best for reporting.
- XML - Best for system interchange.
Frequently Asked Questions
Does APEC Jobs Scraper collect full job descriptions?
It collects the description teaser published in the search listing. The actor does not open individual offer pages, so the full advert, skills, and candidate profile are not collected.
Can I search APEC jobs by city or region?
Yes. Set the location input to a city, department, or region such as Paris, Lyon, or 75. The actor resolves the name to APEC's place identifier before searching.
Can I use an APEC search URL directly?
Yes. Set startUrl to a prepared APEC search URL when you already have filters set up on the website. Clear the keyword field to use the URL keyword. Explicit keyword and location inputs override the matching URL filters.
How are duplicates handled?
Duplicate offers are skipped by APEC offer reference, both on the same page and across pages.
How long does a run take?
Listing-only extraction is fast: 100 records typically complete in a few seconds, and larger runs scale with the number of pages requested. A challenged request is retried with a fresh network exit, so a run can take longer when APEC is actively blocking exits.
What happens if the search has no matches?
The run completes successfully with an empty dataset and a warning in the log, and OUTPUT_SUMMARY records emptyResult: true. A run that never receives a usable response from APEC (for example because the proxy is disabled) fails with a clear message instead of reporting a fake empty result.
What if every run is blocked with a 403?
APEC uses DataDome, which scores the network exit rather than the request code. The retry log shows whether the block came from APEC (server=APEC Server, x-datadome=protected) or from the proxy itself. The Actor already tries the Apify Unblocker group, then French residential, then the account default. If every one of those exits is challenged, the account's proxy pool is blocked: check that Unblocker units are available for the billing cycle, or provide clean French residential proxies in proxyConfiguration.proxyUrls. Changing the keyword, payload, or browser profile does not clear that block.
Can I export the data to CSV or Excel?
Yes. Apify datasets can be downloaded as JSON, CSV, Excel, XML, and other supported formats.
Can I run this Actor on a schedule?
Yes. Use Apify schedules to run the actor hourly, daily, or weekly to monitor new French executive job postings.
Is it legal to scrape APEC.fr?
Scraping publicly available job data can be legal, but you are responsible for complying with applicable laws, website terms, and privacy rules in your jurisdiction.
Related Actors
Support
For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.
Legal Notice
This Actor is designed for legitimate data collection from publicly available sources. Users are responsible for using the data responsibly and complying with applicable laws and website terms.