JobTeaser Scraper | $0.8 / 1k | Fast & Reliable
Pricing
from $0.80 / 1,000 results
JobTeaser Scraper | $0.8 / 1k | Fast & Reliable
Extract structured JobTeaser job listings with company details, locations, contract types, signals, deadlines, and descriptions. Built for enterprise-grade hiring intelligence, early-career market analysis and automated recruiting or analytics pipelines.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
Fatih Tahta
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
JobTeaser Scraper | Fast & Reliable
Slug: fatihtahta/jobteaser-scraper
Overview
JobTeaser Scraper collects structured job listing data from JobTeaser, including titles, listing URLs, company details, location metadata, contract information, remote-work indicators, deadlines, and description content when available. The actor helps teams build consistent datasets for research, reporting, enrichment, and operational workflows without manual copy-paste. JobTeaser is a Europe-focused early-career job platform, making it a useful source for internships, apprenticeships, graduate programs, and entry-level hiring data. By automating collection and standardizing records, the actor saves time and reduces the variability that comes with manual gathering. It is well suited to recurring runs where freshness, coverage, and dependable output matter.
Why Use This Actor
- Market research and analytics teams: Track hiring volume, role mix, employer activity, and regional trends across student and graduate hiring markets.
- Product and content teams: Identify recurring job themes, popular categories, and employer messaging to inform content planning, landing pages, or editorial calendars.
- Developers and data engineering teams: Feed structured job records into warehouses, dashboards, ETL pipelines, or downstream APIs with minimal cleanup.
- Lead generation and enrichment teams: Build targeted lists of employers, listings, and hiring signals for account research, segmentation, or outreach preparation.
- Monitoring and competitive tracking teams: Re-run the same searches over time to spot changes in employer demand, location coverage, or contract mix.
Input Parameters
Provide any combination of URLs, queries, and filters…
| Parameter | Type | Description | Default |
|---|---|---|---|
listing_language | string | Interface language used during the run. Allowed values: fr (Français), da (Dansk), de (Deutsch), es (Español), nl (Nederlands), en (English). This changes the JobTeaser browsing language, not the spoken-language requirement of the job. | en |
queries | string | One search term such as a job title, skill, employer name, or career area. It uses the selected location and any filters below. | – |
location | string | City, region, or country to search, such as Paris, Lyon, or Barcelona, Spain. Use with queries to focus on a specific hiring market. | – |
radius | string | Search radius around the selected location. Allowed values: 5 (5 Kilometers), 10 (10 Kilometers), 20 (20 Kilometers), 30 (30 Kilometers), 50 (50 Kilometers). | 30 |
abroad_only | boolean | When enabled, keeps only listings marked as international opportunities. Useful for cross-border roles, placements abroad, or mobility programs. | false |
candidacy_type | string | Limits results by application flow. Allowed value: INTERNAL (Simplified application). | – |
company_business_type | string[] | Filters by employer type. Allowed values: large (Large company), startup (Start-up), sme (SME), ngo_public_lab (Government/ Charity/ Public Institution/ Other), collective (Collective). | – |
company_sectors | string[] | Filters by employer industry. Allowed values: audit (Audit), consultancy (Consulting), law (Legal), management_consultancy (Management Consulting), accounting_services (Accounting Services), banking_finance (Banking / Finance), insurance (Insurance), real_estate (Real Estate), building_planning (Building / Planning), architecture (Architecture / Design), luxury (Luxury / Fashion), retail (Retail), consumer_goods (Consumer Goods), energy_utilities (Energy / Utilities / Oil & Gas), environment (Environment), agribusiness (Food & Beverage), aerospace (Aerospace), automotive (Automotive), chemistry (Chemistry), defense (Defense), electronics (Electronics), materials (Materials), other_industries (Other Industries), agriculture (Agriculture / Forest industry), maritime (Maritime / Railway), it_consultancy_it (IT / IT Consulting / Software), telecoms (Telecoms), cosmetics (Cosmetics), medicine_pharmaceuticals_health (Medicine / Pharmaceuticals / Health), recruitment_training (Recruitment / Training), catering (Catering), transport_logistics (Transport / Logistics), other_services_to_individuals_and_businesses (Other services to individuals and businesses), r_d (R&D / Design), engineering (Engineering), digital_e_commerce (Digital / E-commerce), media_publishing (Media / Publishing), communication_advertising (Communication / Advertising), public_education (Public / Government / Education / Armed Forces), social_ngo (Social / NGO / Charity), tourism_hospitality (Events / Tourism / Hospitality), leisure_culture_sports (Leisure / Culture / Sports), other_category (Other). | – |
contract | string[] | Filters by contract type. Allowed values: internship (Internship), alternating (Apprenticeship), cdd (Fixed-term Position), cdi (Full time Position), graduate_program (Graduate Programme / Job Rotation Programme), vie (International Graduate Business Placements (VIE)), part_time (Part-time / Student job), thesis (Research / Doctorate), freelance (Freelance/Independent), master_thesis (Bachelor or Master Thesis), industry_master_job (Industry Master Job). | – |
duration | string[] | Filters by contract duration. Allowed values: 3 (1 - 3 months), 6 (4 - 6 months), 9 (7 - 9 months), 12 (10 - 12 months), 18 (13 - 18 months), 24 (19 - 24 months), 36 (25 - 48+ months). | – |
experience | string[] | Filters by candidate experience level. Allowed values: young_graduate (Student / Recent Graduate), three_to_five_years (3 to 5 years), six_to_ten_years (6 to 10 years), more_than_ten_years (More than 10 years). | – |
language | string[] | Filters by listing language market. Allowed values: en (English), fr (French), es (Spanish), de (German), da (Danish), sv (Swedish), ca (Catalan), cs (Czech), fi (Finnish), gl (Galician), it (Italian), no (Norwegian), nl (Dutch), pl (Polish), pt (Portuguese). | – |
degree | string[] | Filters by education level. Allowed values: 1 (No level prerequired), 6 (Secondary education, High school level), 2 (Vocational, Under-bachelor, Short-cycle higher education level), 3 (Bachelor level or equivalent), 4 (Master level or equivalent), 5 (Doctorate). | – |
start_date | string[] | Filters by expected start date. Allowed values: 0 (As soon as possible), 2026_03 (March 2026), 2026_04 (April 2026), 2026_05 (May 2026), 2026_06 (June 2026), 2026_07 (July 2026), 2026_08 (August 2026), 2026_09 (September 2026), 2026_10 (October 2026), 2026_11 (November 2026), 2026_12 (December 2026), 2027_01 (January 2027), 2027_02 (February 2027), 2027_03 (March 2027), 2027_04 (April 2027), 2027_05 (May 2027), 2027_06 (June 2027), 2027_07 (July 2027), 2027_08 (August 2027), 2027_09 (September 2027), 2027_10 (October 2027), 2027_11 (November 2027), 2027_12 (December 2027), 2028_01 (January 2028), 2028_02 (February 2028). | – |
remote_types | string[] | Filters by remote-work setting. Allowed values: remote_partial (Remote work occasionally allowed), remote_full (Full remote work allowed). | – |
job_with_impact | boolean | When enabled, keeps only listings from employers highlighted for social or environmental impact. | false |
enrich_data | boolean | When enabled, opens each listing page to collect additional public fields. When disabled, saves the lighter search-results version without making those extra listing requests. | true |
maximize_coverage | boolean | When enabled, collects as many matching listings as possible for the selected search criteria. Recommended for broader research or monitoring runs. | true |
limit | integer | Maximum number of job listings to save. Lower values are useful for quick tests; higher values are better for larger snapshots. | 50000 |
Example Input
{"listing_language": "en","queries": "data analyst internship","location": "Paris, France","radius": "30","contract": ["internship", "alternating"],"enrich_data": true,"remote_types": ["remote_partial"],"limit": 1500}
Input Recipes
Internships in Paris
Use this recipe to collect internship listings in and around Paris.
{"listing_language": "en","queries": "internship","location": "Paris, France","radius": "30","contract": ["internship"],"limit": 500}
Remote software jobs
Use this recipe to focus on software-related roles with remote flexibility.
{"listing_language": "en","queries": "software engineer","company_sectors": ["it_consultancy_it", "digital_e_commerce"],"remote_types": ["remote_partial", "remote_full"],"limit": 500}
Impact-driven employers
Use this recipe to collect jobs from employers highlighted for social or environmental impact.
{"listing_language": "en","queries": "sustainability","job_with_impact": true,"location": "Paris, France","radius": "30","limit": 500}
Finance apprenticeships in France
Use this recipe to find apprenticeship opportunities from finance employers in France.
{"listing_language": "en","queries": "finance","location": "France","contract": ["alternating"],"company_sectors": ["banking_finance"],"limit": 500}
Output
6.1 Output destination
The actor writes results to an Apify dataset as JSON records. Each item is a single enriched JobTeaser listing that keeps the raw listing identity at the top level and groups related fields into nested objects for easier downstream use.
6.2 Record layout
Each dataset item is one job listing with these top-level sections:
id,title,url: stable listing identity and canonical page URL.company,company_profile,company_taxonomy: employer identity, public profile labels, and normalized sector/business codes.primary_location,locations,google_locations: normalized location data for the main place and any additional places.contract,classification,requirements,work_arrangement,compensation: hiring, category, education, remote-work, and pay details.application,application_flags: apply flow details and platform-level application flags.dates,status,search_metadata,listing_flags: timing, listing lifecycle, discovery context, and user-facing flags.content: plain text, HTML, and rich-text versions of the job description.platform_metadata,source_context: JobTeaser platform metadata and scrape provenance.
Recommended dedupe key: id
If you combine this actor with other sources, use a composite key such as source_context.domain + ":" + id.
6.3 Full Data Record Example
{"id": "5a07f75f-057c-48d8-a665-838e4d20dd30","title": "Alternance Ingénieur Commercial ETI IDF F/H","url": "https://www.jobteaser.com/en/job-offers/5a07f75f-057c-48d8-a665-838e4d20dd30-bouygues-telecom-alternance-ingenieur-commercial-eti-idf-f-h","company": {"id": "9c8b6f42-5374-449b-ae02-e9d46ac52f25","name": "Bouygues Telecom","legal_name": "Bouygues Telecom","legal_id": "397480930","profile_url": "https://www.jobteaser.com/en/companies/bouygues-telecom","logo_url": "https://next.jobteasercdn.com/_next/image/img.jpg?q=75&url=https%3A%2F%2Fd1guu6n8gz71j.cloudfront.net%2Fsystem%2Fasset%2Flogos%2F1620%2Flogo.png%3F1435825890&w=128","cover_image_url": "https://next.jobteasercdn.com/_next/image/img.jpg?q=75&url=https%3A%2F%2Fd1guu6n8gz71j.cloudfront.net%2Fsystem%2Fasset%2Fcovers%2F7104128%2Foriginal.jpg%3F1709245126&w=1920"},"company_profile": {"summary": "Technologies, Télécoms","type_label": "Large company","size_label": "11K employees","industry_label": "Telecoms"},"company_taxonomy": {"business_type_code": "large","main_sector_code": "telecoms","sector_codes": ["telecoms"],"industry_ids": ["34b69128-b296-4bba-9306-033759b1ee12"],"space_visibility": "SPACE_VISIBILITY_FULL"},"primary_location": {"label": "Boulogne-Billancourt, 92100 (France)","address": "Boulogne-Billancourt, 92100 (France)","city": "Boulogne-Billancourt","region": "Île-de-France","sub_region": "Hauts-de-Seine","country": "France","place_id": "ChIJYUevEOh65kcRkH_Y4caCCxw","latitude": 48.833209,"longitude": 2.2359802},"locations": [{"address": "Boulogne-Billancourt, 92100, France","city": "Boulogne-Billancourt","region": "Île-de-France","sub_region": "Hauts-de-Seine","country": "France","place_id": "ChIJYUevEOh65kcRkH_Y4caCCxw","latitude": 48.833209,"longitude": 2.2359802}],"google_locations": [{"address": "Boulogne-Billancourt, 92100, France","city": "Boulogne-Billancourt","region": "Île-de-France","sub_region": "Hauts-de-Seine","country": "France","place_id": "ChIJYUevEOh65kcRkH_Y4caCCxw","latitude": 48.833209,"longitude": 2.2359802}],"location_count": 1,"has_multiple_locations": false,"contract": {"label": "Apprenticeship 10 to 12 months","code": "alternating","duration_min_months": 10,"duration_max_months": 12},"classification": {"category_name": "Sales & Business Development","category_id": "b013338e-9d5e-4784-8196-02618df3d865","department": "Sales & Business Development","language_code": "fr","work_experience_code": "young_graduate","employment_types": ["PART_TIME","INTERN"]},"requirements": {"study_level": "Master level or equivalent","study_level_code": "STUDY_LEVEL_MASTER","study_level_codes": ["STUDY_LEVEL_MASTER"],"education_requirement": "postgraduate degree"},"work_arrangement": {"job_location_type": "TELECOMMUTE","remote_policy": "Partial","remote_policy_code": "REMOTE_TYPE_PARTIAL_ALLOWED","remote_policy_type": "partially_remote"},"compensation": {"display_text": "Information not provided","min": 0,"max": 0,"status": "undefined"},"application": {"direct_apply": false,"type": "external_application","channel_code": "CANDIDACY_TYPE_EXTERNAL","message_type": "CANDIDACY_MESSAGE_TYPE_TEXT","internal_type": "short_description","external_url": "https://bouygues-telecom.contactrh.com/jobs/10505/44118950","external_id": "749"},"application_flags": {"flow_enabled": true,"ai_validation_allowed": false,"screening_questions_enabled": true,"is_internal": false,"internal_apply_authorized": false,"cv_only_enabled": true},"dates": {"published_at": "2026-04-20T12:00:02Z","activated_at": "2026-04-20T12:00:02Z","first_activated_at": "2026-04-20T12:00:02Z","expected_archive_at": "2026-05-20T12:00:02Z","application_deadline": "As long as the job is online","valid_through": "2026-05-20T12:00:02.000Z","start_date": "As soon as possible","start_period": "0","immediate_start": true},"status": {"is_active": true,"career_center_status": "CAREER_CENTER_STATUS_ACCEPTED","genai_status": "GENAI_STATUS_NOT_GENERATED","premium": false,"private_offer": false,"exclusive": false},"search_metadata": {"career_center_name": "JobTeaser","search_index": "job_ads_search_en","result_position": 4,"publication_type": "standard_credit","publication_score": 3},"listing_flags": {"created_by_student_or_alumni": false,"is_seen": false,"is_liked": false,"can_be_liked": false,"posted_by_partner_company": false,"is_career_center": false},"content": {"description_text": "Description de l'entreprise : ...... l'humain et qui prône l'innovation au titre de la satisfaction de ses clients et de ses collaborateurs. </p> </li> </ul> <p>Et après ? Au sein de Bouygues Telecom nous facilitons la mobilité interne. Vous pourrez ensuite évoluer vers d’autres postes au sein du groupe. </p>","description_rich_text": [{"content": "Description de l'entreprise :","type": "text"},{"tagName": "br","type": "tag"},{"tagName": "p","children": [{"content": "Depuis notre création en 1996, toutes nos collaboratrices et tous nos collaborateurs ont la même ambition : être l'opérateur qui met le numérique au service des relations humaines.","type": "text"},{"tagName": "br","type": "tag"},{"content": "Nous innovons au service de technologies qui font grandir les amitiés, les liens de famille, les histoires d'amour, les engagements solidaires, les projets collectifs.","type": "text"},{"tagName": "br","type": "tag"},{"content": "Nous avons créé le premier forfait illimité, nous avons lancé l'internet mobile.","type": "text"},{"tagName": "br","type": "tag"},{"content": "Chaque jour, nous redoublons d'efforts pour fournir un réseau encore plus puissant et étendu pour connecter tous les territoires.","type": "text"},{"tagName": "br","type": "tag"},{"content": "Nous sommes 10 500 artisans des liens humains, passionnés, au service de 28 millions de personnes partout en France.","type": "text"},{"tagName": "br","type": "tag"},{"content": "Nous sommes 10 500 engagés pour l'inclusion, tous différents : par notre parcours, notre métier, nos idées.","type": "text"},{"tagName": "br","type": "tag"},{"content": "Alors si pour vous mettre le numérique au service des relations humaines est un métier, on est fait pour être ensemble.","type": "text"}],"type": "tag"},{"tagName": "br","type": "tag"},{"content": "Description du poste :","type": "text"},{"tagName": "br","type": "tag"},{"tagName": "p","children": [{"content": "Si dans votre métier vous aimez créer du lien, on est fait pour être ensemble","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Ce que l’on vous propose","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Au sein de l’équipe commerciale dédiée au segment ETI, vous rejoignez une équipe engagée et passionnée, au cœur du développement commercial.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Cette alternance est pensée pour vous immerger pleinement dans les missions d’un Ingénieur Commercial, avec un accompagnement structuré et une montée en compétence progressive.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Rejoindre l’équipe, c’est découvrir l’univers télécom et développer des compétences commerciales solides.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Ce que vous ferez au quotidien","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "En tant qu’Alternant Ingénieur Commercial F/H, vous vivrez un rôle complet et responsabilisant, au plus près du terrain.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Vos missions seront les suivantes :","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "1. Support aux Ingénieurs Commerciaux de l’équipe","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "• Contribuer au bon déroulement de l’activité commerciale.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "• Participer à la coordination des actions transverses.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "2. Prise en charge de chantiers transverses","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "• Gérer des sujets transverses liés à l’amélioration des processus.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "• Être force de proposition au sein de l’équipe.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "3. Contribution active à la prospection","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "• Participer à l’identification de nouvelles opportunités.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "• Appuyer les IC dans leurs démarches commerciales terrain.","type": "text"}],"type": "tag"},{"tagName": "br","type": "tag"},{"content": "Description du profil :","type": "text"},{"tagName": "br","type": "tag"},{"tagName": "p","children": [{"content": "À propos de vous","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "ul","children": [{"type": "text"},{"tagName": "li","children": [{"content": "Vous préparez un diplôme de niveau Bac+3 à Bac+5 dans le domaine commercial.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "li","children": [{"content": "Vous avez déjà vécu une première expérience commerciale en stage ou en alternance.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "li","children": [{"content": "Le rythme attendu : 1 semaine à l’école / 3 semaines en entreprise.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "li","children": [{"content": "Vous souhaitez développer vos compétences commerciales, apprendre un métier terrain, et évoluer dans un environnement stimulant et collaboratif.","type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "On dit de vous que vous êtes :","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "ul","children": [{"type": "text"},{"tagName": "li","children": [{"content": "Doté d'une forte écoute et d'une bonne posture","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "li","children": [{"content": "A l'aise avec la prospection","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "li","children": [{"content": "Capable de construire un discours commercial structuré","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "li","children": [{"content": "A l'aise avec les logiciels métiers et outils du Pack Office","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "li","children": [{"content": "Sensible aux sujets liés à la tech et à l’IA","type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Chez Bouygues Telecom, vous apprécierez :","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Un environnement de travail qui valorise l’humain, l’autonomie, l’audace et l’innovation.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Nous investissons dans la formation, l’apprentissage par la pratique, la montée en compétence par l’accompagnement et la prise d’initiative.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "La rémunération :","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Une rémunération attractive sur 13,1 mois, la participation/intéressement, un PEE et un PERCOL abondés, ainsi que les avantages CSE.","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"type": "text"}],"type": "tag"},{"tagName": "br","type": "tag"},{"content": "Nous proposons :","type": "text"},{"tagName": "br","type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Chez Bouygues Telecom, vous apprécierez :","type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "ul","children": [{"type": "text"},{"tagName": "li","children": [{"type": "text"},{"tagName": "p","children": [{"content": "Les modalités de votre future rémunération : selon votre expérience, une rémunération fixe annuelle sur 13,1 mois + participation/intéressement + Plan Epargne Entreprise (PEE) et PERCO abondés + avantages CSE + subvention restaurant.","type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "ul","children": [{"type": "text"},{"tagName": "li","children": [{"type": "text"},{"tagName": "p","children": [{"content": "Un pacte de télétravail proposant jusqu’à 2 jours par semaine pour les contrats en CDI.","type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "ul","children": [{"type": "text"},{"tagName": "li","children": [{"type": "text"},{"tagName": "p","children": [{"content": "Rejoindre une entreprise engagée socialement qui propose à ses collaboratrices et collaborateurs de passer 4 demi-journées par an au sein d'associations pour réduire la fracture numérique, par exemple.","type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "ul","children": [{"type": "text"},{"tagName": "li","children": [{"type": "text"},{"tagName": "p","children": [{"content": "La culture centrée sur l'humain et qui prône l'innovation au titre de la satisfaction de ses clients et de ses collaborateurs.","type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"}],"type": "tag"},{"type": "text"},{"tagName": "p","children": [{"content": "Et après ? Au sein de Bouygues Telecom nous facilitons la mobilité interne. Vous pourrez ensuite évoluer vers d’autres postes au sein du groupe.","type": "text"}],"type": "tag"}]},"platform_metadata": {"school_id": "00000000-0000-0000-0000-000000000000","partner_school_ids": ["0bfcb89a-286b-434a-a143-a13dac5e8b9e","e7821031-2c34-4494-ab5a-703369111cb6","d5622248-4430-4aac-b615-ba678a45846f","851662f6-051a-47e3-a42e-b249981e5bf0","64fe943c-fb34-46d3-9380-844bfbe18d4b","344141eb-95a2-415a-bdcb-3386fdce9134","6a8975f3-d6eb-4a39-9e11-5baa9ccf4fd8","d1e0c2b9-51c7-4659-834c-6ce4921f482d","cd23dd93-6ba1-4166-91c4-9fbbc7dbb9ff","cd622280-e1db-4859-914e-379f79a42b26","d28ae08d-488e-4af1-a647-8315e4ec260d","221459d1-c642-49e8-b1af-63b52105f973","76603c90-e622-43a8-82eb-82c0665f1003","e7e5e31f-853a-4027-95fe-23aef540daec","ad6206e3-ea8d-4061-bdeb-e14efb87f45f","9cd729f5-d7c6-4cd0-9246-8f82d2673318","8a723a3a-f801-4cf9-9f58-13d213ec090f","3a400530-32e1-4d79-9774-f5535a3f283d","5e5fc2bc-4362-4a15-9e98-e7b8a40f7b77","d07b5dbe-5110-46ad-b1cd-1879cf53de3b","ffebf613-0961-44d2-bd87-f9c3b1f5ed51","9e5f8d6d-c5d3-4476-9b07-83fe68e6dcd8","a9d538de-90e7-4bed-bbee-faa4d3d975c4","4418c51a-2d26-428d-9ed9-198e209ce64a","d74e8659-86f8-411e-a63b-27cb6c58f1cf","7d7e920c-1225-4f4c-bf17-d41c642c5867","4a1e30fc-c528-43d2-bb93-7a0d4c1dde2d","4c9ef51e-e918-4a22-af36-2ee4a9f43513","6e2b8ca2-e525-42f1-983d-2c8e9b2addd5","d8ffdf55-6301-4994-b6d4-6d66679e2417","40599e75-a938-4a71-8da7-a0a694032629","a91557c4-1167-4d65-824e-bb86601cd911","c5103e1c-f019-4e03-94e2-88769dc6e128","fbb151a0-0b03-4abf-958e-4c8bd3aedc90","d5639460-0e59-465e-8253-f006a0d5ebac","3512693b-d38f-472e-b046-a74aa491a218","b739df52-a330-42e9-bd44-16371edcb22a","9fa6462a-2a7f-43f3-819f-7854d163c5e6","814e4776-10fa-4a48-adef-2ef29ee066d0","89d412b1-b28c-413c-93de-0ac92818c6f2","0f985640-ea9f-462b-b40a-493c3dc5b66d","b4197c5f-10a8-4649-9b3d-d7cad1f178d6"],"legacy_partner_school_ids": ["0bfcb89a-286b-434a-a143-a13dac5e8b9e","e7821031-2c34-4494-ab5a-703369111cb6","d5622248-4430-4aac-b615-ba678a45846f","851662f6-051a-47e3-a42e-b249981e5bf0","64fe943c-fb34-46d3-9380-844bfbe18d4b","344141eb-95a2-415a-bdcb-3386fdce9134","6a8975f3-d6eb-4a39-9e11-5baa9ccf4fd8","d1e0c2b9-51c7-4659-834c-6ce4921f482d","cd23dd93-6ba1-4166-91c4-9fbbc7dbb9ff","cd622280-e1db-4859-914e-379f79a42b26","d28ae08d-488e-4af1-a647-8315e4ec260d","221459d1-c642-49e8-b1af-63b52105f973","76603c90-e622-43a8-82eb-82c0665f1003","e7e5e31f-853a-4027-95fe-23aef540daec","ad6206e3-ea8d-4061-bdeb-e14efb87f45f","9cd729f5-d7c6-4cd0-9246-8f82d2673318","8a723a3a-f801-4cf9-9f58-13d213ec090f","3a400530-32e1-4d79-9774-f5535a3f283d","5e5fc2bc-4362-4a15-9e98-e7b8a40f7b77","d07b5dbe-5110-46ad-b1cd-1879cf53de3b","ffebf613-0961-44d2-bd87-f9c3b1f5ed51","9e5f8d6d-c5d3-4476-9b07-83fe68e6dcd8","a9d538de-90e7-4bed-bbee-faa4d3d975c4","4418c51a-2d26-428d-9ed9-198e209ce64a","d74e8659-86f8-411e-a63b-27cb6c58f1cf","7d7e920c-1225-4f4c-bf17-d41c642c5867","4a1e30fc-c528-43d2-bb93-7a0d4c1dde2d","4c9ef51e-e918-4a22-af36-2ee4a9f43513","6e2b8ca2-e525-42f1-983d-2c8e9b2addd5","d8ffdf55-6301-4994-b6d4-6d66679e2417","40599e75-a938-4a71-8da7-a0a694032629","a91557c4-1167-4d65-824e-bb86601cd911","c5103e1c-f019-4e03-94e2-88769dc6e128","fbb151a0-0b03-4abf-958e-4c8bd3aedc90","d5639460-0e59-465e-8253-f006a0d5ebac","3512693b-d38f-472e-b046-a74aa491a218","b739df52-a330-42e9-bd44-16371edcb22a","9fa6462a-2a7f-43f3-819f-7854d163c5e6","814e4776-10fa-4a48-adef-2ef29ee066d0","89d412b1-b28c-413c-93de-0ac92818c6f2","0f985640-ea9f-462b-b40a-493c3dc5b66d","b4197c5f-10a8-4649-9b3d-d7cad1f178d6"],"creation_source": "multiposting","paid_with": "freemium","sequence_number": 1},"source_context": {"seed_type": "query","seed_value": "engineer","search_url": "https://www.jobteaser.com/en/job-offers?lat=48.853495&lng=2.348391&localized_location=France&localized_location=Paris&location=France%3A%3A%C3%8Ele-de-France%3A%3AParis%3A%3AParis%3A%3A_bG9jYWxpdHk6ZnI6Y2l0eTpmemVIZnJnZDJQekhETTNCZXE0NlUyL3pFMG89&q=engineer&radius=30","scraped_at": "2026-04-20T14:21:06.141493+00:00","page_index": 1,"result_position": 4,"domain": "www.jobteaser.com"}}
Field reference
Root fields
- id (string, required): Stable JobTeaser listing identifier.
- title (string, required): Job title as shown on the listing.
- url (string, required): Canonical public listing URL.
- location_count (integer, optional): Number of normalized locations attached to the listing.
- has_multiple_locations (boolean, optional): Whether the listing references more than one location.
company
- company.id (string, optional): Stable JobTeaser company identifier.
- company.name (string, optional): Display name of the employer.
- company.legal_name (string, optional): Legal company name when exposed.
- company.legal_id (string, optional): Public legal registration identifier when available.
- company.profile_url (string, optional): Public JobTeaser company profile URL.
- company.logo_url (string, optional): Company logo image URL.
- company.cover_image_url (string, optional): Company cover image URL.
company_profile
- company_profile.summary (string, optional): Short employer summary or tagline.
- company_profile.type_label (string, optional): Human-readable company type label.
- company_profile.size_label (string, optional): Human-readable company size label.
- company_profile.industry_label (string, optional): Human-readable industry label.
company_taxonomy
- company_taxonomy.business_type_code (string, optional): Normalized employer type code.
- company_taxonomy.main_sector_code (string, optional): Primary normalized sector code.
- company_taxonomy.sector_codes (array[string], optional): All normalized sector codes attached to the employer.
- company_taxonomy.industry_ids (array[string], optional): Internal JobTeaser industry identifiers.
- company_taxonomy.space_visibility (string, optional): JobTeaser visibility scope for the company profile.
primary_location
- primary_location.label (string, optional): Display label for the main location.
- primary_location.address (string, optional): Main location address string.
- primary_location.city (string, optional): City.
- primary_location.region (string, optional): Region or administrative area.
- primary_location.sub_region (string, optional): More specific administrative subdivision.
- primary_location.country (string, optional): Country.
- primary_location.place_id (string, optional): Place identifier from the normalized location source.
- primary_location.latitude (number, optional): Latitude coordinate.
- primary_location.longitude (number, optional): Longitude coordinate.
locations and google_locations
- locations (array[object], optional): All normalized listing locations.
- locations[].address (string, optional): Address string.
- locations[].city (string, optional): City.
- locations[].region (string, optional): Region or administrative area.
- locations[].sub_region (string, optional): More specific administrative subdivision.
- locations[].country (string, optional): Country.
- locations[].place_id (string, optional): Place identifier.
- locations[].latitude (number, optional): Latitude coordinate.
- locations[].longitude (number, optional): Longitude coordinate.
- google_locations (array[object], optional): Google-normalized locations when separately available.
- google_locations[].address (string, optional): Address string.
- google_locations[].city (string, optional): City.
- google_locations[].region (string, optional): Region or administrative area.
- google_locations[].sub_region (string, optional): More specific administrative subdivision.
- google_locations[].country (string, optional): Country.
- google_locations[].place_id (string, optional): Place identifier.
- google_locations[].latitude (number, optional): Latitude coordinate.
- google_locations[].longitude (number, optional): Longitude coordinate.
contract
- contract.label (string, optional): Contract label as displayed on the listing.
- contract.code (string, optional): Normalized contract code.
- contract.duration_min_months (integer, optional): Minimum contract duration in months.
- contract.duration_max_months (integer, optional): Maximum contract duration in months.
classification
- classification.category_name (string, optional): Human-readable job category.
- classification.category_id (string, optional): JobTeaser category identifier.
- classification.department (string, optional): Department or team label.
- classification.language_code (string, optional): Listing language code.
- classification.work_experience_code (string, optional): Normalized experience level code.
- classification.employment_types (array[string], optional): Employment type codes associated with the listing.
requirements
- requirements.study_level (string, optional): Human-readable study level.
- requirements.study_level_code (string, optional): Primary normalized study level code.
- requirements.study_level_codes (array[string], optional): All normalized study level codes.
- requirements.education_requirement (string, optional): Education requirement text.
work_arrangement
- work_arrangement.job_location_type (string, optional): Normalized location type code.
- work_arrangement.remote_policy (string, optional): Human-readable remote-work policy.
- work_arrangement.remote_policy_code (string, optional): Platform remote-work code.
- work_arrangement.remote_policy_type (string, optional): Normalized remote-work type.
compensation
- compensation.display_text (string, optional): Salary or compensation text shown to users.
- compensation.min (number, optional): Parsed minimum compensation value when available.
- compensation.max (number, optional): Parsed maximum compensation value when available.
- compensation.status (string, optional): Compensation availability or parsing status.
application
- application.direct_apply (boolean, optional): Whether candidates can apply directly on JobTeaser.
- application.type (string, optional): Normalized application flow type.
- application.channel_code (string, optional): Platform application channel code.
- application.message_type (string, optional): Platform application message type code.
- application.internal_type (string, optional): Internal application subtype when present.
- application.external_url (string, optional): External application URL.
- application.external_id (string, optional): External application identifier when exposed.
application_flags
- application_flags.flow_enabled (boolean, optional): Whether the application flow is enabled.
- application_flags.ai_validation_allowed (boolean, optional): Whether AI validation is allowed by the platform.
- application_flags.screening_questions_enabled (boolean, optional): Whether screening questions are enabled.
- application_flags.is_internal (boolean, optional): Whether the application flow is internal to JobTeaser.
- application_flags.internal_apply_authorized (boolean, optional): Whether internal apply is authorized.
- application_flags.cv_only_enabled (boolean, optional): Whether CV-only application is enabled.
dates
- dates.published_at (string, optional): Listing publication timestamp.
- dates.activated_at (string, optional): Current activation timestamp.
- dates.first_activated_at (string, optional): First activation timestamp.
- dates.expected_archive_at (string, optional): Expected archive timestamp.
- dates.application_deadline (string, optional): Human-readable application deadline.
- dates.valid_through (string, optional): Machine-readable valid-until timestamp.
- dates.start_date (string, optional): Human-readable expected start date.
- dates.start_period (string, optional): Normalized start-period code.
- dates.immediate_start (boolean, optional): Whether the role is marked for immediate start.
status
- status.is_active (boolean, optional): Whether the listing is currently active.
- status.career_center_status (string, optional): Platform listing status code.
- status.genai_status (string, optional): Platform generative-AI processing status.
- status.premium (boolean, optional): Whether the listing is marked as premium.
- status.private_offer (boolean, optional): Whether the listing is private.
- status.exclusive (boolean, optional): Whether the listing is exclusive.
search_metadata
- search_metadata.career_center_name (string, optional): Career center or surface name used during discovery.
- search_metadata.search_index (string, optional): Search index name used by the platform.
- search_metadata.result_position (integer, optional): Position of the listing in the search results page.
- search_metadata.publication_type (string, optional): Publication type or credit class.
- search_metadata.publication_score (number, optional): Platform ranking or publication score.
listing_flags
- listing_flags.created_by_student_or_alumni (boolean, optional): Whether the listing was created by a student or alumni account.
- listing_flags.is_seen (boolean, optional): Whether the listing is marked as seen in the browsing session.
- listing_flags.is_liked (boolean, optional): Whether the listing is marked as liked in the browsing session.
- listing_flags.can_be_liked (boolean, optional): Whether the listing can be liked.
- listing_flags.posted_by_partner_company (boolean, optional): Whether the listing was posted by a partner company.
- listing_flags.is_career_center (boolean, optional): Whether the listing is tied to a career-center surface.
content
- content.description_text (string, optional): Plain-text listing description.
- content.description_html (string, optional): HTML version of the listing description.
- content.description_rich_text (array[object], optional): Structured rich-text representation of the description.
- content.description_rich_text[].type (string, optional): Node type, such as
textortag. - content.description_rich_text[].content (string, optional): Text content for text nodes.
- content.description_rich_text[].tagName (string, optional): HTML-style tag name for tag nodes.
- content.description_rich_text[].children (array[object], optional): Nested rich-text nodes under a tag node.
platform_metadata
- platform_metadata.school_id (string, optional): Primary JobTeaser school identifier associated with the listing.
- platform_metadata.partner_school_ids (array[string], optional): Partner school identifiers attached to the listing.
- platform_metadata.legacy_partner_school_ids (array[string], optional): Legacy partner school identifiers.
- platform_metadata.creation_source (string, optional): Platform creation source.
- platform_metadata.paid_with (string, optional): Listing monetization or billing mode.
- platform_metadata.sequence_number (integer, optional): Platform sequence number for the listing.
source_context
- source_context.seed_type (string, optional): How the listing was discovered, such as
query. - source_context.seed_value (string, optional): The original query or input value that surfaced the record.
- source_context.search_url (string, optional): Search results page URL where the listing was found.
- source_context.scraped_at (string, required): Collection timestamp in ISO format.
- source_context.page_index (integer, optional): Search page number where the listing was found.
- source_context.result_position (integer, optional): Position within the results page where the listing appeared.
- source_context.domain (string, optional): Source domain used for the scrape.
Data guarantees & handling
- Best-effort extraction: fields may vary by region/session/availability/UI experiments.
- Optional fields: null-check in downstream code.
- Deduplication: recommend
id, orsource_context.domain + ":" + idif you merge records from multiple sources.
FAQ
Why do some fields come back empty?
Some job listings simply do not expose every attribute at run time. Optional fields are expected, so downstream code should always null-check before relying on them.
How should I dedupe records?
Use id as the recommended dedupe and upsert key. If your downstream system mixes JobTeaser data with other sources, use source_context.domain + ":" + id to keep the key globally unique.
What does listing_language change?
listing_language changes the JobTeaser interface language and listing labels used during the run. It does not mean the job itself requires that spoken language.
What does enrich_data change?
When enrich_data is enabled, the actor opens each job page and adds richer nested sections such as company, company_profile, company_taxonomy, locations, content, platform_metadata, and other detail-page attributes when available. When it is disabled, the actor saves the lighter search-results version of each listing and skips those extra per-listing requests.
What happens if the same job appears in multiple searches?
The same listing can be discovered through different queries or filters. In downstream systems, treat it as a single job and upsert using id, or source_context.domain + ":" + id if you want a source-scoped key.
How to Run on Apify
- Open the Actor in Apify Console.
- Configure your search parameters, such as keywords, location, language, and any optional filters.
- Set the maximum number of outputs to collect.
- Click Start and wait for the run to finish.
- Download results in JSON, CSV, Excel, or other supported formats.
Scheduling & Automation
Data Freshness Guidance
Use daily schedules when you are monitoring active hiring markets, operational workflows, or other high-churn searches where new and expired listings matter quickly. Use weekly schedules for broader trend tracking, recurring market snapshots, or lower-frequency reporting.
If you want to measure changes over time, rerun the same query and filter set on a recurring schedule so newly posted and expired jobs are easier to compare. Keep filters stable between runs when the goal is period-over-period analysis.
Scheduling
Automated Data Collection
You can schedule recurring runs to keep your dataset fresh without starting the actor manually each time. This is useful for ongoing monitoring, recurring reporting, and regularly updated data feeds.
- Navigate to Schedules in Apify Console
- Create a new schedule (daily, weekly, or custom cron)
- Configure input parameters
- Enable notifications for run completion
- Optional: add webhooks for automated processing
Integration Options
- Webhooks: Trigger downstream actions when a run completes.
- Zapier: Connect to 5,000+ apps without coding.
- Make (Integromat): Build multi-step automation workflows.
- Google Sheets: Export results to a spreadsheet.
- Slack/Discord: Receive notifications and summaries.
- Email: Send automated reports via email.
Performance
Estimated run times:
- Small runs (< 1,000 outputs): ~2-3 minutes
- Medium runs (1,000-5,000 outputs): ~5-15 minutes
- Large runs (5,000+ outputs): ~15-30 minutes
Execution time varies based on filters, result volume, and how much information is returned per record.
Compliance & Ethics
Responsible Data Collection
This actor collects publicly available job listings information from https://www.jobteaser.com for legitimate business purposes, including labor-market research, business intelligence, and workflow automation. Users are responsible for ensuring their collection, storage, and use of data complies with applicable laws, regulations, contractual obligations, and the target site's terms. This section is informational and not legal advice.
- Labor market research and market analysis
- Talent intelligence and employer monitoring
- Lead enrichment and workflow automation
Best Practices
- Use collected data in accordance with applicable laws, regulations, and the target site's terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable (e.g., GDPR, CCPA)
Support
For help, use the Issues tab or the actor page on Apify. When reporting a problem, include the input you used with sensitive values redacted, the run ID, the expected versus actual behavior, and a small output sample if helpful.