Endpoint Playground
Test Crawlora's Search Tes teaching jobs 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/jobs/search?radius_miles=3&sort=relevance&contract_type=Full+Time&contract_term=Permanent" \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| keywords | string | No | Job title or keyword | |
| location | string | No | Free-text place name resolved via Tes's own location autocomplete | |
| radius_miles | integer | No | 3 | Search radius around location, in miles |
| page | integer | No | One-based page | |
| page_size | integer | No | Results per page | |
| sort | string | No | relevance | Sort order |
| contract_type | string | No | Full Time | Contract type |
| contract_term | string | No | Permanent | Contract term |
| position | string | No | Comma-separated position category label(s) -- see the endpoint markdown | |
| subject | string | No | Comma-separated subject label(s) -- see the endpoint markdown | |
| workplace | string | No | Comma-separated workplace/organisation-type label(s) -- see the endpoint markdown | |
| salary_min | integer | No | Minimum advertised salary, in the searched market's local currency |
{
"code": 200,
"msg": "OK",
"data": {
"keywords": "teacher",
"location": "United Kingdom",
"page": 1,
"page_size": 20,
"total": 1504,
"jobs": [
{
"id": "2340998",
"title": "Minibus Driver",
"url": "https://www.tes.com/jobs/vacancy/minibus-driver-epsom-2340998",
"employer": "Epsom College",
"employer_logo_url": "https://l.imgt.es/employer-assets/employers/1039424/brandimages/20181030_1126AM_desktop_1039424_logo.jpg",
"location": "Epsom",
"salary": "£11,956 per year",
"contract_terms": [
"Permanent"
],
"contract_types": [
"Part Time"
],
"short_description": "Epsom College is an independent co educational day and boarding school...",
"closing_date": "2026-09-29T23:00:00.000Z"
}
],
"facets": {
"positions": [
{
"value": "Teaching and Lecturing",
"count": 713,
"children": [
{
"value": "Cover Supervisor",
"count": 120
}
]
}
],
"subjects": [
{
"value": "Mathematics",
"count": 200
}
],
"workplaces": [
{
"value": "Workplaces",
"count": 1000,
"children": [
{
"value": "Secondary",
"count": 400
}
]
}
],
"contract_types": [
{
"value": "Full Time",
"count": 1036
},
{
"value": "Part Time",
"count": 577
}
],
"contract_terms": [
{
"value": "Permanent",
"count": 1192
},
{
"value": "Fixed Term",
"count": 161
}
]
}
}
}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-jobs board. Returns normalized listing facts (title, employer, location, salary, contract terms/types) plus a short excerpt of the listing description, not the full long-form job-description copy, and the same live faceted-search breakdown (position/subject/workplace category trees with counts, plus contract type/term counts) the real search page renders as its filter sidebar. location is a free-text place name (a UK town/city, an international city, or a bare country name) resolved to coordinates via Tes's own location-autocomplete endpoint; omit for Tes's own default market, "United Kingdom". radius_miles selects the search radius around location. contract_type and contract_term are validated against Tes's own small, closed label sets. position, subject, and workplace are comma-separated passthrough filters -- Tes's own category labels are numerous and can change, so read a prior response's own facets.positions[].value (and facets.positions[].children[].value)/facets.subjects[].value/facets.workplaces[].children[].value for the live, current set rather than guessing. salary_min filters to jobs with an advertised salary at or above that amount (in the searched market's local currency); Tes's own filter panel offers only a minimum, no maximum.
{
"code": 200,
"msg": "OK",
"data": {
"keywords": "teacher",
"location": "United Kingdom",
"page": 1,
"page_size": 20,
"total": 1504,
"jobs": [
{
"id": "2340998",
"title": "Minibus Driver",
"url": "https://www.tes.com/jobs/vacancy/minibus-driver-epsom-2340998",
"employer": "Epsom College",
"employer_logo_url": "https://l.imgt.es/employer-assets/employers/1039424/brandimages/20181030_1126AM_desktop_1039424_logo.jpg",
"location": "Epsom",
"salary": "£11,956 per year",
"contract_terms": [
"Permanent"
],
"contract_types": [
"Part Time"
],
"short_description": "Epsom College is an independent co educational day and boarding school...",
"closing_date": "2026-09-29T23:00:00.000Z"
}
],
"facets": {
"positions": [
{
"value": "Teaching and Lecturing",
"count": 713,
"children": [
{
"value": "Cover Supervisor",
"count": 120
}
]
}
],
"subjects": [
{
"value": "Mathematics",
"count": 200
}
],
"workplaces": [
{
"value": "Workplaces",
"count": 1000,
"children": [
{
"value": "Secondary",
"count": 400
}
]
}
],
"contract_types": [
{
"value": "Full Time",
"count": 1036
},
{
"value": "Part Time",
"count": 577
}
],
"contract_terms": [
{
"value": "Permanent",
"count": 1192
},
{
"value": "Fixed Term",
"count": 161
}
]
}
}
}curl "https://api.crawlora.net/api/v1/tes/jobs/search" \
-H "x-api-key: $CRAWLORA_API_KEY"