# JobTeaser Scraper: Student Jobs & Internships (`dltik/jobteaser-scraper`) Actor

Scrape JobTeaser jobs targeting students, juniors, graduates. Filter by keyword, country (FR/DE/ES/IT/UK/BE/NL), city, contract (stage/alternance/CDI/VIE). Get title, company, location, duration, salary, description. For school career services, ATS, recruitment. $1/1K.

- **URL**: https://apify.com/dltik/jobteaser-scraper.md
- **Developed by:** [Walid](https://apify.com/dltik) (community)
- **Categories:** Business, Lead generation, Marketing
- **Stats:** 51 total users, 5 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.00 / 1,000 job scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## JobTeaser Scraper — Student Jobs, Internships, Alternance Across Europe

> Scrape **JobTeaser.com** — Europe's #1 platform for student jobs, internships, apprenticeships. Filter by keyword, country (FR/DE/ES/IT/UK/BE/NL), city, contract type (stage/alternance/CDI/VIE). Get title, company, location, duration, salary, full description, application URL. HTTP-only with stealth, **$0.001 per job** ($1 per 1,000).

⭐ **Bookmark this JobTeaser Scraper** — Apify ranks actors by bookmarks, so it directly helps the visibility of this scraper on the Apify Store.

### What is the JobTeaser Scraper?

The **JobTeaser Scraper** is an Apify actor that pulls live job postings from [JobTeaser](https://www.jobteaser.com/) — Europe's leading student career platform, integrated with 700+ universities. It's the go-to for stages, alternance, junior CDI, VIE, and graduate programs across France, Germany, Spain, Italy, UK, Belgium, Netherlands. This scraper accepts complex filters and returns structured JSON.

Especially valuable for student-focused recruitment, alternance prospecting, and tracking where young talent is being hired.

### Use cases

- **Junior-talent recruitment** — track new alternance/stage offers in your sector daily.
- **University career-services** — feed your students with filtered job alerts.
- **Education / coaching businesses** — send your alumni daily JobTeaser matches.
- **Salary benchmarking for juniors** — collect `stage rémunéré [field]` postings to set your own internship comp.
- **VIE program tracking** — VIE postings (`Volontariat International en Entreprise`) are a niche subset.
- **Labor-market research on early-career hiring** — track open junior positions per sector per quarter.

### Input

```json
{
  "keywords": "data analyst",
  "country": "FR",
  "contractTypes": ["stage", "alternance"],
  "city": "Paris",
  "limit": 200
}
```

### Output

```json
{
  "id": "JT-EXAMPLE-12345",
  "title": "Stagiaire Data Analyst H/F",
  "company": "Example Corp",
  "country": "FR",
  "city": "Paris",
  "contract_type": "stage",
  "duration_months": 6,
  "salary_eur": 1200,
  "starts_at": "2026-09-01",
  "description": "Mission detail and required skills...",
  "apply_url": "https://www.jobteaser.com/fr/job-offers/example",
  "posted_date": "2026-04-25"
}
```

### Pricing

**PAY\_PER\_EVENT — $0.001 per job** (= $1 per 1,000). Failed runs not charged.

### FAQ — JobTeaser API alternatives

**JobTeaser official API?** Only available to partner universities — not for general bulk scraping. This actor fills that gap.

**Multi-country in one run?** Run separately per country (the platform shards listings by country); concat datasets afterwards.

**VIE postings?** Yes — filter by `contractTypes: ["VIE"]`.

**Alternance vs apprentissage vs stage — what's the difference?** Stage = short-term internship (1-6 months). Alternance / apprentissage = work-study contract (12-24 months). Both are filterable.

***

⭐ **Found this useful? Bookmark this JobTeaser Scraper** — it's the strongest signal for Apify Store ranking.

#### Related actors

- [Welcome to the Jungle Scraper](https://apify.com/dltik/welcome-to-the-jungle-scraper) — tech-focused FR/EU jobs
- [HelloWork Scraper](https://apify.com/dltik/hellowork-scraper) — French job board (#2)
- [France Travail Scraper](https://apify.com/dltik/francetravail-scraper) — public French job board (700K+)

License: MIT · Author: [dltik](https://apify.com/dltik)

# Actor input Schema

## `keywords` (type: `array`):

Job search keywords (e.g. 'data analyst', 'marketing', 'développeur').

## `country` (type: `string`):

JobTeaser country/language: fr (France), en (English/EU), be (Belgium), de (Germany), es (Spain), it (Italy).

## `contractTypes` (type: `array`):

Filter contract: stage, alternance, cdi, cdd, vie, freelance.

## `city` (type: `string`):

City name (e.g. Paris, Lyon).

## `enrichDetails` (type: `boolean`):

Fetch each job page for full description, salary, requirements.

## `maxResults` (type: `integer`):

Max jobs per keyword (22 per page). Aliases accepted: 'limit', 'max'. Each result charged at the per-event price — start small to validate output.

## `proxyConfig` (type: `object`):

JobTeaser uses DataDome anti-bot. Apify Residential proxies are recommended to bypass IP blocking. Required if you hit 403 errors.

## Actor input object example

```json
{
  "keywords": [
    "data analyst"
  ],
  "country": "fr",
  "contractTypes": [],
  "enrichDetails": false,
  "maxResults": 20,
  "proxyConfig": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset of JobTeaser jobs with title, company, location, contract.

# 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 = {
    "keywords": [
        "data analyst"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("dltik/jobteaser-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 = { "keywords": ["data analyst"] }

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

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "data analyst"
  ]
}' |
apify call dltik/jobteaser-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dltik/jobteaser-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/DzKOgwXjGLf46ki45/builds/gnZtoNiPfP8rVgQEl/openapi.json
