Discover/Teachers Pay Teachers API
live

Teachers Pay Teachers APIteacherspayteachers.com

Access K-12 educational resources, seller profiles, reviews, and free materials from Teachers Pay Teachers via 7 structured API endpoints.

Endpoint health
verified 3h ago
get_resource_reviews
browse_resources
get_seller_profile
get_seller_resources
get_free_resources
7/7 passing latest checkself-healing
Endpoints
7
Updated
22d ago

What is the Teachers Pay Teachers API?

This API exposes 7 endpoints covering Teachers Pay Teachers product listings, seller profiles, and user reviews. You can search and filter resources by keyword, grade level, subject, and resource type using search_resources and browse_resources, retrieve full product metadata including HTML descriptions, grade arrays, and pricing via get_resource_details, and pull structured review data with aggregate ratings from any product page.

Try it
Page number for pagination
Sort order for results
Search keyword or phrase
api.parse.bot/scraper/6151111e-1bce-4923-8c22-633aa6470a15/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/6151111e-1bce-4923-8c22-633aa6470a15/search_resources?page=1&sort=relevance&query=math+worksheets' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace teacherspayteachers-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.teachers_pay_teachers_api import TeachersPayTeachers, Sort, ResourceNotFound

tpt = TeachersPayTeachers()

# Search for math resources sorted by rating
for item in tpt.resources.search(query="math worksheets", sort=Sort.RATING, limit=5):
    print(item.title, item.price)

# Get full details for a specific resource
resource = tpt.resources.get(product_id="2319927")
print(resource.name, resource.is_free, resource.evaluation_rating.score_average)
print(resource.author.name, resource.author.follower_count)

# Get reviews for that resource
review_result = resource.reviews()
print(review_result.aggregate_rating.rating_value, review_result.aggregate_rating.rating_count)
for review in review_result.reviews:
    print(review.author.name, review.review_body)

# Browse free math resources
for free_item in tpt.resources.browse(subject="math", price_range="free", limit=3):
    print(free_item.title, free_item.author)

# Explore a seller's profile and their store resources
seller = tpt.sellers.get(slug="little-achievers")
print(seller.name, seller.follower_count, seller.ratings.combined_ratings_score)

for store_item in seller.resources.list(limit=5):
    print(store_item.title, store_item.price)
All endpoints · 7 totalmissing one? ·

Full-text search over Teachers Pay Teachers educational resources by keyword. Returns paginated results with title, price, author, and thumbnail. Sort controls ordering; pagination via page number.

Input
ParamTypeDescription
pageintegerPage number for pagination
sortstringSort order for results
queryrequiredstringSearch keyword or phrase
Response
{
  "type": "object",
  "fields": {
    "url": "string - the full search URL used",
    "page": "string - current page number",
    "query": "string - the search query used",
    "results": "array of resource listing objects with id, title, url, price, author, author_url, rating, review_count, thumbnail"
  },
  "sample": {
    "data": {
      "url": "https://www.teacherspayteachers.com/browse?search=math+worksheets&page=1&sort=relevance",
      "page": "1",
      "query": "math worksheets",
      "results": [
        {
          "id": "1024082",
          "url": "https://www.teacherspayteachers.com/Product/Winter-Math-Worksheets-1024082",
          "price": "$3.00",
          "title": "Winter Math Worksheets for Kindergarten",
          "author": "Lavinia Pop",
          "rating": null,
          "thumbnail": "https://ecdn.teacherspayteachers.com/thumbitem/original-1024082-1.jpg",
          "author_url": "https://www.teacherspayteachers.com/store/lavinia-pop",
          "review_count": null
        }
      ]
    },
    "status": "success"
  }
}

About the Teachers Pay Teachers API

Search and Browse Endpoints

The search_resources endpoint accepts a required query string plus optional page and sort parameters, returning arrays of product objects that include id, title, url, price, author, author_url, rating, review_count, and thumbnail. The browse_resources endpoint offers more granular filtering through subject (e.g. math, science), grade (e.g. kindergarten, 1st-grade), resource_type (e.g. worksheets, task-cards), and price_range (e.g. free, under-5, 5-10) parameters — useful when you want category-level results rather than keyword-driven ones. Both endpoints paginate via the page integer parameter.

Product Detail and Review Endpoints

get_resource_details takes a numeric product_id and returns a richer object: the name, description (HTML), images array with large-image URLs, prices object (including isFree boolean and nonTransferableLicense pricing), usGrades, subjects, types, and an evaluationRating object with count and scoreAverage. get_resource_reviews returns a structured reviews array — each item includes author, datePublished, reviewBody, and reviewRating — alongside an aggregate_rating object with ratingValue, ratingCount, reviewCount, bestRating, and worstRating.

Seller and Free Resource Endpoints

get_seller_profile accepts a store slug (e.g. little-achievers) and returns seller-level fields: bio, icon URL, name, slug, state, country, ratings (with ratingsCount and combinedRatingsScore), experience, and followerCount. get_seller_resources paginates through that seller's full product catalog using the same slug plus optional page. Finally, get_free_resources returns a paginated feed of zero-cost listings in the same product-array format shared across all listing endpoints.

Data Consistency

All listing endpoints — search, browse, seller store, and free resources — return product objects with a consistent set of fields: id, title, url, price, author, author_url, rating, review_count, and thumbnail. This makes it straightforward to normalize results from different listing sources into a single schema without conditional field handling.

Reliability & maintenanceVerified

The Teachers Pay Teachers API is a managed, monitored endpoint for teacherspayteachers.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when teacherspayteachers.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official teacherspayteachers.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3h ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate free K-12 worksheets by grade level using browse_resources with price_range=free and grade filters.
  • Monitor a specific seller's catalog changes over time by paginating get_seller_resources by slug.
  • Build a resource recommendation engine using subject, grade, and rating fields from search_resources.
  • Analyze review sentiment trends by pulling reviewBody text from get_resource_reviews across multiple product IDs.
  • Compare seller reputation metrics by pulling followerCount and combinedRatingsScore from get_seller_profile.
  • Identify top-rated science resources for a specific grade by combining browse_resources subject and grade filters with evaluationRating data from get_resource_details.
  • Track pricing across resource categories by collecting the nonTransferableLicense price field from get_resource_details at regular intervals.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Teachers Pay Teachers have an official public developer API?+
Teachers Pay Teachers does not publish a public developer API for third-party use. There is no documented REST or GraphQL API available to external developers on their website.
What does get_resource_details return beyond what search results include?+
get_resource_details returns fields not present in listing endpoints: an HTML description, a structured images array with large-format URLs, a prices object with an isFree boolean and nonTransferableLicense pricing, usGrades and subjects arrays, types, and an evaluationRating object with count and scoreAverage. Listing endpoints like search_resources return only summary fields such as thumbnail, price, rating, and review_count.
Can I filter search results by grade level or resource type in search_resources?+
search_resources accepts only query, page, and sort — it does not expose grade, subject, or resource_type filters. Those filters are available in browse_resources, which supports grade, subject, resource_type, and price_range parameters. You can combine a keyword search workflow with browse filters by using browse_resources with a subject or grade context instead.
Does the API expose seller transaction history or sales volume data?+
Not currently. The seller-related endpoints cover profile metadata (bio, follower count, location, ratings) and product listings via get_seller_profile and get_seller_resources. Sales volume and transaction history are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting any publicly visible sales or download count data if TPT surfaces it.
Are there any known limitations on review data returned by get_resource_reviews?+
The reviews returned by get_resource_reviews are sourced from structured markup on the product page. Reviews that require login to view, or that TPT does not include in page-level structured data, will not appear in the response. The endpoint returns whatever review records are publicly accessible on the product page; it does not guarantee a complete historical review archive.
Page content last updated . Spec covers 7 endpoints from teacherspayteachers.com.
Related APIs in EducationSee all →
teepublic.com API
Search and browse products from TeePublic's print-on-demand marketplace, discover artists and their designs, and explore product types and featured creators. Get detailed information about specific products, artist profiles, and curated collections to find the perfect custom apparel and merchandise.
superprof.com API
Search for private tutors by subject and location, then access their detailed profiles with reviews, qualifications, pricing, and availability. Discover top-rated tutors featured on the platform to find the perfect match for your learning needs.
wyzant.com API
Search for qualified tutors on Wyzant, view their detailed profiles, ratings, reviews, and expert answers to find the perfect match for your learning needs. Browse trending subjects, get subject suggestions, and compare tutors based on their expertise and student feedback all in one place.
etsy.com API
Discover what shoppers are searching for on Etsy by accessing real-time trending keywords and popular search terms that can help you identify market demand and optimize your product listings. Get instant access to autocomplete suggestions and "Popular right now" trends to stay ahead of customer interests and improve your shop's visibility.
textures.com API
Search and browse millions of textures by category or keyword to find high-resolution texture maps with detailed pricing and specifications. Discover the latest content additions, explore free samples, and access complete metadata including available resolutions and texture maps for your projects.
depop.com API
Browse and discover products on Depop by searching inventory, viewing detailed product information, seller profiles, and reviews, while exploring trending items and the complete category structure. Filter listings by various criteria, access seller information including their likes and past sales, and find similar products to items you're interested in.
blendermarket.com API
Browse and search Blender Market (Superhive) to discover 3D assets, add-ons, and creator tools. Access detailed product information, reviews, FAQs, documentation, and creator profiles. Filter by category, sort results, and explore current sales.
bhphotovideo.com API
Search and browse B&H Photo's massive inventory of cameras, electronics, and photography gear with instant access to pricing, specifications, images, and customer reviews. Filter products by category, compare detailed specs, and discover used items all in one integrated platform.