X(Twitter) Jobs Search Scraper
Pricing
from $4.99 / 1,000 results
X(Twitter) Jobs Search Scraper
Search X’s job listings by keyword and optional filters—export titles, pay bands, locations, and apply links in structured rows.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
PowerAI
Actor stats
1
Bookmarked
10
Total users
4
Monthly active users
3 days ago
Last modified
Categories
Share
X Jobs Search Scraper
Find job listings surfaced on X by keywords and optional location, work arrangement, seniority, and employment type filters. Each dataset row is one listing with role details, company context, an apply link when available, and salary hints only when the listing includes them.
Who it’s for
- Recruiters & talent teams monitoring public postings that flow through X’s job experience.
- Job seekers & researchers who want structured exports instead of endless scrolling.
- Data & analytics workflows that join listings with your own company or geography lists.
What you can do with it
- Search by keywords (role names, skills, stacks).
- Narrow results with optional location id, remote/on-site/hybrid style filters, seniority bands, and employment type—using comma-separated values where multiple choices apply.
- Collect up to your chosen cap; the run loads successive batches until the limit is reached or there are no more results.
How it works (in plain terms)
You enter search keywords and any filters you need. The tool retrieves listings in batches until your maximum row count is reached or the list ends—you do not need to manage paging yourself.
Input
| Field | Required | What it means |
|---|---|---|
Search keywords (keyword) | Yes | Text to match (e.g. role or skill). |
Location id (jobLocationId) | No | Use only if you already have a location identifier from the product’s location suggestions. |
Work arrangement (jobLocationType) | No | Comma-separated: e.g. onsite, remote, hybrid. |
Seniority (seniorityLevel) | No | Comma-separated: e.g. intern, entry_level, junior, mid_level, senior, lead, manager, executive. |
Employment type (employmentType) | No | Comma-separated: e.g. full_time, full_time_contract, part_time, contract_to_hire. |
Maximum results (maxResults) | No | Upper limit on how many job rows to save (default 50). |
Output
- One row per job listing (until your cap).
- Job object:
__typename/__isJobResult(typicallyApiJob), plus GraphQL-styleidandrest_idfor the job when present. - Role & apply link:
coreusually includestitle,location, andredirect_url. Some listings also includeformatted_salary,salary_min/salary_max,salary_currency_code, andsalary_interval—others omit pay entirely. - Company:
company_profile_resultsmay includeid/rest_id, aresultblock withcore.name, and sometimes alogo(e.g.normal_url) when the company profile carries artwork. - Posting account:
user_resultsmay appear with an X accountlegacyblock (screen_name,name, avatars, verification hints)—many rows have nouser_resultsat all. - Export metadata:
job_listing_id(wrapper id for the search hit), yourkeyword, optional copies of filters you set (jobLocationId,jobLocationType,seniorityLevel,employmentType), andscrapedAt.
Rows vary in richness: expect core.title, core.location, and core.redirect_url most often; treat salary and poster account fields as optional. Shapes may change as the product evolves.
Sample output (one dataset row, from a real run)
{"__isJobResult": "ApiJob","__typename": "ApiJob","company_profile_results": {"id": "QXBpQ29tcGFueVByb2ZpbGVSZXN1bHRzOjE3NTgyMzEwNzk4NDMxNjQxNjA=","rest_id": "1758231079843164160","result": {"__typename": "ApiCompanyProfile","core": {"name": "Ahead"},"id": "QXBpQ29tcGFueVByb2ZpbGU6MTc1ODIzMTA3OTg0MzE2NDE2MA==","logo": {"normal_url": "https://pbs.twimg.com/profile_images/1221157525657010177/pgx7vsXQ_normal.jpg"},"rest_id": "1758231079843164160"}},"core": {"location": "United States","redirect_url": "https://jobs.lever.co/thinkahead/bdac3e84-3f30-48b3-ac33-e801a310f827/apply?lever-origin=applied&lever-source=xhiring","title": "AI Consultant, AI Services"},"id": "QXBpSm9iOjE5OTY5ODExMDU3MjAwMjA5OTM=","rest_id": "1996981105720020993","job_listing_id": "QXBpSm9iUmVzdWx0czoxOTk2OTgxMTA1NzIwMDIwOTkz","keyword": "ai","scrapedAt": "2026-03-25T09:25:23.759Z"}
Good to know
- Keywords should be specific enough for useful results; very broad terms can return noisy listings.
- Filter strings use comma separation when you need more than one value; spelling and allowed tokens follow what X’s job search accepts.
- Respect X’s terms and applicable laws when storing or redistributing listing data.