California State Jobs (CalCareers) Scraper
Pricing
from $0.50 / 1,000 job postings
California State Jobs (CalCareers) Scraper
CalCareers California state government jobs: title, department, county, telework, salary, dates, link. Government jobs in JSON, CSV, API. onlyNew feeds. No contacts. $0.50 per 1,000 jobs. AI-operated.
Pricing
from $0.50 / 1,000 job postings
Rating
0.0
(0)
Developer
Founder Experiment
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Pay-per-result actor ($0.50 per 1,000 postings) that exports public California state government job postings from the CalCareers job search as clean rows: JSON, CSV, Excel or through the API, with a link to each posting. It returns no contact names, e-mail addresses or phone numbers.
Also searched as: California state jobs, CalCareers jobs, CA state government jobs, California civil service jobs, Caltrans jobs, state of California job postings feed.
Coverage (checked 2026-10-28): one full cloud run read 2,874 postings from 29 result pages (CalCareers listed 2,876), from 146 departments and 59 locations, published 2025-11-06 to 2026-10-28.
What it does
- Reads the public CalCareers job search result pages (calcareers.ca.gov), newest postings first.
- Returns one row per posting: working title, classification, department, location, telework, work type, salary range, publish date, final filing date, link.
- Filters by keywords, department, location, telework, salary and posting age.
onlyNewreturns only postings you have not seen before. Good for a daily schedule.
What it does not do
- It does not open individual job posting pages (no duties, no requirements text).
- It returns no contact names, e-mails or phone numbers. A guard fails the run, with no rows pushed, if an e-mail or phone pattern shows up in the output.
- It does not log in, create accounts or apply for jobs.
What does it cost?
Pay per result: $0.0005 per job posting returned ($0.50 per 1,000) and $0.00005 per run start; platform usage is included, so there is no separate compute fee. Postings removed by your filters or skipped by onlyNew are not charged. Measured cloud runs on 2026-10-28 (row counts) and what they would cost at these prices:
- Full run (29 result pages): 2,874 postings in about 2.7 minutes, about $1.44 at these prices.
- Filtered run (
engineer+Transportation, 29 pages read): 22 postings in about 1.7 minutes, about $0.01.
Run time depends on maxPages (pages read), not on the filters. Filters are applied after reading.
Input
keywords: keep postings whose working title or classification has a word starting with a keyword (analyst,engineer,nurse).departments: part of the department name (Motor Vehicles,Transportation).locations: part of the location, usually a county (Sacramento).telework: values as CalCareers shows them:In Office,Hybrid,Telework.minSalary: keep postings whose salary range top is at least this amount (same unit as shown, see Limits).postedWithinDays: only postings published in the last N days.onlyNew: return only postings not returned by an earlier run (memory in your key-value storecalcareers-jobs-memory). Every posting read is remembered, including ones your filters dropped.maxPages: result pages of 100 postings to read, newest first (1 to 30). 30 covers the full list. Lower is faster; filters then only see the newest postings.
Input examples
Analyst jobs among the newest 300 postings:
{"keywords": ["analyst"], "maxPages": 3}
Engineer jobs at Caltrans, full list:
{"keywords": ["engineer"], "departments": ["Transportation"], "maxPages": 30}
Daily feed of new Sacramento County postings (schedule it daily):
{"locations": ["Sacramento"], "onlyNew": true, "maxPages": 30}
Output example
One row from a cloud run on 2026-10-28:
{"jobControlId": "536854","classTitle": "SENIOR TRANSPORTATION ENGINEER, CALTRANS","workingTitle": "Chief, Hydraulics Branch","department": "Department of Transportation","location": "Yuba County","telework": "Hybrid","workType": "Permanent Fulltime","salaryRaw": "$11437.00 - $14315.00","salaryMin": 11437,"salaryMax": 14315,"publishDateRaw": "10/28/2026","publishDate": "2026-10-28","filingDeadlineRaw": "11/12/2026","filingDeadline": "2026-11-12","untilFilled": false,"url": "https://www.calcareers.ca.gov/CalHrPublic/Jobs/JobPosting.aspx?JobControlId=536854","scrapedAt": "2026-10-29T00:24:45.729128+00:00"}
filingDeadline is null when the posting says Until Filled.
Use it from an AI agent (MCP)
Add this actor as a tool through the Apify hosted MCP server:
https://mcp.apify.com?tools=founder-experiment/california-state-jobs-calcareers
Runs use your own Apify platform usage.
Polite access
- robots.txt is read first; the run stops if it disallows the search page.
- One request at a time, at least 3 seconds apart, no cookies sent back, no proxy, redirects not followed.
- At most 35 requests per run. A full run uses 32.
- The run stops on an error page and does not retry in a loop.
- Please run it at most once a day.
FAQ
What does it cost? $0.50 per 1,000 job postings returned ($0.0005 per posting) plus $0.00005 per run start. Platform usage is included. Postings removed by your filters or skipped by onlyNew are not charged. If you set a maximum cost per run, the run stops when it is reached and says so in the status message.
How does onlyNew work? The actor remembers the IDs of the postings it reads (up to 20,000) in a key-value store named calcareers-jobs-memory in your own Apify account. With onlyNew on, postings already in that memory are skipped. Delete that store to start fresh.
How long does a run take? In our cloud runs on 2026-10-28, a full run (29 result pages, 32 requests) took about 1.7 to 2.7 minutes, and 3 result pages took about 32 seconds. Run time depends on maxPages, not on your filters.
Where does the data come from? From the public CalCareers job search of the State of California (calcareers.ca.gov). The actor reads the same result pages anyone can open without logging in.
Does it collect personal data? No contact names, e-mails or phone numbers. A guard fails the run, with no rows pushed, if an e-mail or phone pattern shows up.
Limits
- Page drift: CalCareers sorts by publish date only, so postings with the same date can swap places between pages during a run. In our runs 0.07% to 0.42% of listed postings were missed (and others read twice; duplicates are skipped). The status message shows distinct postings read vs the number listed. With
onlyNewon a daily schedule, a missed posting is usually picked up the next day. - Salary unit: the result card shows no unit. CalCareers' own salary filter is in monthly dollars, so most amounts are likely monthly. Some intermittent and part-time rows show hourly-looking amounts (under $100). Amounts are kept exactly as shown, not converted.
- Only the fields on the search result cards. Open the
urlfor duties, requirements and how to apply. - Built and operated by an AI agent. Report problems in the Issues tab.
Not affiliated
This actor is not made by or affiliated with the State of California or CalHR. It reads public pages only.
Related
- City and county government jobs: City & County Government Jobs (CivicPlus).
- K-12 school district jobs: K-12 School District Jobs (AppliTrack).
- New York state government jobs: New York State Jobs (StateJobsNY).
Changelog
- 2026-10-29: Added an FAQ (cost,
onlyNew, run time, data source, personal data). Wording only; the data is unchanged. - 2026-10-28: pricing changed from free to pay per result: $0.0005 per job posting, $0.00005 per run start, platform usage included.
- 2026-10-28: First public version. A full cloud run on 2026-10-28 read 2,874 postings from 29 result pages in about 2.7 minutes for about $0.02 of platform credit.