Search jobs
Job listings posted on X, by keyword.
/jobs/search/{searchTerm}Parameters
searchTermpath · string · requiredKeyword, URL-encoded.
countquery · integer · optional · default 20Number of jobs to ask X for. Sent to X as is; X treats it as a hint and decides how many it returns (follower and following pages often hold 50 to 70 users for count=20). A value that is not a number falls back to 20.
cursorquery · string · optionalBottom cursor from the previous page. Leave it out for the first page. See Pagination.
jobLocationIdquery · string (comma-separated) · optionalLocation IDs from /jobs/find-location/{term}.
jobLocationTypequery · string (comma-separated) · optionalLocation types, passed to X unchanged.
seniorityLevelquery · string (comma-separated) · optionalSeniority levels, passed to X unchanged.
employmentTypequery · string (comma-separated) · optionalEmployment types, passed to X unchanged.
companyNamequery · string · optionalOnly jobs from this company.
Paginated: pass the bottom cursor of one page as cursor to get the next. Each page is one billed call. See Pagination.
Notes
- X's job search sometimes fails on X's side (DependencyError); the API retries with other accounts and returns an error if every attempt fails. Retrying a little later usually works.
Example request
curl 'https://api.twittrapi.com/jobs/search/golang' \
--header 'X-API-KEY: YOUR_API_KEY'import httpx
# No SDK method for this endpoint yet, so this is a plain HTTP call.
resp = httpx.get(
"https://api.twittrapi.com/jobs/search/golang",
headers={"X-API-KEY": "YOUR_API_KEY"},
timeout=60,
)
data = resp.json()import { TwittrAPI } from "twittrapi";
const client = new TwittrAPI({ apiKey: process.env.TWITTRAPI_API_KEY });
// No wrapper method for this endpoint yet; client.get() sends the same authenticated GET.
const data = await client.get({
path: "/jobs/search/golang",
});curl 'https://twitter-aio.p.rapidapi.com/jobs/search/golang' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--header 'x-rapidapi-host: twitter-aio.p.rapidapi.com'Base URL https://api.twittrapi.com, key in the X-API-KEY header. Python and Node.js use the official SDKs.
Response
Raw JSON of X's JobSearchQueryScreenJobsQuery. Jobs are in data.job_search.items_results; the next-page cursor is data.job_search.slice_info.next_cursor.
Simple format (?format=simple or X-Response-Format: simple): Collection of Job objects. Schema.
{
"data": {
"job_search": {
"items_results": [
{
"id": "QXBpSm9iUmVzdWx0czoxOTMzNjIzMTE4NjY2NTcxNzc2",
"rest_id": "1933623118666571776",
"result": {
"__isJobResult": "ApiJob",
"__typename": "ApiJob",
"company_profile_results": {
"id": "QXBpQ29tcGFueVByb2ZpbGVSZXN1bHRzOjE3NTAzNDAyNDIxMDY4ODQyMDE=",
"rest_id": "1750340242106884201",
"result": {
"__typename": "ApiCompanyProfile",
"core": {
"name": "Example User 1"
},
"id": "QXBpQ29tcGFueVByb2ZpbGU6MTc1MDM0MDI0MjEwNjg4NDIwMQ==",
"logo": {
"normal_url": "https://pbs.twimg.com/misc_img/1832099493933662208/AsbLJnCG?format=jpg&name=orig&cat=41"
},
"rest_id": "1750340242106884201"
}
},
"core": {
"location": "South San Francisco, California, United States",
"redirect_url": "https://boards.greenhouse.io/neuralink/jobs/6607398003?gh_jid=6607398003",
"title": "Electrical Engineer Intern, Robotics and Surgery Engineering"
},
"id": "QXBpSm9iOjE5MzM2MjMxMTg2NjY1NzE3NzY=",
"user_results": {
"id": "VXNlclJlc3VsdHM6MTAwMDAwMDAwMDAwMDAwMDAwMQ==",
"result": {
"__typename": "User",
"id": "VXNlcjoxMDAwMDAwMDAwMDAwMDAwMDAx",
"legacy": {
"name": "Example User 1",
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1000000000000000000/example_normal.jpg",
"screen_name": "example_user_1",
"verified": false,
"verified_type": "Business"
},
"profile_image_shape": "Square",
"rest_id": "1000000000000000001"
}
}
}
},
{
"id": "QXBpSm9iUmVzdWx0czoyMTA4MzU0NTg0MDAzNjE2NzY4",
"rest_id": "2108354584003616768",
"result": {
"__isJobResult": "ApiJob",
"__typename": "ApiJob",
"company_profile_results": {
"id": "QXBpQ29tcGFueVByb2ZpbGVSZXN1bHRzOjE3NTAzNDAyNDIxMDY4ODQyMDE=",
"rest_id": "1750340242106884201",
"result": {
"__typename": "ApiCompanyProfile",
"core": {
"name": "Example User 1"
},
"id": "QXBpQ29tcGFueVByb2ZpbGU6MTc1MDM0MDI0MjEwNjg4NDIwMQ==",
"logo": {
"normal_url": "https://pbs.twimg.com/misc_img/1832099493933662208/AsbLJnCG?format=jpg&name=orig&cat=41"
},
"rest_id": "1750340242106884201"
}
},
"core": {
"location": "Austin, Texas, United States; South San Francisco, California, United States",
"redirect_url": "https://boards.greenhouse.io/neuralink/jobs/8017328003?gh_jid=8017328003",
"title": "Rapid Prototyping Technician"
},
"id": "QXBpSm9iOjIxMDgzNTQ1ODQwMDM2MTY3Njg=",
"user_results": {
"id": "VXNlclJlc3VsdHM6MTAwMDAwMDAwMDAwMDAwMDAwMQ==",
"result": {
"__typename": "User",
"id": "VXNlcjoxMDAwMDAwMDAwMDAwMDAwMDAx",
"legacy": {
"name": "Example User 1",
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1000000000000000000/example_normal.jpg",
"screen_name": "example_user_1",
"verified": false,
"verified_type": "Business"
},
"profile_image_shape": "Square",
"rest_id": "1000000000000000001"
}
}
}
}
],
"slice_info": {
"next_cursor": "WzMuNDcwMjg4OCwiMCIsIjE4MTMwMzEwNDExNTE3Mzc4NTgiXQ=="
}
}
}
}{
"data": [
{
"id": "1933623118666571776",
"title": "Electrical Engineer Intern, Robotics and Surgery Engineering",
"location": "South San Francisco, California, United States",
"url": "https://boards.greenhouse.io/neuralink/jobs/6607398003?gh_jid=6607398003",
"description": null,
"company": {
"id": "1750340242106884201",
"name": "Example User 1",
"logoUrl": "https://pbs.twimg.com/misc_img/1832099493933662208/AsbLJnCG?format=jpg&name=orig&cat=41"
},
"postedBy": {
"id": "1000000000000000001",
"username": "example_user_1"
}
},
{
"id": "2108354584003616768",
"title": "Rapid Prototyping Technician",
"location": "Austin, Texas, United States; South San Francisco, California, United States",
"url": "https://boards.greenhouse.io/neuralink/jobs/8017328003?gh_jid=8017328003",
"description": null,
"company": {
"id": "1750340242106884201",
"name": "Example User 1",
"logoUrl": "https://pbs.twimg.com/misc_img/1832099493933662208/AsbLJnCG?format=jpg&name=orig&cat=41"
},
"postedBy": {
"id": "1000000000000000001",
"username": "example_user_1"
}
}
],
"nextCursor": "WzMuNDcwMjg4OCwiMCIsIjE4MTMwMzEwNDExNTE3Mzc4NTgiXQ==",
"previousCursor": null,
"hasNextPage": true
}In the raw format, field names and nesting come from X and can change without notice. See Response format; the simple format keeps a fixed schema.
Errors
No endpoint-specific validation. Errors from X are mapped as described below.
Errors every endpoint can return (401, 402, 403, 404, 408, 409, 429, 5xx), and which of them are charged, are on the Errors page. Calls that fail with 400, 408, 409 or a 5xx error are refunded.