italki Tutor Profiles & Languages Scraper
Pricing
from $3.00 / 1,000 results
italki Tutor Profiles & Languages Scraper
Scrape italki teacher profiles with search professional teachers and community tutors by language, price, rating, and lesson count. Get name, country, teacher type, hourly rate, lessons count, students count, rating, reviews, bio, avatar, and more.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(7)
Developer
Crawler Bros
Maintained by CommunityActor stats
7
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract comprehensive teacher profiles from italki — the world's largest online language learning community with 10,000+ professional teachers and community tutors across 150+ languages. Search by language, teacher type, price, rating, and lesson count. Ideal for market research, education analytics, and competitive intelligence.
What You Get
Each teacher profile includes:
| Field | Description |
|---|---|
teacherId | Unique italki teacher identifier |
name | Teacher's display name |
country | Teacher's country of origin |
teacherType | "Professional Teacher" or "Community Tutor" |
languagesTaught | Languages this teacher teaches |
nativeLanguages | Teacher's native language(s) |
hourlyRate | Price per hour in USD |
currency | Pricing currency |
lessonsCount | Total lessons completed on italki |
studentsCount | Total number of students |
rating | Average student rating (0–5) |
reviewCount | Total student reviews |
bio | Teacher's introduction/description |
profileUrl | Direct link to teacher's italki profile |
avatarUrl | Profile photo URL |
videoUrl | Introduction video URL |
hasGroupClasses | Whether the teacher offers group classes |
recordType | Always "teacher" |
scrapedAt | ISO 8601 timestamp of extraction |
Teacher Types
italki has two types of teachers:
- Professional Teacher — Certified language teachers with formal teaching credentials and structured lesson plans
- Community Tutor — Native or fluent speakers who offer informal conversation practice at lower rates
Modes
searchTeachers (default)
Search for teachers by language with optional filters. Returns results sorted by your chosen criteria.
Example input:
{"mode": "searchTeachers","language": "japanese","teacherType": "professional_teacher","minRating": 4.5,"maxItems": 50}
byLanguage
Retrieve all available teachers for a specific language, paginating through the complete listing.
Example input:
{"mode": "byLanguage","language": "korean","maxItems": 200}
getTeacher
Fetch full profiles for specific teachers by their italki profile URL or numeric ID.
Example input:
{"mode": "getTeacher","startUrls": ["https://www.italki.com/en/teacher/123456","https://www.italki.com/en/teacher/654321"]}
Input Reference
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | searchTeachers | Operation mode |
language | select | japanese | Language to search teachers for |
startUrls | array | — | Teacher profile URLs (mode=getTeacher) |
teacherIds | array | — | Numeric teacher IDs (mode=getTeacher) |
teacherType | select | All types | Filter by teacher type |
sortBy | select | recommended | recommended / price_asc / price_desc / rating / lessons |
minPrice | number | — | Minimum hourly rate (USD) |
maxPrice | number | — | Maximum hourly rate (USD) |
minRating | number | — | Minimum average rating (0–5) |
minLessons | integer | — | Minimum completed lessons count |
useResidentialProxy | boolean | true | Required — italki blocks datacenter IPs |
maxItems | integer | 20 | Maximum profiles to return (1–5000) |
Supported Languages
English, Spanish, French, German, Japanese, Chinese (Mandarin), Korean, Italian, Portuguese, Russian, Arabic, Dutch, Polish, Turkish, Swedish, Norwegian, Hindi, Hebrew, Greek, Vietnamese, Thai, Indonesian, Malay, Filipino (Tagalog), Ukrainian, Romanian, Czech, Hungarian, Danish, Finnish, Persian (Farsi), Bengali, Urdu, Swahili, Catalan, and more.
Output Example
{"teacherId": "123456","name": "Yuki Tanaka","country": "Japan","teacherType": "Professional Teacher","languagesTaught": ["Japanese"],"nativeLanguages": ["Japanese"],"hourlyRate": 20.0,"currency": "USD","lessonsCount": 850,"studentsCount": 120,"rating": 4.8,"reviewCount": 95,"bio": "Native Japanese teacher with 5 years experience...","profileUrl": "https://www.italki.com/en/teacher/123456","avatarUrl": "https://static.italki.com/avatar/123456.jpg","hasGroupClasses": true,"recordType": "teacher","scrapedAt": "2026-05-17T10:00:00+00:00"}
Use Cases
- Market Research — Compare teacher pricing, ratings, and specializations across languages
- Competitive Analysis — Benchmark italki's teacher supply against other platforms
- Education Analytics — Study teacher demographics, lesson counts, and student demand by language
- Language Learning Research — Identify top-rated teachers and in-demand languages
- Platform Intelligence — Track italki teacher growth and availability trends
About Residential Proxy
italki uses Cloudflare Bot Management (confirmed in a published Cloudflare case study). Datacenter IP addresses are blocked. Residential proxy is required for reliable scraping. The actor uses Apify's residential proxy network by default. Leave useResidentialProxy enabled for best results.
Performance
- Processes 20 teachers per page via italki's internal API
- Supports up to 5,000 teachers per run
- Uses TLS fingerprint spoofing (curl_cffi) with automatic Playwright fallback
- Session rotation for resilience against rate limiting
- Retry logic on server errors (5xx) and rate limits (429)
FAQ
Q: Does this require an italki account? A: No. The actor uses italki's public teacher directory — no login or API key required.
Q: Why is residential proxy required? A: italki specifically uses Cloudflare Bot Management to block automated access from datacenter IP ranges. Residential proxies route traffic through real user IP addresses that bypass this protection.
Q: What's the difference between Professional Teacher and Community Tutor? A: Professional Teachers have formal teaching credentials and typically charge higher rates with structured lessons. Community Tutors are native/fluent speakers who offer informal conversational practice at lower cost.
Q: Can I scrape a specific language's full teacher list?
A: Yes — use mode=byLanguage with a high maxItems value to paginate through the complete teacher listing for any language.
Q: How accurate is the data? A: Each run fetches live data directly from italki at execution time. Ratings, prices, and lesson counts reflect real-time platform data.
Q: How many teachers can I scrape per run? A: Up to 5,000 per run. For larger datasets, run multiple times with different filter criteria.
Q: Does italki offer group classes?
A: Some teachers offer group classes in addition to 1-on-1 lessons. The hasGroupClasses field indicates this availability.