Endpoint Playground
Test Crawlora's Search Tes teaching resources API with realistic prefilled parameters. Generate a cURL request, inspect the expected structured JSON response, and open the full docs or pricing page when you are ready to integrate this public web data extraction endpoint into your application.
curl "https://api.crawlora.net/api/v1/tes/resources/search?country=GB&sort=relevance&key_stage=3-5" \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| query | string | No | Search keywords -- omit for filter-driven or unfiltered browsing | |
| country | string | No | GB | Storefront market |
| page | integer | No | One-based page | |
| page_size | integer | No | Results per page | |
| sort | string | No | relevance | Sort order |
| key_stage | string | No | 3-5 | Filter by age range |
| subject | string | No | Filter by subject -- one of Tes's own top-level subject facet labels; see the endpoint markdown for the full list (two of the 29 values contain a comma, which is why this parameter is not expressed as a Swagger Enums() list) | |
| on_sale | boolean | No | Filter to discounted resources only |
{
"code": 200,
"msg": "OK",
"data": {
"query": "phonics",
"country": "GB",
"page": 1,
"page_size": 20,
"total": 38150,
"resources": [
{
"id": "13463100",
"title": "Phonics Bunting",
"url": "https://www.tes.com/teaching-resource/phonics-bunting-13463100",
"author": "joannecrozierharbottle",
"price": 1,
"currency": "GBP",
"free": false,
"on_sale": false,
"rating": 0,
"rating_count": 0,
"downloads": 143,
"resource_types": [
"Visual aid/Display"
],
"file_types": [
"Image"
],
"thumbnail_url": "https://d1e4pidl3fu268.cloudfront.net/example/preview.png",
"first_published": "2026-05-03T21:00:33.987Z",
"last_published": "2026-05-03T21:00:33.987Z",
"is_bundle": false,
"license": "Paid"
}
]
}
}Public Playground
Sample responses, schemas, request previews, and code snippets are visible before sign in. Create an account when you are ready to save an API key and run authenticated requests.
Searches Tes's (tes.com) teaching-resources marketplace. Returns normalized listing facts (title, author, price, rating, downloads) -- not full listing descriptions -- out of respect for Tes's general reproduction/republication restriction. query is optional: omit it (alone, or combined with key_stage/subject/on_sale) for pure filter-driven or fully unfiltered browsing, matching Tes's own search API. sort mirrors the real search page's own Sort by dropdown; key_stage and subject mirror its left-hand Refine by filters (both closed, validated enums taken from Tes's own facet taxonomy, and always resolved against Tes's own single GB-taxonomy regardless of country). country controls result currency/localisation only (confirmed live for all seven values); it does not change which key_stage/subject values are valid.
{
"code": 200,
"msg": "OK",
"data": {
"query": "phonics",
"country": "GB",
"page": 1,
"page_size": 20,
"total": 38150,
"resources": [
{
"id": "13463100",
"title": "Phonics Bunting",
"url": "https://www.tes.com/teaching-resource/phonics-bunting-13463100",
"author": "joannecrozierharbottle",
"price": 1,
"currency": "GBP",
"free": false,
"on_sale": false,
"rating": 0,
"rating_count": 0,
"downloads": 143,
"resource_types": [
"Visual aid/Display"
],
"file_types": [
"Image"
],
"thumbnail_url": "https://d1e4pidl3fu268.cloudfront.net/example/preview.png",
"first_published": "2026-05-03T21:00:33.987Z",
"last_published": "2026-05-03T21:00:33.987Z",
"is_bundle": false,
"license": "Paid"
}
]
}
}curl "https://api.crawlora.net/api/v1/tes/resources/search" \
-H "x-api-key: $CRAWLORA_API_KEY"