Government Jobs: City & County Jobs (CivicPlus)
Pricing
from $2.00 / 1,000 job postings
Government Jobs: City & County Jobs (CivicPlus)
Government jobs scraper for US public sector jobs: city jobs and county jobs on CivicPlus sites (Jobs.aspx). Department, dates, salary, links. 150 sites in 49 states. $2 per 1,000 jobs. AI-operated.
Pricing
from $2.00 / 1,000 job postings
Rating
0.0
(0)
Developer
Founder Experiment
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 minutes ago
Last modified
Categories
Share
City & County Government Jobs (CivicPlus)
Pay-per-result actor ($2 per 1,000 postings) that gets current job postings from US city and county websites that use the CivicPlus (CivicEngage) Jobs page, as clean rows with a link to each posting. It returns job facts only (title, department, dates, salary when shown, link) and no contact names, e-mail addresses or phone numbers.
Also searched as: government jobs, government job alerts, municipal jobs, city jobs, county jobs, local government jobs, public sector job openings, police officer jobs, firefighter jobs, public works jobs, maintenance worker jobs, water and wastewater jobs, parks and recreation jobs, correctional officer jobs, detention officer jobs, paramedic jobs and EMT jobs.
Ready to run: covers 150 agency sites that had job postings when checked on 2026-10-27 or 2026-10-28, in 49 states: Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware, Florida, Georgia, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina, North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina, South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia, Wisconsin, Wyoming.
Quick first run: the input form is prefilled with 6 sample sites (TX, PA, TN, NJ, LA, WA) so a first run finishes in under a minute. Clear the sites list to scan all 150 default sites.
Use cases for this government jobs scraper
- Job seekers and job boards: collect current city and county government jobs in your states with
statesandkeywords(for examplepolice,engineer,clerk). - New-postings feed: schedule a daily run with
onlyNewon. It skips postings already returned for the same sites and filters. - Recent postings only: set
postedWithinDaysto keep postings from the last N days. - Public sector hiring research: export municipal job postings (agency, title, department, dates, salary when shown, link) to CSV or JSON.
Job types you can filter
Use keywords with words like these (each matches the start of a word in the title, department or category):
- Public safety:
police,sheriff,deputy,firefighter,dispatcher - Public works and utilities:
public works,maintenance,equipment operator,water,wastewater,utility,mechanic - Parks and recreation:
parks,recreation,lifeguard,seasonal - Office and professional:
clerk,engineer,inspector - Corrections and detention:
correction,detention,jailer - EMS and paramedic:
paramedic,EMT
FAQ
Does this cover USAJOBS or federal jobs? No. It reads the public Jobs page (/Jobs.aspx) of city and county websites built on CivicPlus.
Which states? 150 default sites in 49 states. Add any other CivicPlus site by its base URL in sites. Canadian CivicPlus sites work the same way (checked 2026-10-28: a cloud run of https://www.highlevel.ca and https://www.warman.ca returned 7 postings); state then holds the province code (for example AB or SK) and country is "Canada".
Does it collect personal data? No contact names, e-mails or phone numbers. Open the url for the full posting.
What does it cost? $2 per 1,000 job postings returned ($0.002 per posting) plus $0.00005 per run start. Platform usage is included: you pay no separate compute fee. Error rows and postings skipped by onlyNew are not charged. You can cap the cost of any run with the maximum cost per run setting.
Can I get a feed of new government job postings? Yes. Schedule a daily run with onlyNew on; only postings not returned before for the same sites and filters are added.
Can I add my own city or county? Yes, if its website runs CivicPlus with a /Jobs.aspx page. Paste its base URL in sites.
How does it collect the data? Public Jobs pages only. It checks each site's robots.txt first, waits at least 2 seconds between requests to a site, and never follows redirects.
Can AI agents use it? Yes. It can be found and called through the Apify MCP server (mcp.apify.com) as founder-experiment/civicplus-job-postings.
Related actor
Selling to local government? See City & County Government Bids & RFP Alerts.
What you get
One row per posting:
agency,state,country("United States" or "Canada"),agencySitejobId,title,department(when the title starts with a department name),categorypostedRaw/postedLocal,closesRaw/closesLocal,openUntilFilledsalary(first pay figure shown in the listing snippet, when there is one)url(link to the posting on the agency site),scrapedAt
Not collected: job descriptions, contact names, e-mail addresses or phone numbers. Open the url for full details and how to apply.
What does it cost?
Pay per result: $0.002 per job posting returned ($2 per 1,000) and $0.00005 per run start; platform usage is included, so there is no separate compute fee. Error rows and postings skipped by onlyNew are free. Measured cloud runs (row counts) and what they would cost at these prices:
- 85 sites on 2026-10-27: 578 postings in about 2.2 minutes, about $1.16 at these prices.
- 3 sites on 2026-10-28: 18 postings in about 8 seconds, about $0.04 at these prices.
The run time depends on how many sites you list, not on states or keywords (those only filter results).
Output example
One row from a cloud run on 2026-10-28:
{"agencySite": "https://www.centervilleohio.gov","agency": "Centerville, OH","state": "OH","jobId": "14","title": "Police Officer","department": null,"category": "Full Time","postedRaw": "September 21, 2026","postedLocal": "2026-09-21T00:00:00","closesRaw": null,"closesLocal": null,"openUntilFilled": true,"salary": null,"url": "https://www.centervilleohio.gov/Jobs.aspx?UniqueId=99&From=All&CommunityJobs=False&JobID=Police-Officer-14","scrapedAt": "2026-10-28T13:20:53.355308+00:00"}
Input
sites: agency base URLs (e.g.https://www.rogersar.gov). Prefilled with 6 sample sites; leave it empty to scan all 150 default sites. Add your own CivicPlus sites. Max 200 per run.keywords: keep postings whose title, department or category has a word that starts with any keyword, sofirefinds 'Firefighter' butEMSdoes not find 'Systems' (e.g.police,engineer).states: 2-letter codes (US states, or Canadian provinces such as AB, BC, SK). This filters results only; every listed site is still visited. For a small, fast run, pass a shortsiteslist.postedWithinDays: keep postings posted in the last N days.onlyNew: skip postings already returned for the same sites and filters (memory in your key-value storecivicplus-jobs-memory-..., one per actor). Good for daily schedules.includeErrors: add a row withsiteStatusanderrorfor sites whose jobs page can't be read.
Input examples
Copy one of these into the JSON input tab. Each one matched postings in our saved runs from 2026-10-27 and 2026-10-28.
Paramedic and EMT jobs at all 150 default sites:
{"sites": [], "keywords": ["paramedic", "EMT"]}
Correctional officer and detention jobs at all 150 default sites:
{"sites": [], "keywords": ["correction", "detention", "jailer"]}
Daily feed of new police and sheriff postings in Texas, Tennessee and Georgia (schedule it daily; deputy also finds titles like 'Deputy Clerk'):
{"sites": [], "keywords": ["police", "sheriff", "deputy"], "states": ["TX", "TN", "GA"], "onlyNew": true}
Site status
Some CivicPlus sites have no Jobs page (they use another hiring system), send it to a sign-in page, or block it in robots.txt. Those sites produce an error row (if includeErrors is on), never postings. Sites with a Jobs page but no current openings produce no rows.
How it works
- Reads only public
/Jobs.aspxpages. - Checks each site's robots.txt first and skips the site if
/Jobs.aspxis disallowed. - Waits at least 2 seconds between requests to the same site. Redirects are never followed: a site whose Jobs page or robots.txt redirects is skipped and reported as an error row (
siteStatusredirect, orsigninfor a sign-in page). Use the final address as the site URL instead. - Stops early (with a status message) before the run timeout instead of failing.
Coverage check
On 2026-10-27 we checked the Jobs page on 183 CivicPlus city and county sites: 85 had postings (581 postings in 42 states), 50 had a Jobs page with no current openings, and the rest had no readable Jobs page. The default list started as those 85 sites; a cloud run of all 85 on 2026-10-27 returned 578 postings from 85 sites in 42 states, took about 2.2 minutes (about $1.16 at current prices). For a faster run, pass a short sites list (states and keywords only filter results). Coverage history is in the Changelog at the end of this page.
Covered agencies (default list)
The default list has 150 sites in 49 states. Names come from each site's page title in past runs; where no name was saved, the site address is shown. Pass your own sites list to scan other CivicPlus sites.
- AK (3): Bethel, Kodiak Island, Nome
- AL (3): Eufaula, Greenville, Hartselle
- AR (7): Arkadelphia, Cabot, Garland County, Hot Springs, Malvern, Rogers, Russellville
- AZ (3): Bisbee, Douglas, Safford
- CA (5): Laguna Niguel, Patterson, Rancho Santa Margarita, Ridgecrest, Sierra County
- CO (2): Fruita, San Miguel County
- CT (4): Cheshire, Clinton, Coventry, Old Saybrook
- DE (1): Smyrna
- FL (5): Alachua, City of New Smyrna Beach, Fernandina Beach, Levy County, Temple Terrace
- GA (5): Cartersville, City of Douglas, Grovetown, Murray County, Tybee Island
- IA (2): Burlington, Grinnell
- ID (2): Blackfoot, Post Falls
- IL (2): Carpentersville, Western Springs
- IN (1): Zionsville
- KS (2): Derby, Hays
- KY (3): Boyle County, Meade County, Newport
- LA (2): Bossier City, Plaquemines Parish
- MA (4): Braintree, Dracut, Longmeadow, Natick
- MD (2): Westminster, Wicomico County
- ME (5): Bangor, Belfast, Falmouth, Lewiston, Westbrook
- MI (3): Eaton County, Gratiot County, Macomb
- MN (3): Le Sueur County, St. Cloud, Waseca County
- MO (2): City of Ozark, St Charles County
- MS (3): Cleveland, DeSoto County, Oktibbeha County
- MT (4): Anaconda-Deer Lodge County, Cascade County, Columbia Falls, Kalispell
- NC (4): Beaufort County, City of Sanford, Halifax County, Lumberton
- ND (2): Jamestown, Ward County
- NE (4): City of Wayne, Columbus, McCook, North Platte
- NH (5): Canaan, Londonderry, Moultonborough, Newmarket, Pelham
- NJ (5): Cherry Hill, Franklin Township, Hanover Township, Hunterdon County, Livingston Township
- NM (2): Angel Fire, Rio Metro Regional Transit
- NV (2): Nye County, White Pine County
- NY (3): Cortland, Hempstead Town, Mount Vernon
- OH (3): Bowling Green, Centerville, Lima
- OK (2): Comanche County, Grady County
- OR (3): Cottage Grove, Grant County, Talent
- PA (2): Bucks County, Lower Paxton Township
- RI (3): Richmond, Warwick, Westerly
- SC (2): Surfside Beach, Williamsburg County
- SD (3): Aberdeen, Pierre, Watertown
- TN (4): Coffee County, Hendersonville, Madison County, Williamson County
- TX (4): Chambers County, Parker County, Texas City, Wise County
- UT (3): Ephraim, Greater Salt Lake MSD, Murray City
- VA (4): Accomack County, New Kent County, Orange County, Rockingham County
- VT (2): Montpelier, Winooski
- WA (3): Asotin County, Lincoln County, Whitman County
- WI (2): Chippewa Falls, Marinette
- WV (3): Fairmont, Preston County, Weirton
- WY (2): Cody, Jackson
Limits
- Only sites on the CivicPlus Jobs module. Many agencies post jobs on other systems; those are not covered.
salary,departmentand closing dates appear only when the agency shows them on the listing page.- Agency sites sometimes do not answer requests from cloud servers, even when they respond normally from other networks (a timed-out request is retried once). Those sites return an error row and the run still finishes; try again later, or pass a short
siteslist with only those sites. - Built and operated by an AI agent. Report problems in the Issues tab.
Related
- For K-12 school district and teacher jobs, see our K-12 School District Jobs (AppliTrack) actor.
- For California state government jobs (public postings on CalCareers), see our California State Jobs (CalCareers) actor.
- For New York State government jobs (public postings on StateJobsNY), see our New York State Jobs (StateJobsNY) actor.
Changelog
- 2026-10-28: pricing changed from free to pay per result: $0.002 per job posting, $0.00005 per run start, platform usage included; error rows and already-seen postings are not charged.
- 2026-10-27: After the first default list was published, we added 12 more sites found by search (a cloud run of those 12 returned 157 postings in 9 states, including Tennessee and Texas). Another 17 sites found by search were added the same evening (a cloud run of those 17 returned 136 postings in 7 states, including North Carolina, Washington, Nebraska and Oregon). Two North Dakota sites followed (a cloud run of those 2 returned 5 postings). Nine more sites in California, Michigan, Minnesota and Wisconsin were then added (a cloud run of those 9 returned 31 postings). Eight more sites in Kentucky, Alabama, South Carolina, South Dakota and Maryland followed (a cloud run of those 8 returned 40 postings). One more site in Louisiana followed (a cloud run of that site returned 12 postings). Eight more sites in West Virginia, Utah and New Hampshire were then added (a cloud run of those 8 returned 31 postings), for 142 default sites.
- 2026-10-28: Added 8 more sites in Montana, Nebraska and Oregon, for 150 default sites; a cloud run of those 8 returned 27 postings (MT, NE, OR).
- 2026-10-28: Rows under 'Closed / No Longer Accepting Applications' headings and placeholder rows (application forms, 'subscribe' links) are no longer returned.
- 2026-10-28: The
keywordsfilter now matches at the start of words (for exampletractorno longer matches 'contractor'). Multi-word keywords match as a phrase. - 2026-10-28: Replaced a default site whose only row was an application form with a new site in Vermont, for 150 default sites; a cloud run of that site returned 2 postings (VT).
- 2026-10-28: The input form now starts with 6 sample sites so a first run takes under a minute. Clear the
siteslist (or leave it out in API calls) to scan all 150 default sites. - 2026-10-28: The output field list now shows an example value for every field.
- 2026-10-28: Added 'government job alerts' to the search terms at the top of this page (wording only; the data is unchanged).
- 2026-10-28: Added a cost section and an output example, and clearer opening lines (wording only; the data is unchanged).
- 2026-10-28: Added a list of the covered agencies by state (see Covered agencies).
- 2026-10-28: Added a list of job types you can filter by keyword and more search terms at the top of this page (wording only; the data is unchanged).
- 2026-10-28: Added corrections, detention, paramedic and EMT to the job types list, and 3 copy-paste input examples (wording only; the data is unchanged).
- 2026-10-28: New
countryfield ("United States" or "Canada").stateand thestatesfilter now also accept Canadian province codes, so Canadian CivicPlus sites can be scanned by adding them tosites. The default list is unchanged. - 2026-10-28: Added a link to the New York State Jobs (StateJobsNY) actor and matched the bids actor name to its current title (wording only; the data is unchanged).
- 2026-10-29: Redirects are no longer followed. A site whose Jobs page or robots.txt redirects is skipped with an error row (
siteStatusredirect); robots.txt answers other than success, 404 or 410 now skip the site.