Wyzant Tutor Data Feed

Bulk data feed that returns a complete snapshot of all active tutors listed on Wyzant at the time of the request. An HTTP GET to /feeds/downloadFeed with a partner API key and a feedFormat of XML or JSON (plus an optional maxResults for testing) downloads the full tutor dataset. Because the file is large, Wyzant asks partners to pull it at most once per day and recommends refreshing a local copy at least weekly.

OpenAPI Specification

wyzant-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Wyzant Partner Data API
  description: >-
    Partner/affiliate data interface for the Wyzant tutoring marketplace, served
    from data.wyzant.com. This is NOT a public consumer API for booking lessons,
    messaging tutors, or handling payments - those actions happen only through
    the wyzant.com product. This interface is available to approved affiliates
    (via Wyzant's ShareASale-based partner program) and exposes two operations:
    a real-time Search API that queries the live tutor database, and a Data Feed
    that downloads a full snapshot of all active tutors. Both are authenticated
    with a per-partner API key issued from the partner dashboard at
    https://www.wyzant.com/partner/advanced/api and return XML or JSON. Request
    parameters and endpoint URLs below are taken from Wyzant's published API &
    Data Feed documentation; the response schema is modeled from the documented
    field list and is illustrative, not an authoritative contract.
  version: '1.0'
  contact:
    name: Wyzant Partner Support
    url: https://support.wyzant.com/hc/en-us/articles/115005857526-API-Data-Feed-Documentation
  x-endpointsModeled: true
servers:
  - url: https://data.wyzant.com
    description: Wyzant partner data host
tags:
  - name: Search
    description: Real-time search against the live tutor database.
  - name: Data Feed
    description: Bulk snapshot download of all active tutors.
paths:
  /api/search:
    post:
      operationId: searchTutors
      tags:
        - Search
      summary: Search active tutors in real time
      description: >-
        Runs a real-time search against Wyzant's live tutor database and returns
        matching active tutors. Parameters are passed as form arguments. A valid
        partner API key (PartnerAPIKey) is required for conversion tracking.
      parameters:
        - name: PartnerAPIKey
          in: query
          required: true
          description: Wyzant-issued partner API key (GUID) used for conversion tracking.
          schema:
            type: string
        - name: SearchString
          in: query
          required: false
          description: Free-text search string, typically a subject (e.g. "Accounting", "Excel").
          schema:
            type: string
        - name: ZIP
          in: query
          required: false
          description: US ZIP code to center a location-based search.
          schema:
            type: string
        - name: Distance
          in: query
          required: false
          description: Search radius in miles around the ZIP code.
          schema:
            type: integer
            default: 40
        - name: IsMale
          in: query
          required: false
          description: Filter tutors by gender.
          schema:
            type: boolean
        - name: MinHourly
          in: query
          required: false
          description: Minimum tutor hourly rate in USD.
          schema:
            type: number
        - name: MaxHourly
          in: query
          required: false
          description: Maximum tutor hourly rate in USD.
          schema:
            type: number
        - name: MinAge
          in: query
          required: false
          description: Minimum tutor age.
          schema:
            type: integer
        - name: MaxAge
          in: query
          required: false
          description: Maximum tutor age.
          schema:
            type: integer
        - name: MaxResults
          in: query
          required: false
          description: Maximum number of tutors to return.
          schema:
            type: integer
        - name: ChannelName
          in: query
          required: false
          description: Partner-defined channel label for conversion tracking.
          schema:
            type: string
        - name: ResultsFormat
          in: query
          required: false
          description: Response format.
          schema:
            type: string
            enum:
              - JSON
              - XML
            default: JSON
      responses:
        '200':
          description: An array of matching active tutors.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Tutors:
                    type: array
                    items:
                      $ref: '#/components/schemas/Tutor'
        '401':
          description: Missing or invalid partner API key.
  /feeds/downloadFeed:
    get:
      operationId: downloadTutorFeed
      tags:
        - Data Feed
      summary: Download a full snapshot of active tutors
      description: >-
        Downloads a complete snapshot of all active tutors listed on Wyzant at
        the time of the request, in XML or JSON. Because the file is large,
        Wyzant asks partners to call this at most once per day and to refresh a
        local copy at least weekly.
      parameters:
        - name: apiKey
          in: query
          required: true
          description: Wyzant-issued partner API key.
          schema:
            type: string
        - name: feedFormat
          in: query
          required: true
          description: Feed format.
          schema:
            type: string
            enum:
              - XML
              - JSON
        - name: maxResults
          in: query
          required: false
          description: Optional cap on the number of tutors returned, useful for testing.
          schema:
            type: integer
      responses:
        '200':
          description: The full active-tutor snapshot.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Tutors:
                    type: array
                    items:
                      $ref: '#/components/schemas/Tutor'
        '401':
          description: Missing or invalid partner API key.
components:
  schemas:
    Tutor:
      type: object
      description: >-
        A tutor record as returned by the Search API and Data Feed. Modeled from
        Wyzant's documented field list; some fields are only returned to
        partners with restricted-access approval.
      properties:
        TutorID:
          type: string
          description: Unique identifier for the tutor.
        Name:
          type: string
          description: Tutor display name.
        City:
          type: string
        State:
          type: string
        ZIP:
          type: string
        FeePerHour:
          type: number
          description: Tutor's hourly rate in USD (before Wyzant service fee).
        TravelDistance:
          type: integer
          description: Distance the tutor is willing to travel, in miles.
        ProfileLink:
          type: string
          format: uri
          description: Tracked link to the tutor's Wyzant profile.
        Subjects:
          type: array
          items:
            type: string
          description: Subjects the tutor teaches.
        StarRatingAverage:
          type: number
          description: Average star rating across the tutor's reviews.