JobTeaser Scraper | $0.8 / 1k | Fast & Reliable avatar

JobTeaser Scraper | $0.8 / 1k | Fast & Reliable

Pricing

from $0.80 / 1,000 results

Go to Apify Store
JobTeaser Scraper | $0.8 / 1k | Fast & Reliable

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

Fatih Tahta

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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…

ParameterTypeDescriptionDefault
listing_languagestringInterface 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
queriesstringOne search term such as a job title, skill, employer name, or career area. It uses the selected location and any filters below.–
locationstringCity, region, or country to search, such as Paris, Lyon, or Barcelona, Spain. Use with queries to focus on a specific hiring market.–
radiusstringSearch radius around the selected location. Allowed values: 5 (5 Kilometers), 10 (10 Kilometers), 20 (20 Kilometers), 30 (30 Kilometers), 50 (50 Kilometers).30
abroad_onlybooleanWhen enabled, keeps only listings marked as international opportunities. Useful for cross-border roles, placements abroad, or mobility programs.false
candidacy_typestringLimits results by application flow. Allowed value: INTERNAL (Simplified application).–
company_business_typestring[]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_sectorsstring[]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).–
contractstring[]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).–
durationstring[]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).–
experiencestring[]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).–
languagestring[]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).–
degreestring[]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_datestring[]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_typesstring[]Filters by remote-work setting. Allowed values: remote_partial (Remote work occasionally allowed), remote_full (Full remote work allowed).–
job_with_impactbooleanWhen enabled, keeps only listings from employers highlighted for social or environmental impact.false
enrich_databooleanWhen 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_coveragebooleanWhen enabled, collects as many matching listings as possible for the selected search criteria. Recommended for broader research or monitoring runs.true
limitintegerMaximum 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 text or tag.
  • 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, or source_context.domain + ":" + id if 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

  1. Open the Actor in Apify Console.
  2. Configure your search parameters, such as keywords, location, language, and any optional filters.
  3. Set the maximum number of outputs to collect.
  4. Click Start and wait for the run to finish.
  5. 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.