italki Teacher & Tutor Directory Scraper
italki Teacher & Tutor Directory Scraper
Scrape the complete italki language-teacher marketplace — extract teacher profiles including pricing, ratings, lesson history, teaching languages, and spoken languages across 150+ languages.
What it does
italki is the world's largest online language-tutor marketplace. This actor fetches teacher directory pages at https://www.italki.com/en/teachers/<language>, extracts the full server-side rendered profile data embedded in each page's __NEXT_DATA__ JSON blob, and saves structured records to a dataset.
No JavaScript rendering required — italki embeds complete teacher data in the HTML response, so every fetch is a lightweight HTTP request.
Output fields
| Field | Type | Description |
|---|---|---|
teacher_id |
integer | Unique italki user ID |
nickname |
string | Teacher display name |
native_language |
string | Teacher's native language (e.g. english, chinese) |
country |
string | Origin country ISO code (e.g. AU, US, CN) |
teaching_languages |
string | Comma-separated languages taught |
languages_spoken |
string | Comma-separated additional spoken languages |
session_price_usd |
number | Per-session price in USD |
trial_price_usd |
number | Trial lesson price in USD (null if no trial) |
avg_rating |
number | Overall rating (0.0–5.0) |
lesson_count |
integer | Total lessons completed |
student_count |
integer | Total students |
profile_url |
string | Direct URL to the teacher's italki profile |
intro_video_url |
string | YouTube embed URL for the teacher's introduction video |
tags |
string | Comma-separated specialty tags |
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
language |
string | english |
Language to scrape teachers for (e.g. english, spanish, japanese). Leave empty to scrape all 341 available languages. |
maxItems |
integer | — | Maximum number of teacher records to return. |
Example: scrape English teachers
{
"language": "english",
"maxItems": 500
}
Example: scrape all languages
Leave language empty to discover all 341 available languages from the italki directory and paginate through each one. The actor deduplicates teachers who teach multiple languages.
{
"maxItems": 10000
}
Use cases
- Lead generation — build outreach lists of qualified language tutors
- Competitive pricing analysis — track session and trial prices across languages and countries
- Market research — analyze teacher supply by language, country, and rating tier
- Content aggregation — monitor teaching language availability and tutor profiles
Notes
- Prices are shown in USD (italki stores them in cents internally; this actor converts automatically)
- Teachers who teach multiple languages appear once per language page; the actor deduplicates by
teacher_idwithin a single run - The italki directory is server-side rendered — no browser or JavaScript execution required
- Datacenter proxies are sufficient; no Cloudflare or bot protection detected on directory pages