SYSTEM all green source preply.com queue 12,849 profiles p99 latency 184ms dataflirt.com · scraper/preply-com
RUN · 42 active pipelines · preply.com live

Preply tutor data,
at warehouse scale.

We extract tutor profiles, hourly rates, calendar availability, Super Tutor metrics, and student reviews from Preply. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Tutors extracted
42.1K /day
Availability updates
115K /12h
Review records
34.2K /run
Active pipelines
42
Uptime
99.98%
Data Dictionary

Every field we extract from preply.com

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Tutor Profiles objects from preply.com. All fields typed and schema-versioned.

tutor_idnamecountrylanguages_taughtsubjectshourly_ratetrial_ratesuper_tutorratingreview_countactive_studentslessons_taughtresponse_timebiovideo_url
tutor_profiles
● 200 OK
"tutor_id": "394812",
"name": "Maria S.",
"country": "Spain",
"hourly_rate": 25.0,
"super_tutor": true,
"rating": 4.9,
"active_students": 14,
"response_time": "1h"
# tutor_idnamecountrylanguages_taughtsubjectshourly_rate
1
2
3

Complete list of extractable fields for Calendar Availability objects from preply.com. All fields typed and schema-versioned.

tutor_iddateday_of_weekavailable_slotsbooked_slotstimezoneslot_durationlast_updated
calendar_availability
● 200 OK
"tutor_id": "394812",
"date": "2026-05-12",
"day_of_week": "Tuesday",
"timezone": "Europe/Madrid",
"available_slots": "['09:00', '10:00', '15:00']",
"booked_slots": "['11:00', '14:00']",
"last_updated": "2026-05-10T08:14:00Z"
# tutor_iddateday_of_weekavailable_slotsbooked_slotstimezone
1
2
3

Complete list of extractable fields for Reviews & Ratings objects from preply.com. All fields typed and schema-versioned.

review_idtutor_idstudent_nameratingreview_datereview_textlanguage_learnedverified_student
reviews_& ratings
● 200 OK
"review_id": "REV-93814",
"tutor_id": "394812",
"student_name": "James T.",
"rating": 5,
"review_date": "2026-04-18",
"language_learned": "Spanish",
"verified_student": true
# review_idtutor_idstudent_nameratingreview_datereview_text
1
2
3

Complete list of extractable fields for Subject Categories objects from preply.com. All fields typed and schema-versioned.

category_idcategory_nametutor_countmin_pricemax_priceavg_pricetop_tutor_idsurl_slug
subject_categories
● 200 OK
"category_name": "Spanish",
"tutor_count": 8492,
"min_price": 5.0,
"max_price": 100.0,
"avg_price": 18.5,
"url_slug": "/skype/spanish-tutors",
"top_tutor_ids": "['394812', '102934']"
# category_idcategory_nametutor_countmin_pricemax_priceavg_price
1
2
3

Complete list of extractable fields for Search Results objects from preply.com. All fields typed and schema-versioned.

keywordpositiontutor_idnamehourly_rateratingreview_countsuper_tutornewly_joinedscraped_at
search_results
● 200 OK
"keyword": "business english",
"position": 3,
"tutor_id": "102934",
"name": "David W.",
"hourly_rate": 35.0,
"super_tutor": true,
"newly_joined": false,
"scraped_at": "2026-05-12T09:14:33Z"
# keywordpositiontutor_idnamehourly_raterating
1
2
3

Capabilities

Everything you need from Preply - nothing you don't

Our Preply scraper handles every layer of the platform: tutor profiles, dynamic pricing, calendar availability, and the review corpus - with JavaScript rendering, session management, and anti-bot circumvention built in.

Full Profile Extraction

Name, bio, location, languages taught, proficiency levels, and video introduction URLs extracted at the tutor level.

Dynamic Pricing Capture

Capture standard hourly rates, trial lesson discounts, and currency normalisation across all tutor profiles.

Availability Matrix Scraping

Extract open and booked calendar slots via GraphQL interception, mapping tutor availability across specified timezones.

Super Tutor Metrics

Track Super Tutor badge status, average response time, active student counts, and total lessons taught.

Review & Rating Mining

Full review text, star ratings, student names, and dates paginated across all review pages for a given tutor.

Search & Ranking Tracking

Track organic position for any subject, language, or keyword - capturing default sorting algorithms and filter impacts.

Multi-Language Support

Support for localised Preply domains and subject slugs, ensuring accurate extraction regardless of target market.

Change Detection

Hash-based diffing ensures downstream systems only receive updates when a tutor changes their rate, bio, or availability.

Scheduled Pipelines

Run one-off bulk exports or configure continuous pipelines at hourly or daily cadences for real-time market intelligence.

// engagement pipeline

From tutor list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide tutor URLs, subject categories, or keyword sets. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy / Playwright crawlers, proxy rotation, session management, and CAPTCHA handling for preply.com.

Validation & QA
d 4–6

Schema validation, null-rate checks, price-outlier detection, and sample reviews before full launch.

Delivery
ongoing

JSON / CSV / Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.

Under the hood

How our Preply pipeline handles the hard parts

Preply uses aggressive bot mitigation and dynamic GraphQL endpoints. Here is how we stay resilient - and why teams choose managed infrastructure over DIY.

pipeline-monitor · preply.com · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
Anti-bot layer
Residential proxy rotation + fingerprint spoofing

Preply uses commercial bot detection that flags data center IPs and headless browsers. Our crawlers use residential ISP proxies with realistic browser fingerprints, randomised request timing, and full cookie session management.

Calendar hydration
GraphQL endpoint interception

Tutor availability is not present in the initial DOM. We intercept the backend GraphQL queries that hydrate the calendar widget, extracting structured slot data directly rather than attempting to parse complex frontend UI components.

Video metadata
Extracting embedded media links

Tutor introduction videos are hosted on third-party platforms and embedded dynamically. Our Playwright sessions execute the necessary JavaScript to resolve and extract the raw video URLs for downstream processing.

Change detection
Only re-scrape what has changed

For large tutor catalogues, we maintain a hash index of last-seen values per field. Subsequent runs only push diffs - reducing compute cost, storage bloat, and downstream processing load.

Monitoring & alerting
24/7 pipeline health with anomaly detection

Every run emits structured logs to our observability stack. We alert on null-rate spikes, schema drift in GraphQL payloads, and coverage drops - responding before you notice.

Applications

Who uses Preply data - and how

Teams across industries use preply.com data to build competitive products and smarter operations.

01
Competitor Pricing Analysis

EdTech platforms and language schools monitor hourly rates and trial discounts to optimise their own pricing strategies.

02
Supply & Demand Forecasting

Market analysts track tutor counts, active student metrics, and booked slots to identify trending languages and underserved categories.

03
Tutor Recruitment

Competing platforms identify high-performing Super Tutors with strong reviews and high active student counts for targeted recruitment.

04
Market Expansion Research

Language learning startups use geographic and language proficiency data to identify regions with high tutor density and low hourly rates.

05
AI Training Data

Machine learning teams use tutor bios, subject matter descriptions, and student reviews to train conversational AI and recommendation models.

06
Aggregator Platforms

Meta-search engines for education build unified catalogues of tutors across multiple platforms, relying on our API for fresh availability.

Why DataFlirt

"Preply holds the most accurate supply-and-demand signals for global language learning - but extracting real-time calendar availability requires sophisticated GraphQL interception."

Scraping Preply requires bypassing advanced bot mitigation, handling dynamic GraphQL calendar payloads, and paginating through thousands of localised search results. DataFlirt manages the proxy rotation, session handling, and schema validation so your data engineering team receives normalised warehouse-ready records without the maintenance overhead.

Technical Spec

Preply scraper - technical capabilities

Everything supported by our preply.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

GraphQL interception
Direct extraction of calendar slots and dynamic pricing via backend API calls
Supported
Calendar availability slots
Extract open and booked time slots mapped to specific timezones
Supported
Super Tutor badge detection
Capture platform-specific performance indicators and badges
Supported
Review pagination
Iterate through all student review pages for comprehensive sentiment data
Supported
Residential proxy rotation
ISP-grade residential IPs to bypass Cloudflare and bot mitigation
Supported
Change detection (diffs)
Hash-based diff: only emit records with changed fields since last run
Supported
Webhook delivery
HTTP POST per record for real-time downstream processing
Supported
Private student messages
Direct messaging history between students and tutors requires authentication
Partial
Booked lesson meeting links
Zoom/Skype URLs for scheduled lessons are gated behind user accounts
Partial
Infrastructure

Infrastructure powering the Preply pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheus
Scrapy + Playwright Stack

Scrapy handles crawl orchestration, deduplication, and retry logic. Playwright handles JavaScript rendering, GraphQL interception, and interaction flows.

Residential Proxy Infrastructure

We maintain pools of residential ISP proxies globally. Rotation happens per-request with sticky sessions where required to maintain GraphQL state.

Cloud-Native Orchestration

Pipelines run on AWS Lambda and ECS. Airflow handles scheduling, dependency management, and SLA alerting. All state stored in managed Postgres.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested - schema versioned per run
CSV
Flat file with typed columns - Excel/Sheets compatible
XLS
Legacy spreadsheet format for business analysts
Parquet
Columnar format for BigQuery, Snowflake, Athena
AWS S3
Direct bucket delivery - compatible with any data lake
Webhook
HTTP POST per record for real-time downstream processing
API
REST endpoints to query your extracted Preply dataset
PostgreSQL
Upsert into your existing schema with conflict resolution
BigQuery
Streamed directly into your dataset with schema auto-detect
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About preply.com scraping, legality, and pipeline operations.

Ask us directly →
Is scraping Preply legal?

Scraping publicly available information from Preply is generally permissible under applicable law. DataFlirt targets only public, non-authenticated tutor profiles, pricing, and review data. We do not extract personal student data or circumvent authentication walls.

How do you handle Preply's calendar data?

We intercept the backend GraphQL requests that Preply uses to hydrate the frontend calendar UI. This allows us to extract precise, structured availability slots mapped to specific timezones without relying on fragile DOM parsing.

Can you track Super Tutor status changes?

Yes. Our change detection system records the exact timestamp when a tutor gains or loses the Super Tutor badge, along with shifts in their active student counts and response times.

How fresh is the availability data?

For targeted lists of high-priority tutors, we can configure pipelines to refresh availability data at sub-60-minute intervals. Full platform sweeps typically run on a 24-hour cadence.

Which languages and subjects do you support?

We support all subject categories listed on Preply, including popular languages like English and Spanish, as well as niche subjects, test preparation, and academic tutoring.

Do you extract tutor video URLs?

Yes. We execute the necessary JavaScript to resolve the embedded media players and extract the raw video URLs provided by the tutors for their introduction videos.

What is the minimum viable engagement?

Our smallest packages start at a defined list of 5,000 tutor profiles with weekly delivery. For full-category monitoring or custom schema requirements, we price based on volume and delivery frequency.

$ dataflirt scope --new-project --source=preply.com ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a full tutor catalogue dump or continuous availability monitoring across 50,000 profiles - we scope, build, and operate the pipeline.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Related Scrapers

More in education and courses

Services

Data Extraction for Every Industry

View All Services →