Security Clearance Jobs & Cybersecurity Jobs Feed
Pricing
from $2.80 / 1,000 job results
Security Clearance Jobs & Cybersecurity Jobs Feed
Security-clearance and cybersecurity jobs from 82 defense-tech, space and cyber employers' public Greenhouse, Lever and Ashby job boards, with rule-based clearance level, certifications, salary and change detection.
Pricing
from $2.80 / 1,000 job results
Rating
0.0
(0)
Developer
Tanner Conaway
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Cleared & Cyber Jobs Feed
Security-clearance and cybersecurity jobs from 82 defense-tech, space and cyber employers on Greenhouse, Lever and Ashby, not the major primes (Workday). Each job comes with a rule-based clearance level and status, the exact sentence that clearance came from, certifications, salary, remote status and change tracking between runs.
What it does
- Reads each employer's public job-board API: Greenhouse Job Board API, Lever Postings API and Ashby Posting API. These are the endpoints the employers publish for their own careers pages. No logins, no proxies, no browser and no scraping of anything behind bot protection.
- Classifies every posting with plain rules, no AI-generated fields:
- Clearance level: Public Trust, Secret, Top Secret, TS/SCI, TS/SCI + polygraph.
- Clearance status: does the job need an active clearance, the ability to obtain one, or only prefer one?
- Evidence and confidence: the clause the decision came from, plus
high,mediumorlow. - Certifications (Security+, CISSP, CySA+, CEH, OSCP, GIAC, AWS Certified and more), DoD 8570/8140 categories, salary, remote/hybrid, US state.
- Filters by clearance tier, minimum level, location (state names, "Remote" or free text), keywords and remote-only.
- Remembers what it has seen, so a scheduled run can return only jobs that are new since the last run, and it reports updated and removed postings per company.
- Writes a run summary with per-company counts, per-tier counts, Florida and remote counts, and every board that failed.
Coverage, plainly
- Covered: 82 employers that post on Greenhouse (60), Ashby (16) or Lever (6): 28 defense tech, 13 space and 41 cybersecurity or security-heavy tech companies. About 14,600 open jobs in total, about 740 of which ask for an active clearance (October 2026).
- Not covered: the major primes and large government-services firms (Lockheed Martin, Northrop Grumman, RTX, General Dynamics/GDIT, L3Harris, Leidos, Booz Allen, SAIC, CACI, Peraton, BAE). They use Workday or other systems that have no public jobs API, and Workday's site terms prohibit scraping. This feed does not reach them.
- Concentration: Anduril alone is about 40% of active-clearance jobs. Use
excludeCompanies: ["Anduril"]if it crowds your results. - You can add any other Greenhouse, Lever or Ashby employer yourself (see below).
Use cases
- Cleared job seekers: "Every job in Florida or remote that wants an active Secret or higher," refreshed daily with only the new ones, and the exact sentence showing why each job matched.
- Cleared recruiters: track which employers are hiring at which clearance level, spot new requisitions the day they post, and see salary ranges and required certifications (Security+, CISSP, DoD 8140) in one table.
- Job boards and aggregators: a clean, structured feed with stable job keys, posted and updated dates, apply URLs
and change types (
new,updated,unchanged) for incremental ingestion.
Sample output
Real run on 2026-10-24 with {"clearanceFilter": "active", "locations": ["Florida", "Remote"], "includeCyberRoles": false}.
It scanned 82 of 82 boards (14,620 jobs) and output 51 jobs: 6 in Florida and 46 remote.
| Title | Company | Location | Remote | Cyber role | Clearance | Certs | Salary | Posted |
|---|---|---|---|---|---|---|---|---|
| Senior Engineer | Raft | Tampa, FL | No | No | Secret | Security+ | $120k–$210k | 2026-10-19 |
| Deployment Strategist - US Government | Palantir | Miami, FL | No | No | Top Secret | — | — | 2026-09-02 |
| Engagement Manager, Public Sector (Miami, FL) | Scale AI | Miami, FL | No | No | TS/SCI | — | $138k–$208k | 2026-10-12 |
| Mission Lead - Tampa (Clearance Required) | Vannevar Labs | Tampa, Florida | No | No | Top Secret | — | — | 2026-09-10 |
| Technical Cyber Threat Investigator | Anthropic | San Francisco, CA; New York, NY; Washington, DC | Yes (office tag) | Yes | Top Secret | — | $230k–$290k | 2026-01-13 |
| Mission Director - Cyber | Defense Unicorns | United States - Remote | Yes | Yes | Secret | — | — | 2026-02-04 |
| Platform Engineer - FedD180/FedD181 | Defense Unicorns | United States - Remote | Yes | No | Secret | Security+, AWS Certified | $123k–$167k | 2026-08-04 |
| Senior Site Reliability Engineer (Arlington, VA) - Relocation Provided | Onebrief | United States | Remote | Yes | No | Top Secret | Security+, CKA, CKAD | $180k–$220k | 2026-09-14 |
| Principal Mission Architect | Muon Space | Remote | Yes | No | TS/SCI | — | $174k–$250k | 2026-01-23 |
| Sr. Staff Site Reliability Engineer-Federal, Security Clearance | Zscaler | Crystal City, Virginia | Yes (office tag) | No | Secret | — | $140k–$200k | 2026-05-07 |
The sample input leaves out cyber roles that don't require a clearance (includeCyberRoles: false), so only two
cyber-titled jobs appear here. With the default input, about 750 cyber-titled jobs (security engineer, SOC, threat
intel, GRC, ISSO and more) are included alongside the cleared ones.
"Yes (office tag)" means the posting's main location is an office, but the employer also tagged it with a Remote
office or location (remoteConfidence: "low").
One full record
{"recordType": "job","jobKey": "greenhouse:raft:6224365004","title": "Senior Engineer","company": "Raft","companySlug": "raft","sector": "defense_tech","ats": "greenhouse","location": "Tampa, FL","locations": ["Tampa, FL"],"states": ["FL"],"isRemote": false,"workplaceType": "unknown","remoteSource": "location_text","remoteConfidence": "low","clearanceLevel": "secret","clearanceStatus": "active_required","clearanceCountry": "US","clearanceLevelsMentioned": ["secret", "ts_sci"],"clearanceEvidence": "Active Secret clearance required","clearanceConfidence": "high","isCyberRole": false,"certifications": ["Security+"],"dod8140Mentioned": false,"dod8140Levels": [],"salaryMin": 120000,"salaryMax": 210000,"salaryCurrency": "USD","salaryInterval": "year","salarySource": "description_text","salaryConfidence": "high","salaryText": "$120,000.00 - $210,000.00","department": "Engineering","postedAt": "2026-10-19T12:39:54-04:00","updatedAt": "2026-10-20T12:35:20-04:00","applyUrl": "https://job-boards.greenhouse.io/raft/jobs/6224365004","atsSource": "greenhouse","scrapedAt": "2026-10-24T18:50:30+00:00","isNew": true,"changeType": "new","changedFields": [],"firstSeenAt": "2026-10-24T18:50:30+00:00"}
clearanceLevelsMentioned lists every level named anywhere in the posting. Here the posting requires Secret and
also mentions TS/SCI elsewhere.
Input
| Field | Default | What it does |
|---|---|---|
clearanceFilter | active | active: the posting asks for an active/current clearance. required: active, or "clearance required" without saying active. any: any clearance mention, including "ability to obtain", "preferred" and "may be required". none: no clearance filter. |
minClearanceLevel | any | Keep jobs at or above public_trust, secret, ts, ts_sci or poly. |
includeCyberRoles | true | Also keep cybersecurity-titled jobs (security engineer, SOC, threat intel, GRC, ISSO, pentest…) that do not mention a clearance. Ignored when minClearanceLevel is set. |
locations | [] | Keep jobs matching any term: a US state ("Florida", "FL"), "Remote", or free text ("Huntsville"). |
remoteOnly | false | Fully remote jobs only (hybrid is not remote). |
keywords | [] | Keep jobs whose title or description contains any of these (whole word). |
newSinceLastRun | false | Output only jobs not seen before. |
useDefaultCompanies | true | Include the 82 built-in employers. |
additionalCompanies | [] | Your own boards, e.g. [{"ats": "greenhouse", "slug": "examplecorp", "name": "Example Corp"}]. |
excludeCompanies | [] | Names or slugs to skip, e.g. ["Anduril"]. |
usClearancesOnly | true | Drop non-US clearance requirements (Australian NV1, UK SC/DV). |
includeDescription | false | Add the plain-text description to each record. |
maxResults | none | Stop after this many jobs. |
summaryInDataset | false | Also append the run summary as the last dataset record (recordType: "run_summary"). It is always saved to the key-value store as SUMMARY and shown in the run's Output tab. |
stateStoreName | cleared-cyber-jobs-state | Named store used for change detection. Use a different name to keep a separate history. |
Example: active TS/SCI or higher, Florida or remote, new jobs only, without Anduril:
{"clearanceFilter": "active","minClearanceLevel": "ts_sci","locations": ["Florida", "Remote"],"newSinceLastRun": true,"excludeCompanies": ["Anduril"]}
Adding your own companies
Find the board slug in the employer's careers URL:
| ATS | Careers URL | Input |
|---|---|---|
| Greenhouse | boards.greenhouse.io/<slug> or job-boards.greenhouse.io/<slug> | {"ats": "greenhouse", "slug": "<slug>"} |
| Lever | jobs.lever.co/<slug> | {"ats": "lever", "slug": "<slug>"} |
| Ashby | jobs.ashbyhq.com/<slug> | {"ats": "ashby", "slug": "<slug>"} |
Invalid entries are skipped and listed in the summary under invalidCompanies (for example invalid_slug, or
unsupported_ats for Workday). Boards that do not exist are listed under failures as board_not_found. Neither one
stops the rest of the run.
How clearances are classified
Rules only. Each job reports the strongest requirement it found:
clearanceStatus | Example wording |
|---|---|
active_required | "Active TS/SCI with Polygraph", "Must hold an active Secret clearance" |
required | "TS/SCI clearance required", or a bare "Secret security clearance" bullet under a Required qualifications heading |
eligibility_required | "Ability to obtain and maintain a Secret clearance", "Active clearance, or eligibility to obtain one", "active or previously held" |
preferred | "Active Secret clearance is a plus", anything under a Preferred / Nice to have heading |
may_be_required | "may be required depending on program", "an active clearance may provide the opportunity…" |
mentioned | A clearance is named with no requirement wording |
not_required | "No clearance required" |
none | No clearance language |
Details that matter:
- Alternatives resolve to the lowest level that qualifies. "Active Secret or TS" is reported as
secret. "Active TS/SCI with Polygraph" ispoly. - Up-level wording is not the requirement. In "Active Secret clearance with TS/SCI eligibility" the requirement
is
secret. TS/SCI appears inclearanceLevelsMentioned. - Known false positives are excluded: the "Employee Polygraph Protection Act" legal poster, "Top Secret data centers", mechanical or customs "clearance", and "national security" mission statements.
clearanceConfidence:highmeans explicit requirement wording plus an explicit level.mediummeans the level is not stated or several levels compete.lowmeans hedged, mentioned only, or title only.- DOE Q maps to
tsand DOE L tosecret. SSBI maps tots.
Other inferred fields carry their source:
remoteSource:ats_field(the ATS's own remote/hybrid/onsite field) →remoteConfidence: high;location_text→medium;secondary_location(a Remote office tag next to a physical location) →low. Ashby marks hybrid rolesisRemote: true. This Actor reports them as hybrid, not remote.salarySource:ats_field(Lever and Ashby structured pay) →high;description_text→highwhen the range sits next to words like salary, pay or compensation, otherwisemedium. Greenhouse has no structured pay, so its salary always comes from the text.certificationsare exact mentions. "AWS" alone is not a certification ("AWS Certified …" is), and "CISA" counts only when the sentence is about certifications, because CISA is also a federal agency.
Run summary
Saved as SUMMARY in the key-value store and shown in the run's Output tab next to the results table. It is never
charged. Set summaryInDataset: true to also append it to the dataset.
{"recordType": "run_summary","durationSec": 55.5,"companiesRequested": 82,"companiesSucceeded": 82,"companiesFailed": 0,"jobsOutput": 51,"fetched": {"jobs": 14620,"activeClearanceRequired": 736,"clearanceRequired": 912,"clearanceAnyMention": 3801,"cyberRoles": 757,"florida": 269,"remote": 2263,"byClearanceStatus": { "active_required": 736, "required": 176, "eligibility_required": 2132, "preferred": 580,"may_be_required": 156, "mentioned": 18, "not_required": 3, "none": 10819 },"byClearanceLevel": { "public_trust": 9, "secret": 1397, "ts": 791, "ts_sci": 323, "poly": 59, "unspecified": 1219, "none": 10822 }},"output": { "jobs": 51, "florida": 6, "remote": 46, "byClearanceLevel": { "secret": 18, "ts": 12, "ts_sci": 10, "unspecified": 11 } },"failures": [],"invalidCompanies": [],"excludedCompanies": [],"perCompany": [{ "company": "Raft", "status": "ok", "jobs": 30, "activeClearanceRequired": 18, "florida": 5, "remote": 2,"matched": 1, "output": 1, "newSinceLastRun": null, "removedSinceLastRun": null, "firstRunForCompany": true }]}
perCompany[*].status is ok, failed (with error set to board_not_found, fetch_error or parse_error) or
skipped (the run stopped early because of maxResults or your spending limit).
Change detection
For every board, the Actor stores a snapshot of each job (title, location, clearance, salary, remote) in a named
key-value store. On the next run each job gets changeType new, updated (with changedFields) or unchanged,
plus firstSeenAt. Removed jobs are counted per company in the summary. State is built from every job fetched,
not only the filtered ones, so changing filters does not make old jobs look new. On the first run every job is new.
Pricing
Pay per event: $0.003 per job board scanned (failed boards are free) plus $0.004 per job returned. A run over
all 82 boards that finds nothing costs $0.25, the Florida + Remote sample above costs $0.45, and a daily "new jobs
only" feed costs about $8 a month. See docs/PRICING.md for the cost math.
A full 82-board run takes about 5 minutes at the default 1 GB memory. More memory gives the run more CPU, so it finishes faster at about the same platform cost.
Disclaimer
Job data comes from each employer's public job board and is provided for information only. Clearance level, status, remote status, certifications and salary are extracted by rules from the posting text and can be wrong or out of date. Always verify the requirements on the employer's posting before applying or making hiring decisions. This Actor is not affiliated with, or endorsed by, any employer listed, Greenhouse, Lever, Ashby or any government agency.
Development
python3 -m venv .venv && .venv/bin/pip install -r requirements-dev.txt.venv/bin/pytest -q # 141 tests: parsers on saved API fixtures, extractors, filters, state, pipelinePATH="$PWD/.venv/bin:$PATH" npx apify-cli@1.10.0 run --purge --input-file=docs/sample_run/input.json
tests/fixtures/{greenhouse,lever,ashby}_sample.json: real postings that cover specific cases, built bytests/make_fixtures.py.tests/fixtures/step0_raw/: the full Step 0 API responses for all boards (gzipped). They are used for the regression test.docs/step0/: the coverage check that produced the company list.