Teachers Pay Teachers Scraper
Pricing
from $7.50 / 1,000 resources
Teachers Pay Teachers Scraper
[π° $7.5 / 1K] Extract Teachers Pay Teachers resources by search term, product URL, or store β titles, prices, sale prices, quality scores, ratings, grade levels, subjects, formats, standards, author info, thumbnails, and optional individual reviews.
Pricing
from $7.50 / 1,000 resources
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Pull educational resources from Teachers Pay Teachers (TpT) at scale β prices, sale prices, quality scores, ratings, grade levels, subjects, formats, standards alignment, teacher-author store details, and optional individual buyer reviews. Search by keyword, paste a single resource link, or point it at a whole store to pull that seller's entire catalogue. Built for curriculum companies, edtech market-research teams, and TpT sellers who need structured competitive data across thousands of resources without copying it off one product page at a time.
Why This Scraper?
- Three ways in β keyword, resource URL, or whole-store URL β search a term like
"fractions", paste a/Product/...link for one resource, or paste a/store/...link to pull a competitor's full catalogue. Mix all three freely in a single run. - 19 grade-level filters β PreK through Grade 12 plus Homeschool, Adult Education, Higher Education, Staff, and Not Grade Specific β so you only collect resources for the audience you sell to.
- 20+ subject and resource-type filters β Math, English Language Arts, Science, Social Studies, World Languages, Arts, Music, Special Education, and ESL/EFL/ELL subjects, plus format filters for worksheets, task cards, Google Apps, PDF, PowerPoint, Easel activities, and more.
- Free-only and price-range targeting β set a minimum and maximum USD price, or set the maximum to
0to return only free resources β the fastest way to map a market's freebies. - Quality-score threshold (0β5 scale) β TpT gives each resource an aggregate quality score out of 5; filter to 3.0+, 3.5+, 4.0+, 4.5+, or 5.0 (top rated) to surface only proven best-sellers.
- Individual buyer reviews on demand β flip one switch to collect each resource's reviews as separate rows: reviewer, numeric rating (0β4), the qualitative satisfaction label, comment text, grades taught, and buyer location β the raw material for sentiment analysis.
- Every resource carries standards alignment β Common Core and other academic standards notation (e.g.
3.NF.A.1) attached to each resource, so you can map a catalogue to a curriculum framework. - Two clean record types, parent-to-child linked β
productrows andreviewrows, each review joined to its resource by product id and URL, delivered in separate Resources and Reviews tabs. - On-sale detection and four sort orders β filter to currently discounted resources and order results by relevance, rating, price (low or high), or newest.
Use Cases
Market Research
- Map an entire subject-and-grade niche to size the opportunity before building a resource
- Track how many resources exist for a trending topic and how they are priced
- Compare free versus paid resource density across grade bands
- Benchmark quality scores and rating counts across a category
Competitive Pricing
- Pull a competitor's full store catalogue from a single
/store/...link - Compare list price versus sale price to reverse-engineer discount strategies
- Find the price band where top-rated resources cluster in your subject
- Monitor which competitor resources are currently on sale
Lead Generation
- Build lists of high-performing teacher-authors by store name and store URL
- Identify prolific sellers in a subject to target for partnerships or acquisition
- Surface authors whose resources consistently score 4.0 to recruit as contributors
Curriculum & Content Research
- Filter resources by Common Core and other standards to fill curriculum gaps
- Discover the most popular formats (task cards, Google Apps, Easel) for a grade level
- Assemble a shortlist of top-rated worksheets and lessons for a unit
Academic Research
- Study pricing, ratings, and review sentiment across the educational-resource marketplace
- Analyze which grade levels and subjects attract the most reviews
- Measure the relationship between quality score, price, and review volume
Getting Started
Simple Keyword Search
The simplest run β one search term, 100 resources:
{"searchQueries": ["fractions"],"maxResults": 100}
Filtered Search
Fourth-grade math worksheets rated 4.0 and up, under $5, newest first:
{"searchQueries": ["multiplication"],"gradeLevels": ["4th-grade"],"subjects": ["math"],"resourceTypes": ["worksheets"],"minRating": "4","priceMax": 5,"sort": "newest","maxResults": 200}
Store Catalogue with Reviews
Pull a seller's full catalogue and collect up to 50 reviews per resource for sentiment analysis:
{"searchQueries": ["https://www.teacherspayteachers.com/store/example-teacher-store"],"includeReviews": true,"maxReviewsPerProduct": 50,"maxResults": 0}
Free Resources Only
Map every free resource for a topic β set the maximum price to zero:
{"searchQueries": ["sight words"],"priceMax": 0,"sort": "rating","maxResults": 100}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | ["fractions"] | Search terms (e.g. "fractions", "sight words") and/or TpT links. A resource page (/Product/...) returns that resource; a store page (/store/...) returns that seller's resources. Each entry is processed on its own. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
gradeLevels | string[] | [] | Only include resources for these grade levels. 19 options from PreK / Preschool through 12th grade, plus Higher education, Adult education, Homeschool, Staff, and Not grade specific. Empty means all grades. |
subjects | string[] | [] | Only include resources in these subject areas: Math, English Language Arts, Science, Social Studies / History, Specialty, Arts, Music, World Languages, Holidays / Seasonal, English Language Learning (ESL/EFL/ELL), Special Education, For All Subjects. Empty means all subjects. |
resourceTypes | string[] | [] | Only include these resource types or file formats: Worksheets, Activities, Task cards, Centers, Assessment, Lesson plans, Games, Printables, Projects, Google Apps, PDF, Microsoft PowerPoint, Microsoft Word, Easel activity, Internet activities. Empty means all types. |
onSaleOnly | boolean | false | Only include resources that are currently on sale. |
minRating | string | "0" | Only include resources with at least this overall quality score. Options: Any score, 3.0 & up, 3.5 & up, 4.0 & up, 4.5 & up, 5.0 & up (top rated). TpT shows an aggregate quality score out of 5. |
priceMin | number | null | Only include resources priced at or above this amount in USD. Empty means no minimum. |
priceMax | number | null | Only include resources priced at or below this amount in USD. Set to 0 to return only free resources. Empty means no maximum. |
Results
| Parameter | Type | Default | Description |
|---|---|---|---|
sort | string | "relevance" | Order for search and store results: Relevance, Rating, Price: low to high, Price: high to low, Newest. Ignored for direct resource URLs. "Price: high to low" ranks the highest-priced resources within a relevance-based sample of up to 500 results, so on very large result sets the ranking is over that sample rather than the entire catalogue. |
maxResults | integer | 100 | Maximum resources to collect for each search term or store. Set to 0 to collect everything (a broad search or large store can hold thousands). |
Reviews
| Parameter | Type | Default | Description |
|---|---|---|---|
includeReviews | boolean | false | Also collect each resource's individual ratings and reviews as separate rows. Adds rows and cost β a popular resource can have thousands of ratings. Off by default. |
maxReviewsPerProduct | integer | 50 | When reviews are enabled, the maximum number of reviews to collect per resource. Set to 0 to collect all reviews. |
Output
Every row carries a recordType field β product or review β so you can filter cleanly downstream. The Overview tab holds every record; the Resources and Reviews tabs are clean, type-filtered subsets of the same run.
Resource (recordType: "product")
{"recordType": "product","id": "1234567","type": "DigitalDownloadResource","title": "Fraction Flip Book","canonicalSlug": "Fraction-Flip-Book-1234567","url": "https://www.teacherspayteachers.com/Product/Fraction-Flip-Book-1234567","descriptionSnippet": "A hands-on flip book for teaching equivalent fractions...","price": 4.5,"salePrice": 3.6,"onSale": true,"overallQualityScore": 3.9,"totalEvaluations": 442,"gradeLevels": ["3rd-grade", "4th-grade"],"subjectAreas": ["math"],"resourceCategories": ["activities", "printables"],"formats": ["activities", "printables"],"taxonomyTagIds": ["math", "3rd-grade", "fractions"],"standards": ["3.NF.A.1", "4.NF.A.1"],"authorId": "98765","authorName": "The Fraction Teacher","authorSlug": "the-fraction-teacher","storeUrl": "https://www.teacherspayteachers.com/store/the-fraction-teacher","thumbnailOriginalUrl": "https://ecdn.teacherspayteachers.com/thumbitem/original.jpg","thumbnailLargeUrl": "https://ecdn.teacherspayteachers.com/thumbitem/large.jpg","searchQuery": "fractions","scrapedAt": "2026-07-04T14:30:00Z"}
Core Fields
| Field | Type | Description |
|---|---|---|
recordType | string | Always "product" |
id | string | TpT resource id |
type | string | Resource type (DigitalDownloadResource, BundleResource, etc.) |
title | string | Resource title |
canonicalSlug | string | URL slug for the resource |
url | string | Full resource URL |
descriptionSnippet | string | Short description snippet |
searchQuery | string | The input entry that produced this row |
scrapedAt | string | ISO timestamp of extraction |
Pricing & Quality
| Field | Type | Description |
|---|---|---|
price | number | List price in USD |
salePrice | number | Sale price in USD (0 when not on sale; null for an on-sale resource whose listing does not expose the discounted price) |
onSale | boolean | Whether the resource is currently on sale |
overallQualityScore | number | Aggregate quality score on a 0β5 scale |
totalEvaluations | integer | Number of ratings/reviews the resource has received |
Classification
| Field | Type | Description |
|---|---|---|
gradeLevels | string[] | Grade-level tags |
subjectAreas | string[] | Subject-area tags |
resourceCategories | string[] | Resource type tags |
formats | string[] | File-format tags (PDF, Google Apps, etc.) |
taxonomyTagIds | string[] | All taxonomy tag ids, including fine-grained topics |
standards | string[] | Aligned academic standards (e.g. 3.NF.A.1) |
Author & Media
| Field | Type | Description |
|---|---|---|
authorId | string | Author/store id |
authorName | string | Author/store display name |
authorSlug | string | Author/store slug |
storeUrl | string | Full store URL |
thumbnailOriginalUrl | string | Original-size thumbnail URL |
thumbnailLargeUrl | string | Large thumbnail URL |
Review (recordType: "review")
Emitted only when includeReviews: true. Each review links back to its resource by productId and productUrl.
{"recordType": "review","id": "eval-556677","productId": "1234567","productUrl": "https://www.teacherspayteachers.com/Product/Fraction-Flip-Book-1234567","rating": 4,"ratingLabel": "EXTREMELY","ratingScaleMax": 4,"title": "Perfect for my centers","comment": "My students loved this β clear layout and easy to assemble.","createdAt": "2026-05-12T09:15:00Z","reviewerId": "44556","reviewerName": "Ms. Rivera","reply": "So glad it worked for your class β thank you!","gradesUsed": ["3rd-grade"],"buyerLocation": "Texas","searchQuery": "fractions","scrapedAt": "2026-07-04T14:30:00Z"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "review" |
id | string | Review id |
productId | string | Parent resource id (links to the product row) |
productUrl | string | Parent resource URL |
rating | number | Numeric rating on a 0β4 scale |
ratingLabel | string | Raw satisfaction label (e.g. EXTREMELY, VERY) |
ratingScaleMax | number | Maximum of the rating scale (always 4) |
title | string | Review title / buyer-experience headline |
comment | string | Reviewer comment text (nullable) |
createdAt | string | When the review was left |
reviewerId | string | Reviewer user id |
reviewerName | string | Reviewer display name (when public) |
reply | string | Author's reply to the review (nullable) |
gradesUsed | string[] | Grade levels the buyer taught with the resource |
buyerLocation | string | Buyer's teaching location (when public) |
searchQuery | string | The input entry that produced the parent resource |
scrapedAt | string | ISO timestamp of extraction |
Tips for Best Results
- Point a store URL at a competitor to pull their whole catalogue. Paste a
/store/...link withmaxResults: 0to collect every resource a seller lists β the fastest way to build a full competitive picture. - Leave reviews off unless you need sentiment. Reviews add a row per review, and a popular resource can carry thousands. Turn
includeReviewson only for the runs where buyer feedback matters, and capmaxReviewsPerProductto keep volume in check. - Set the maximum price to zero to map the freebies.
priceMax: 0returns only free resources β a clean way to see what a market gives away versus what it charges for. - Filter to 4.5 & up (or 5.0 for top rated) to skip the long tail. The
minRatingthreshold runs on TpT's 0β5 aggregate quality score, so setting a high floor surfaces only proven best-sellers and you spend results on resources buyers actually rate highly. - Start with a modest
maxResultsto test filters. Run 20β50 first to confirm your grade, subject, and format filters return the right resources, then scale up. - Combine terms and links in one run. Mix keywords, resource URLs, and store URLs in
searchQueriesβ each entry is processed independently with the same filters applied to search and store results. - Filters are ignored for direct resource URLs. A
/Product/...link always returns that exact resource; grade, subject, price, and sort settings only shape search and store results.
Pricing
From $7.50 per 1,000 resources + $0.50 per 1,000 reviews β undercuts the market for TpT resource extraction while keeping optional reviews cheap and pay-only-if-you-use-them. This actor is billed pay-per-event: you are charged per resource and per review collected. No compute or time-based charges β you pay only for the resources and reviews you collect. Bronze, Silver, and Gold subscribers pay progressively less; loyalty discounts apply automatically on the Apify platform.
| Event | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| Per 1,000 resources | $9.00 | $8.50 | $8.00 | $7.50 |
| Per 1,000 reviews | $0.60 | $0.56 | $0.53 | $0.50 |
Example total costs at the Gold rate:
| What you collect | Resources cost | Reviews cost | Total |
|---|---|---|---|
| 500 resources, no reviews | $3.75 | $0.00 | $3.75 |
| 500 resources + 20 reviews each (10,000 reviews) | $3.75 | $5.00 | $8.75 |
| 2,000 resources, no reviews | $15.00 | $0.00 | $15.00 |
A "resource" is one product row; a "review" is one review row. Reviews are only collected when you enable them. Platform fees (storage) are additional and depend on your Apify plan.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n β Workflow automation
- Google Sheets β Direct spreadsheet export
- Slack / Email β Notifications on new results
- Webhooks β Trigger custom APIs on run completion
- Apify API β Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate market research, competitive analysis, curriculum research, and academic study. Users are responsible for complying with applicable laws and Teachers Pay Teachers' terms of service, including making reasonable-rate requests and respecting content usage rules. Do not use extracted data for spam, harassment, or any illegal purpose, and handle any personal data (such as reviewer names) responsibly and in line with applicable privacy regulations.