Skip to content
    ↑↓ to choose · Enter to open

    · 12 min read

    Wyzant Tutors Scraper: 17 Data Fields, Up to 1,000 Free Results/Month

    By CrawlerBros Engineering Team

    Each record carries 17 output fields, including hourly rates, average star ratings, review counts, education history, and background check status. Data arrives in standard JSON format at $5.00 per 1,000 results on the free plan. You can fetch profiles by keyword search, broad subject categories, explicit usernames, or targeted profile URLs, with optional filters for online availability and US ZIP codes. This tool is built for developers, EdTech platforms, and lead generation teams tracking US tutor pricing and credentials; it is not for teams trying to scrape international platforms outside Wyzant.com.

    Try it: open Wyzant Tutors Scraper on Apify, sign in on the free plan and run the prefilled example.

    Can you try Wyzant Tutors Scraper before paying?

    Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of Wyzant Tutors Scraper a month, before run-start charges and platform usage.

    The example request further down caps maxItems at 20, so a first run returns at most 20 results and costs at most $0.10 in result charges. That is enough to see the real shape of the data before deciding anything.

    Wyzant Tutors Scraper was last updated on 2026-05-27. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 692,561 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.

    What does it cost to run Wyzant Tutors Scraper?

    Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.

    Apify plan Per result Per 1,000 results
    FREE $0.005 $5.00
    BRONZE $0.00433 $4.33
    SILVER $0.00367 $3.67
    GOLD $0.003 $3.00
    PLATINUM $0.003 $3.00
    DIAMOND $0.003 $3.00

    Result charges scale strictly with the dataset output, making maxItems the main control affecting your final bill. Filtering by price range or location using minRate, maxRate, or zipCode restricts item yield and keeps costs predictable. Testing inputs with maxItems set to 20 caps result charges at $0.10, providing an inexpensive way to validate data schemas before running bulk queries.

    How do you run Wyzant Tutors Scraper from the API?

    The schema marks 1 of its 12 controls as required: mode. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.

    Call the synchronous endpoint to start a run and receive dataset items in one request:

    curl -X POST "https://api.apify.com/v2/acts/crawlerbros~wyzant-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"mode":"search","searchQuery":"math","subject":"math","startUrls":[],"onlineOnly":true,"maxItems":20,"proxyConfiguration":{"useApifyProxy":true}}'
    

    The same run from Python, using the official client:

    from apify_client import ApifyClient
    
    client = ApifyClient("<YOUR_APIFY_TOKEN>")
    
    run_input = {
      "mode": "search",
      "searchQuery": "math",
      "subject": "math",
      "startUrls": [],
      "onlineOnly": True,
      "maxItems": 20,
      "proxyConfiguration": {
        "useApifyProxy": True
      }
    }
    
    run = client.actor("crawlerbros~wyzant-scraper").call(run_input=run_input)
    
    for item in client.dataset(run["defaultDatasetId"]).iterate_items():
        print(item)
    

    And from Node.js:

    import { ApifyClient } from 'apify-client'
    
    const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
    
    const input = {
      "mode": "search",
      "searchQuery": "math",
      "subject": "math",
      "startUrls": [],
      "onlineOnly": true,
      "maxItems": 20,
      "proxyConfiguration": {
        "useApifyProxy": true
      }
    }
    
    const run = await client.actor('crawlerbros~wyzant-scraper').call(input)
    const { items } = await client.dataset(run.defaultDatasetId).listItems()
    console.log(items)
    

    That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.

    Which Wyzant Tutors Scraper inputs matter, and which can you skip?

    The required mode parameter selects the collection strategy, offering choices between search, bySubject, tutorProfile, and byUrl. For keyword discovery, set searchQuery; for broad directory browsing, select a standard value from subject. Leave optional parameters like zipCode or rating bounds unconfigured on initial test runs unless your integration specifically depends on localized or priced-constrained records.

    • mode (string): What to fetch from Wyzant. Default: "search".
    • searchQuery (string): Subject or keyword to search for tutors (mode=search), e.g. calculus, python programming, SAT prep. Default: "math".
    • subject (string): Browse tutors by subject category (mode=bySubject). Default: "math".
    • tutorUsername (string): Wyzant username for a single tutor profile (mode=tutorProfile), e.g. john_s.
    • startUrls (array): List of Wyzant tutor profile URLs (mode=byUrl). Each item must have a url key, e.g. https://www.wyzant.com/tutors/john_s. Default: [].
    • onlineOnly (boolean): If enabled, only return tutors available for online sessions. Default: true.
    • zipCode (string): US ZIP code to filter for nearby in-person tutors (optional). Leave blank for online-only search.
    • minRate (integer): Minimum tutor hourly rate in USD.
    • maxRate (integer): Maximum tutor hourly rate in USD.
    • minRating (number): Minimum tutor rating (0.0 - 5.0).
    • maxItems (integer): Maximum number of tutor records to emit. Default: 20.
    • proxyConfiguration (object): Apify proxy settings. Uses Apify AUTO datacenter proxy for Wyzant access. Default: {"useApifyProxy":true}.

    Fixed-choice controls: mode accepts search (Search tutors by keyword or subject), bySubject (Browse tutors by subject category), tutorProfile (Fetch a single tutor profile), byUrl (Scrape individual tutor URL(s)); subject accepts 47 values (default math), including math, algebra, calculus, geometry.

    What does Wyzant Tutors Scraper return?

    Returned dataset records work well for rate benchmarking, tutor qualification audits, and feeding student matching engines with historical tutoring hours and student counts. Conspicuously, records do not contain private contact information like personal email addresses or direct phone numbers, as Wyzant manages student messaging within its own platform.

    • name: Tutor's display name
    • url: Wyzant profile URL
    • tutorId: Wyzant username
    • subjects: Array of subjects taught
    • hourlyRate: Hourly rate in USD
    • rating: Average star rating (0-5)
    • reviewCount: Number of student reviews
    • numStudents: Total number of students tutored
    • numHours: Total tutoring hours completed
    • responseTime: Typical response time
    • backgroundChecked: true if background check verified
    • education: Array of {degree, subject, institution} objects
    • bio: Tutor biography/description
    • location: City/state
    • onlineTutoring: true if available online
    • photoUrl: Profile photo URL
    • scrapedAt: ISO 8601 timestamp

    These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.

    How do you build the workflow end to end?

    Open Wyzant Tutors Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.

    1. Select your target mode in the input schema: choose search, bySubject, tutorProfile, or byUrl.
    2. If using search mode, supply your term in searchQuery, or pick a predefined category in subject if using bySubject mode.
    3. Set onlineOnly to true for remote tutors, or pass a 5-digit US ZIP code to zipCode for local in-person matches.
    4. Restrict the price range using minRate and maxRate to filter out listings outside your target budget.
    5. Set maxItems to 20 for your initial test run to cap dataset generation and result charges.
    6. Run the Actor once and review the dataset output to verify fields like name, hourlyRate, education, and bio are populated.
    7. Confirm that backgroundChecked returns a boolean and that location matches your expected geographical query.
    8. Increase maxItems to your desired batch size once record quality and field completeness meet your project requirements.

    How do you apply it? Three worked playbooks

    These are Wyzant Tutors Scraper's own documented use cases, each worked through as an operating pattern rather than a description.

    Use case 1: EdTech platforms

    Outcome: Build tutor comparison databases

    Configure: Set mode to "bySubject", subject to "computer-science", onlineOnly to true, minRating to 4.0, and maxItems to 50.

    Working method: Start by harvesting top-rated profiles across a single technical subject, verify structure and field completion, then extend execution across other subjects in the dropdown enumeration.

    Deliverable: A structured database of computer science tutors containing hourlyRate, rating, reviewCount, numStudents, and education profiles.

    Stop condition: Stop execution if tutor record count returns empty or if rating values fall below 4.0.

    Use case 2: Academic lead generation

    Outcome: Find qualified tutors by subject and location

    Configure: Set mode to "search", searchQuery to "SAT prep", onlineOnly to false, zipCode to "90210", and maxItems to 30.

    Working method: Execute a localized search using a specific postal ZIP code, assess geographical accuracy in the location field, and then schedule sequential runs across target postal codes.

    Deliverable: A location-filtered dataset containing tutor names, URLs, bios, backgroundChecked status, and hourly rates for local SAT instructors.

    Stop condition: Stop execution if the location string in the returned items fails to match the targeted metropolitan area or ZIP region.

    Use case 3: Student tools

    Outcome: Match students with tutors based on budget and subject

    Configure: Set mode to "search", searchQuery to "calculus", minRate to 25, maxRate to 60, onlineOnly to true, and maxItems to 40.

    Working method: Filter candidates directly by price range parameters, run a sample batch to verify rate boundaries, and map the outputs into a downstream matching engine.

    Deliverable: An array of calculus tutor objects constrained within $25 to $60 hourly rates complete with photoUrl, bio, and subjects list.

    Stop condition: Stop processing if returned hourlyRate values fall outside the minRate and maxRate range.

    What breaks, and how do you design around it?

    When querying dense subjects, Wyzant search results truncate past maximum pagination limits. To bypass result caps, narrow broad queries by adding minRate and maxRate boundaries or splitting requests into specific ZIP codes. If you need single profiles fast, avoid search modes and pass direct handles using tutorProfile or startUrls instead.

    When should you not use Wyzant Tutors Scraper?

    Do not use this scraper if you need multi-language or non-US tutoring listings. Wyzant exclusively covers the United States market. If your application requires global language tutors, use italki Tutor Profiles & Languages Scraper or Preply Tutor Profiles Scraper. If you require international subject tutors across varied marketplaces, TeacherOn Tutors Scraper covers global listings in 18,000+ subjects. If you need broad household services beyond academic tutoring, consider Care.com Scraper.

    What should you check before trusting the output?

    • Verify that hourlyRate contains a positive integer and is non-null across all retrieved tutor records.
    • Check that education returns an array of objects containing degree, subject, and institution rather than a string or null.
    • Confirm backgroundChecked is explicitly true or false, flagging records where this verification key is missing.
    • Ensure responseTime and numHours fields contain valid data when running profile enrichment modes.
    • Halt automated workflows if consecutive runs output zero items when querying major subjects like math or english.

    None of this proves a record is correct. It gives a scheduled Wyzant Tutors Scraper run defined points where it should stop instead of quietly passing bad data downstream.

    Frequently asked questions

    How much does it cost to scrape 1,000 Wyzant tutor profiles?

    Scrapes cost $0.005 per result, which equals $5.00 per 1,000 results on Apify's free plan. Paid platform plans offer lower per-result charges. Apify bills compute usage for run duration separately.

    Can I filter Wyzant tutors by specific subject categories?

    Yes. Set mode to bySubject and choose from standard dropdown categories including calculus, python, chemistry, sat, finance, and spanish. You can also run free-text queries via searchQuery.

    How do I filter for in-person tutors near a specific area?

    Provide a 5-digit US ZIP code in zipCode and set onlineOnly to false. The scraper returns local tutors matching that geographic area along with their location and pricing information.

    Does this tool extract background check verification status?

    Yes. Every record includes the backgroundChecked boolean field, which indicates true if Wyzant has verified the tutor's background check on their public profile page.

    Does scraping Wyzant tutor profiles require login credentials?

    No. All profiles, hourly rates, education backgrounds, and search listings extracted by this Actor are publicly accessible on Wyzant.com without logging into an account.

    Where to go next

    When you are ready to run it, open Wyzant Tutors Scraper on Apify; the free plan covers up to 1,000 results a month.

    Start with the Wyzant Tutors Scraper Actor page for the current input schema, pricing tier, and run history.

    Other Actors we maintain for related data:

    • Preply Tutor Profiles Scraper: Scrape Preply tutor profiles, search tutors by language, subject, price, and rating.
    • TeacherOn Tutors Scraper: Scrape TeacherOn.com, a global tutoring marketplace with 200,000+ tutors across 18,000+ subjects.
    • italki Tutor Profiles & Languages Scraper: Scrape italki teacher profiles with search professional teachers and community tutors by language, price, rating, and lesson count.
    • Care.com Scraper: Scrape Care.com caregiver listings and profiles - babysitters, nannies, senior caregivers, pet sitters, housekeepers, tutors.

    Related guides:

    Resources

    • Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-29.

    • Actor last updated by its maintainers on 2026-05-27.

    • Run outcome figures cover the 30 day public window ending 2026-09-29.

    • Wyzant Tutors Scraper on Apify

    Featured actors

    Wyzant Tutors Scraper

    Scrape tutor profiles from Wyzant.com with the largest US tutoring marketplace. Search tutors by subject or keyword, browse subject pages, or fetch individual tutor profiles. Returns name, subjects, hourly rate, rating, reviews, education, bio, and more.

    Run on Apify ↗