Tesla Jobs API endpoint
Searches Tesla's public careers site (tesla.com/careers) via its own careers-state JSON endpoint. Tesla's own endpoint always returns its entire global job dataset regardless of query parameters; this filters and paginates that snapshot server-side. Listings carry identity/department/location metadata only — call the job endpoint for the full description, responsibilities, and requirements.
/tesla-jobs/listQuery parameters:
query: optional filter on title or department, case-insensitive substring match.location: optional filter on location, case-insensitive substring match.page: optional page number, 1-based. Defaults to 1.page_size: optional results per page. Defaults to 20, maximum 100.Notable response behavior:
total: 0 and an empty jobs array (not an error).| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| title | 20 | “Software Engineer, Inference Infrastructure” and 19 other values |
| department | 20 | Tesla AI (16), Engineering & Information Techn… (2), Vehicle Software (2) |
| location | 20 | Palo Alto, California in all 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| query | string | No | Filter by title or department, case-insensitive substring match | software engineer | |
| location | string | No | Filter by location, case-insensitive substring match | Palo Alto | |
| page | integer | No | Page number, 1-based | 1 | |
| page_size | integer | No | Results per page, up to 100 | 20 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/tesla-jobs/list?query=coffee&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "software engineer",
"location": "Palo Alto",
"page": 1,
"page_size": 20,
"total": 112,
"jobs": [
{
"id": "221961",
"title": "Software Engineer, Generalist, AI Inference",
"department": "Tesla AI",
"location": "Palo Alto, California"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/teslajobs.listResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | teslajobs.ListResponse | No | ||||
| data.jobs | array | No | Job listings on this page. | |||
| data.jobs[].department | string | No | Tesla AI | Tesla department the job belongs to, such as `Tesla AI`. | ||
| data.jobs[].id | string | No | 224501 | Tesla careers job id. Use it with the job endpoint. | ||
| data.jobs[].location | string | No | Palo Alto, California | Job location as Tesla shows it, such as `Palo Alto, California`. | ||
| data.jobs[].title | string | No | AI Engineer, Manipulation, Optimus | Job title as shown on Tesla Careers. | ||
| data.location | string | No | Palo Alto | Location filter that was applied. | ||
| data.page | integer | No | 1 | Page number returned, starting at 1. | ||
| data.page_size | integer | No | 20 | Number of job listings per page. | ||
| data.query | string | No | software engineer | Title or department filter that was applied. | ||
| data.total | integer | No | 302 | Total number of job listings that match the filters. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/tesla-jobs/list?query=coffee&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"