# Jobteaser job scraper (`saswave/jobteaser-job-listing-scraper`)

Extract job listings from jobteaser website. Start from any search url from jobteaser.com that contains a joblisting. Scrape informations like: company, job details, company social network, website, followers, employees and more ..

- **URL**: https://beta-securitybyobscurity.apify.com/saswave/jobteaser-job-listing-scraper.md
- **Developed by:** [SASWAVE](https://beta-securitybyobscurity.apify.com/saswave) (community)
- **Categories:** Lead generation, Automation, Jobs
- **Stats:** 8 total users, 2 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$22.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

# README

### Jobteaser scraper

Extract job listings from jobteaser website.

Start from any search url from jobteaser.com that contains a joblisting.

Scrape informations like: company, job details, company social network, website, followers, employees and more ..

### Output

Object example

```json
{
  "job_title": "STAGE - Ingénieur Développement Logiciel Connectivité (Python, Ada)",
  "job_date_posted": "2024-10-24T15:47:34.000Z",
  "job_description_html": "<b>QUI SOMMES-NOUS ?</b><br><br><b>Construisons ensemble un avenir de confiance</b><br><br>Thales est un leader mondial des hautes technologies spécialisé dans trois secteurs d&rsquo;activité : Défense & Sécurité, Aéronautique & Spatial, et Cybersécurité & Identité numérique. Il développe des produits et solutions qui contribuent à un monde plus sûr, plus respectueux de l&rsquo;environnement et plus inclusif. Le Groupe investit près de 4 milliards d&rsquo;euros par an en Recherche & Développement, notamment dans des domaines clés de l&rsquo;innovation tels que l&rsquo;IA, la cybersécurité, le quantique, les technologies du cloud et la 6G. Thales compte près de 81 000 collaborateurs dans 68 pays.<br><br><b>Nos engagements, </b><b>vos</b><b>avantages</b><br><br><ul><li>Une réussite commune portée par notre culture et excellence technologique, votre expérience et notre ambition partagée</li><li>Un package de rémunération attractif (épargne salariale, variable ou 13ième mois selon les postes, restaurant d&rsquo;entreprise,...)</li><li>La possibilité de développer vos compétences en continu grâce à nos parcours de formation et nos académies internes #ENTREPRISEAPPRENANTE</li><li>Notre attention portée à votre équilibre personnel et professionnel (Accord télétravail, RTT, congés d&rsquo;ancienneté, jours enfants malades, guide parentalité, crèches, CSE / ASC,... )</li><li>Des communautés internes permettant de vous engager sur les sujets qui vous tiennent à cœur : innovation, diversité, environnement</li><li>Un environnement inclusif et bienveillant où vous êtes accueilli et valorisé avec notre politique handi-accueillante, notre charte LGBT+, notre initiative #StOpe pour lutter contre le sexisme.</li></ul><br><br>L&rsquo;activité avionique fournit divers systèmes de bord pour l&rsquo;aviation : avionique de vol, production et conversion d&rsquo;électricité, multimédia de cabine et connectivité. Son offre couvre également des solutions d&rsquo;entraînement et de simulation pour les forces terrestres, aériennes et interarmées, ainsi que des systèmes d&rsquo;imagerie à rayons X et des amplificateurs de puissance radiofréquences et hyperfréquences.<br><br>Le site de Toulouse regroupe deux activités principales : l&rsquo;une en charge de développer et commercialiser des solutions et équipements pour avions et hélicoptères (cockpits, solutions pour cabines, systèmes de missions civiles et militaires, et offres de services associées) ; l&rsquo;autre , le centre d&rsquo;Air Traffic Management (ATM), pôle d&rsquo;expertise historique des systèmes de gestion du trafic aérien.<br><br><b>VOUS ETES :</b> <br><br>Vous recherchez un stage de fin d'études pour valider un BAC+5 / diplôme d'ingénieur dans l'informatique (embarquée) ?<br><br>Vous êtes autonome et force de proposition avec l'esprit de synthèse ?<br><br>Compétences requises : Python, C/C++, Rust ou Ada<br><br>Compétences souhaitées : Connaissances UML (Unified Modeling Language) , UDP/IP<br><br><b>CE QUE NOUS POUVONS ACCOMPLIR ENSEMBLE : </b> <br><br>Le stagiaire aura pour mission de développer un connecteur Python vers OPEN API permettant de déployer facilement des interactions directement en python ou par parsing de scripts et la réalisation de jeux de tests ou de massive testing en s'appuyant sur ce connecteur L'OPEN API est l'interface de communication de l'architecture ouverte du système de gestion de vol (FMS).<br><br>Tâches et Responsabilités : <br><br>* Analyser l'implémentation actuelle des connecteurs OPEN API [C++, Ada],<br><br>* Définir et designer les composants nécessaires à la création du nouveau connecteur [UML]<br><br>* Développer les composants nécessaires du nouveau connecteur [Python, Ada]<br><br>* Mettre en oeuvre le nouveau connecteur via des jeux de test et/ou du massive testing<br><br>* Documenter les étapes de développement et rédiger un rapport final.<br><br>Tous nos stages sont conventionnés et soumis à une gratification dont le montant est déterminé selon votre niveau d&rsquo;études. <br><br>Thales reconnait tous les talents, la diversité est notre meilleur atout. Postulez et rejoignez nous !",
  "job_description_text": "QUI SOMMES-NOUS ?Construisons ensemble un avenir de confianceThales est un leader mondial des hautes technologies spécialisé dans trois secteurs d&rsquo;activité : Défense & Sécurité, Aéronautique & Spatial, et Cybersécurité & Identité numérique. Il développe des produits et solutions qui contribuent à un monde plus sûr, plus respectueux de l&rsquo;environnement et plus inclusif. Le Groupe investit près de 4 milliards d&rsquo;euros par an en Recherche & Développement, notamment dans des domaines clés de l&rsquo;innovation tels que l&rsquo;IA, la cybersécurité, le quantique, les technologies du cloud et la 6G. Thales compte près de 81 000 collaborateurs dans 68 pays.Nos engagements, vosavantagesUne réussite commune portée par notre culture et excellence technologique, votre expérience et notre ambition partagéeUn package de rémunération attractif (épargne salariale, variable ou 13ième mois selon les postes, restaurant d&rsquo;entreprise,...)La possibilité de développer vos compétences en continu grâce à nos parcours de formation et nos académies internes #ENTREPRISEAPPRENANTENotre attention portée à votre équilibre personnel et professionnel (Accord télétravail, RTT, congés d&rsquo;ancienneté, jours enfants malades, guide parentalité, crèches, CSE / ASC,... )Des communautés internes permettant de vous engager sur les sujets qui vous tiennent à cœur : innovation, diversité, environnementUn environnement inclusif et bienveillant où vous êtes accueilli et valorisé avec notre politique handi-accueillante, notre charte LGBT+, notre initiative #StOpe pour lutter contre le sexisme.L&rsquo;activité avionique fournit divers systèmes de bord pour l&rsquo;aviation : avionique de vol, production et conversion d&rsquo;électricité, multimédia de cabine et connectivité. Son offre couvre également des solutions d&rsquo;entraînement et de simulation pour les forces terrestres, aériennes et interarmées, ainsi que des systèmes d&rsquo;imagerie à rayons X et des amplificateurs de puissance radiofréquences et hyperfréquences.Le site de Toulouse regroupe deux activités principales : l&rsquo;une en charge de développer et commercialiser des solutions et équipements pour avions et hélicoptères (cockpits, solutions pour cabines, systèmes de missions civiles et militaires, et offres de services associées) ; l&rsquo;autre , le centre d&rsquo;Air Traffic Management (ATM), pôle d&rsquo;expertise historique des systèmes de gestion du trafic aérien.VOUS ETES : Vous recherchez un stage de fin d'études pour valider un BAC+5 / diplôme d'ingénieur dans l'informatique (embarquée) ?Vous êtes autonome et force de proposition avec l'esprit de synthèse ?Compétences requises : Python, C/C++, Rust ou AdaCompétences souhaitées : Connaissances UML (Unified Modeling Language) , UDP/IPCE QUE NOUS POUVONS ACCOMPLIR ENSEMBLE : Le stagiaire aura pour mission de développer un connecteur Python vers OPEN API permettant de déployer facilement des interactions directement en python ou par parsing de scripts et la réalisation de jeux de tests ou de massive testing en s'appuyant sur ce connecteur L'OPEN API est l'interface de communication de l'architecture ouverte du système de gestion de vol (FMS).Tâches et Responsabilités : * Analyser l'implémentation actuelle des connecteurs OPEN API [C++, Ada],* Définir et designer les composants nécessaires à la création du nouveau connecteur [UML]* Développer les composants nécessaires du nouveau connecteur [Python, Ada]* Mettre en oeuvre le nouveau connecteur via des jeux de test et/ou du massive testing* Documenter les étapes de développement et rédiger un rapport final.Tous nos stages sont conventionnés et soumis à une gratification dont le montant est déterminé selon votre niveau d&rsquo;études. Thales reconnait tous les talents, la diversité est notre meilleur atout. Postulez et rejoignez nous !",
  "job_direct_apply": false,
  "job_extern_apply_url": "https://careers.thalesgroup.com/fr/fr/job/R0265096/STAGE-Ing%C3%A9nieur-D%C3%A9veloppement-Logiciel-Connectivit%C3%A9-Python-Ada",
  "job_type": "INTERN",
  "job_employment_unit": {
    "name": "Développement Informatique"
  },
  "organization": {
    "logo": "https://d1guu6n8gz71j.cloudfront.net/system/asset/logos/1611/logo.png?1622733891",
    "name": "Thales",
    "headline": "Industrie de hautes technologies ",
    "locale": "fr",
    "website": "https://www.thalesgroup.com/fr",
    "description": "Industrie de hautes technologies ",
    "businessType": "COMPANY_PAGE_BUSINESS_TYPE_LARGE",
    "sector": "aerospace",
    "headquarterAddress": "6 rue de la Verrerie  92190 Meudon Sur Seine",
    "presentation": "<p>Chez Thales, nous sommes fiers de travailler ensemble pour imaginer des solutions innovantes qui contribuent à construire un avenir plus sûr, plus vert et plus inclusif. Un avenir de confiance. Mais ces technologies ne viennent pas de nulle part.</p><p><strong>&nbsp;</strong></p><p><strong>L'intelligence humaine est le moteur derrière la technologie qui fait la renommée de Thales.&nbsp;</strong></p><p>Chez Thales, tout commence par l'Intelligence Humaine. C'est pourquoi notre ambition est de vous offrir la meilleure « expérience » possible. Nous nous efforçons de mettre en place les conditions de votre développement, de faciliter votre quotidien, votre équilibre vie personnelle - vie professionnelle, et d'étendre vos perspectives.</p><p><strong>&nbsp;</strong></p><p><strong>Un savoir-faire technologique au service de la société.</strong></p><p>Les projets que nous conduisons sont complexes et nos clients exigeants. Pour répondre aux besoins actuels et futurs de nos clients, nous maîtrisons plus d’une centaine de disciplines, de l’optique à la physique quantique, du traitement du signal à la connectivité et à l’intelligence artificielle.</p><p>Rejoindre Thales, c’est repousser les limites de la technologie et la mettre au service du progrès et du développement durable de nos sociétés. C’est donc être <strong>au cœur d’une formidable aventure technique.&nbsp;</strong></p><p><strong>&nbsp;</strong></p>",
    "chooseMyCompany": "",
    "headcount": "77000",
    "creationYear": 0,
    "countryCount": 68,
    "turnover": "0",
    "investmentFounding": "0",
    "currency": "COMPANY_PAGE_CURRENCY_EUR",
    "culture": "<p><br></p><p><strong>Une attention portée à l’équilibre des collaborateurs au service de leur réussite.</strong></p><p>C’est pourquoi, notamment, nous nous efforçons de créer un environnement de travail accueillant et d’accorder la flexibilité nécessaire à l’équilibre entre vie professionnelle et vie personnelle.</p><p>Nous savons que cet équilibre est essentiel à votre épanouissement et à la réussite des projets que nous vous confierons.</p><p><strong>&nbsp;</strong></p><p><strong>Des parcours professionnels riches.</strong></p><p>Chez Thales, nous jouons collectif. Ce qui signifie travailler en équipe, côtoyer des experts et donc apprendre et développer ses compétences en permanence tout en faisant bénéficier le Groupe de son savoir-faire.</p><p>C’est aussi la possibilité d’évoluer, de changer de fonction ou d’activité, voire de pays.</p><p><br></p><p>Vous souhaitez rejoindre nos équipes ? <a href=\"https://careers.thalesgroup.com/fr/fr/jointalentcommunity\" rel=\"nofollow\" target=\"_blank\">Cliquez ici</a> et rejoignez notre communauté de talents.</p>",
    "contactInformation": "https://thales.wd3.myworkdayjobs.com/fr-FR/Careers/jobs",
    "contactEmailAddress": "",
    "recruitmentInformation": "<p><strong>Thales a mis en place un processus de recrutement commun à l'ensemble du groupe, qui nous permet de traiter votre candidature de manière transparente et efficace, dans les plus brefs délais.</strong></p><p>Lorsque vous avez selectionné le poste qui vous intéresse, cliquez sur le bouton postuler en ligne, au bas de la description du poste afin de commencer le processus de candidature.</p><p>Votre dossier de candidature est ensuite analysé par nos équipes de recrutement. Si votre canditature est retenue, vous recevrez un message vous notifiant que vous pouvez passez à la prochaine étape. De manière générale, vous serez amenés à passer plusieurs entretiens de recrutement.</p><p>Ces entretiens vous amèneront à rencontrer différents collaborateurs Thales: votre futur manager, un responsable des ressources humaines... Pour les postes à haute responsabilité, vous rencontrez également le responsable de votre futur manager.</p><p><strong>Comment réussir son entretien ?</strong></p><p>Dans tout entretien, la préparation est une étape essentielle : pour assurer la vôtre, voici quelques conseils:</p><ul>\n<li>Soyez à l'heure et soignez votre présentation</li>\n<li>Renseignez-vous auparavant afin de connaître Thales et ses principales activités</li>\n<li>Prenez bien connaissance du poste proposé et réfléchissez à vos motivations : par rapport à vos objectifs de carrière, ce poste s'insère-t-il harmonieusement dans votre parcours professionnel ?</li>\n<li>Donnez des réponses détaillées et concises</li>\n<li>Respirez : il n'y a pas de bonnes ou de mauvaises réponses</li>\n<li>Enfin, n'hésitez pas à poser des questions si celles-ci vous permettent de mieux connaître le poste et/ou le Groupe</li>\n</ul><p>Il n'existe pas de grille d'entretien commune à l'ensemble du Groupe.<br><br>N'oubliez pas que l'on pourra vous demander de passer des tests techniques et/ou psychologiques, afin d'évaluer vos capacités ainsi que les compétences professionnelles que vous aurez acquises au cours de vos expériences antérieures.&nbsp;</p><p><strong>Qui cherchons-nous ?</strong></p><p>Nous cherchons de nouveaux talents, motivés par un environnement multinational et par le partage d'une culture d'entreprise orientée sur la satisfaction du client, l'esprit d'équipe, la volonté de la performance et le sens de la responsabilité.</p>",
    "institutionalVideo": {
      "url": "https://www.youtube.com/watch?v=BQ4Tu0YPm_U",
      "previewUrl": "https://img.youtube.com/vi/BQ4Tu0YPm_U/maxresdefault.jpg",
      "description": "Say HI et rejoignez Thales",
      "id": "f61ba290-7ebf-4ae0-8d3e-bfb177adc777"
    },
    "bannerUrl": "https://d1guu6n8gz71j.cloudfront.net/system/asset/covers/6849175/big.jpg?1709243772",
    "logoUrl": "https://d1guu6n8gz71j.cloudfront.net/system/asset/logos/1611/logo.png?1622733891",
    "brands": [],
    "gallery": [
      {
        "type": "MEDIA_TYPE_VIDEO",
        "url": "https://www.youtube.com/watch?v=RA50MmkhZCI",
        "description": "Découvrez l'équipe de stagiaires en mission collaborative sur notre site de Valence\n",
        "previewUrl": "https://img.youtube.com/vi/RA50MmkhZCI/maxresdefault.jpg",
        "id": "baeecaaa-ad3a-4cbe-9ca7-93af07f89045"
      },
      ... // truncated for the example
    ],
    "associatedCompanies": [],
    "greatPlaceToWorkPermalink": "",
    "greatPlaceToWorkYear": 0,
    "jobPositions": [
      {
        "name": "DevOps",
        "video": {
          "url": "https://cdn.jwplayer.com/manifests/MZRyJ29G.m3u8",
          "previewUrl": "",
          "description": "",
          "id": "2a5ec4e8-1285-42b5-9ace-2d2c5c6bea28"
        },
        "jobRoleId": "301ba3fb-7035-48d1-a622-ee06d5be4518",
        "image": {
          "url": "",
          "description": "",
          "id": ""
        }
      },
      ... // truncated for the example
    ],
    "recruitmentVideos": [
      {
        "url": "https://youtu.be/TBqaVZlw4Ek",
        "previewUrl": "https://img.youtube.com/vi/TBqaVZlw4Ek/maxresdefault.jpg",
        "description": "Découvrez la culture d'entreprise du groupe Thales",
        "id": "ad785683-ad70-4333-be5e-566dc3f47553"
      },
      ... // truncated for the example
    ],
    "customMessage": "",
    "desiredProfile": "<p>Pour l’année 2023, nous prévoyons de recruter <strong>1 700 alternants et 1 800 stagiaires</strong>, dont 70 % de profils techniques (techniciens ou ingénieurs) et 30 % de profils non techniques.</p>",
    "teamDescription": "<p><strong>Thales compte de grandes familles de métiers d’une importance égale pour le succès du Groupe.</strong></p><p>Chacune d'entre elles est pilotée au plus haut niveau. Elles bénéficient de l’expertise d’un leader opérationnel et de son comité opérationnel, d'un responsable RH et d’une équipe support formation, pour anticiper les évolutions et tendances futures et proposer un plan d’actions collectives en termes de développement professionnel : recrutement, formation, métiers à développer, passerelles entre les métiers...</p>",
    "averageAge": 43,
    "countriesPresence": [
      {
        "code": "fr"
      },
      {
        "code": "gb"
      },
      {
        "code": "us"
      }
    ],
    "employeeParity": {
      "men": 73,
      "women": 27,
      "others": 0
    },
    "shortValues": [
      "Confiance",
      "Innovation",
      "Responsabilité",
      "Inclusion"
    ],
    "socialNetworks": [
      {
        "type": "SOCIAL_NETWORK_TYPE_TWITTER",
        "url": "https://x.com/thalesgroup"
      },
      {
        "type": "SOCIAL_NETWORK_TYPE_LINKEDIN",
        "url": "http://www.linkedin.com/company/thales"
      },
      {
        "type": "SOCIAL_NETWORK_TYPE_TICKTOCK",
        "url": ""
      },
      {
        "type": "SOCIAL_NETWORK_TYPE_INSTAGRAM",
        "url": "https://www.instagram.com/thalesgroup/"
      }
    ],
    "cse": {
      "commitments": "Thales s’est fixé des objectifs ambitieux sur quatre grandes priorités :\r\n1/ Lutter contre le réchauffement climatique à travers notre stratégie pour un futur bas-carbone,\r\n2/ Renforcer la diversité et l’inclusion,\r\n3/ Continuer à mettre en œuvre les meilleurs standards en termes d’éthique et de conformité,\r\n4/ Renforcer la santé et la sécurité au travail de tous ses collaborateurs",
      "actions": [
        "Satellites d’observation pour la surveillance de l’environnement et la sauvegarde de notre planète",
        "Stratégie pour un futur bas-carbone et objectifs ambitieux de réduction des émissions de CO2",
        "Nombreuses actions pour que les femmes se sentent légitimes à suivre des carrières scientifiques"
      ],
      "labels": {
        "bcorpLabel": {
          "url": ""
        },
        "egaproLabel": {
          "url": ""
        },
        "entrepriseAMissionLabel": {
          "url": ""
        },
        "openClimatLabel": {
          "url": ""
        }
      }
    },
    "faq": {
      "answerYoungTalentExperience": "Thales permet à ses stagiaires et alternants d’être acteur dans les projets que nous leur confions. Ils ont l’opportunité de prendre part à des sujets d’envergure et/ou à une portée internationale, dans un environnement innovant et technologique.",
      "answerPermanentContractOpportunity": "Pour Thales, l’alternance et le stage représentent un moyen pour déceler les talents de demain. Le Groupe a une vraiment volonté de former, d’accompagner et d’embaucher ces jeunes talents, quand les opportunités le permettent.",
      "answerRemoteWorkPolicy": "L’année est découpée en 2 campagnes :\r\n•\talternance (mars - fin septembre) : publication de nos offres et recrutement des alternants pour la rentrée de septembre\r\n•\tstage (octobre - fin février) : publication de nos offres et recrutement des stagiaires pour des stages de 3 à 6 mois",
      "answerHiringProfile": "Les alternants peuvent bénéficier du télétravail. Que ce soit pour les alternants ou les stagiaires, la pratique du télétravail reste à l’appréciation du manager.",
      "customQuestion1": null,
      "customQuestion2": null
    },
    "schoolPartner": false,
    "glassdoorProfileUrl": "",
    "glassdoorId": "",
    "partnership": {
      "label": "",
      "schoolId": ""
    }
  },
  "job_id": "50ec542a-a739-4125-95e4-0bd64ab5188f",
  "job_immediate_start": true,
  "job_education_requirements": [
    {
      "credentialCategory": "postgraduate degree"
    }
  ],
  "job_locations": [
    {
      "address": {
        "addressCountry": "France",
        "addressLocality": "Toulouse",
        "addressRegion": "Occitanie"
      }
    }
  ],
  "job_valid_until": "2024-11-22T14:12:19.000Z",
  "job_contract_duration": "Stage 4 à 6 mois",
  "organization_page": "https://www.jobteaser.com/fr/companies/thales"
}
```

# Actor input Schema

## `url` (type: `string`):

Provide search url to extract jobs results from.
It can be a search url or a company url that contains jobs listings
(ex: https://www.jobteaser.com/fr/companies/dassault-systemes/job-offers or https://www.jobteaser.com/fr/job-offers?q=python)

## `page_limit` (type: `integer`):

0 equals to no limit

## `parse_page_company` (type: `boolean`):

More details, but takes a bit longer

## Actor input object example

```json
{
  "url": "https://www.jobteaser.com/fr/job-offers?utm_source=homepage&q=python",
  "page_limit": 1,
  "parse_page_company": true
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "url": "https://www.jobteaser.com/fr/job-offers?utm_source=homepage&q=python"
};

// Run the Actor and wait for it to finish
const run = await client.actor("saswave/jobteaser-job-listing-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "url": "https://www.jobteaser.com/fr/job-offers?utm_source=homepage&q=python" }

# Run the Actor and wait for it to finish
run = client.actor("saswave/jobteaser-job-listing-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "url": "https://www.jobteaser.com/fr/job-offers?utm_source=homepage&q=python"
}' |
apify call saswave/jobteaser-job-listing-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=saswave/jobteaser-job-listing-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Jobteaser job scraper",
        "description": "Extract job listings from jobteaser website. Start from any search url from jobteaser.com that contains a joblisting. Scrape informations like: company, job details, company social network, website, followers, employees and more ..",
        "version": "0.0",
        "x-build-id": "ltxutzV9bJy71AsXi"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/saswave~jobteaser-job-listing-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-saswave-jobteaser-job-listing-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/saswave~jobteaser-job-listing-scraper/runs": {
            "post": {
                "operationId": "runs-sync-saswave-jobteaser-job-listing-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/saswave~jobteaser-job-listing-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-saswave-jobteaser-job-listing-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "url"
                ],
                "properties": {
                    "url": {
                        "title": "Search url (any url with job listings)",
                        "type": "string",
                        "description": "Provide search url to extract jobs results from.\nIt can be a search url or a company url that contains jobs listings\n(ex: https://www.jobteaser.com/fr/companies/dassault-systemes/job-offers or https://www.jobteaser.com/fr/job-offers?q=python)"
                    },
                    "page_limit": {
                        "title": "Maximum page to browse",
                        "minimum": 0,
                        "type": "integer",
                        "description": "0 equals to no limit",
                        "default": 1
                    },
                    "parse_page_company": {
                        "title": "Get infos from organization page",
                        "type": "boolean",
                        "description": "More details, but takes a bit longer",
                        "default": true
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
