italki Teacher & Tutor Directory Scraper avatar

italki Teacher & Tutor Directory Scraper

Pricing

Pay per event

Go to Apify Store
italki Teacher & Tutor Directory Scraper

italki Teacher & Tutor Directory Scraper

Scrapes the italki language-teacher marketplace directory. Extracts teacher profiles including pricing, ratings, lesson counts, teaching languages, and spoken languages from the italki SSR pages. Supports filtering by language and limiting result count.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

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

FieldTypeDescription
teacher_idintegerUnique italki user ID
nicknamestringTeacher display name
native_languagestringTeacher's native language (e.g. english, chinese)
countrystringOrigin country ISO code (e.g. AU, US, CN)
teaching_languagesstringComma-separated languages taught
languages_spokenstringComma-separated additional spoken languages
session_price_usdnumberPer-session price in USD
trial_price_usdnumberTrial lesson price in USD (null if no trial)
avg_ratingnumberOverall rating (0.0–5.0)
lesson_countintegerTotal lessons completed
student_countintegerTotal students
profile_urlstringDirect URL to the teacher's italki profile
intro_video_urlstringYouTube embed URL for the teacher's introduction video
tagsstringComma-separated specialty tags

Input

ParameterTypeDefaultDescription
languagestringenglishLanguage to scrape teachers for (e.g. english, spanish, japanese). Leave empty to scrape all 341 available languages.
maxItemsintegerMaximum 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_id within 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