Security Clearance Jobs & Cybersecurity Jobs Feed avatar

Security Clearance Jobs & Cybersecurity Jobs Feed

Pricing

from $2.80 / 1,000 job results

Go to Apify Store
Security Clearance Jobs & Cybersecurity Jobs Feed

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

Tanner Conaway

Maintained by Community

Actor 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

  1. 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.
  2. 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, medium or low.
    • Certifications (Security+, CISSP, CySA+, CEH, OSCP, GIAC, AWS Certified and more), DoD 8570/8140 categories, salary, remote/hybrid, US state.
  3. Filters by clearance tier, minimum level, location (state names, "Remote" or free text), keywords and remote-only.
  4. 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.
  5. 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.

TitleCompanyLocationRemoteCyber roleClearanceCertsSalaryPosted
Senior EngineerRaftTampa, FLNoNoSecretSecurity+$120k–$210k2026-10-19
Deployment Strategist - US GovernmentPalantirMiami, FLNoNoTop Secret——2026-09-02
Engagement Manager, Public Sector (Miami, FL)Scale AIMiami, FLNoNoTS/SCI—$138k–$208k2026-10-12
Mission Lead - Tampa (Clearance Required)Vannevar LabsTampa, FloridaNoNoTop Secret——2026-09-10
Technical Cyber Threat InvestigatorAnthropicSan Francisco, CA; New York, NY; Washington, DCYes (office tag)YesTop Secret—$230k–$290k2026-01-13
Mission Director - CyberDefense UnicornsUnited States - RemoteYesYesSecret——2026-02-04
Platform Engineer - FedD180/FedD181Defense UnicornsUnited States - RemoteYesNoSecretSecurity+, AWS Certified$123k–$167k2026-08-04
Senior Site Reliability Engineer (Arlington, VA) - Relocation ProvidedOnebriefUnited States | RemoteYesNoTop SecretSecurity+, CKA, CKAD$180k–$220k2026-09-14
Principal Mission ArchitectMuon SpaceRemoteYesNoTS/SCI—$174k–$250k2026-01-23
Sr. Staff Site Reliability Engineer-Federal, Security ClearanceZscalerCrystal City, VirginiaYes (office tag)NoSecret—$140k–$200k2026-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

FieldDefaultWhat it does
clearanceFilteractiveactive: 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.
minClearanceLevelanyKeep jobs at or above public_trust, secret, ts, ts_sci or poly.
includeCyberRolestrueAlso 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").
remoteOnlyfalseFully remote jobs only (hybrid is not remote).
keywords[]Keep jobs whose title or description contains any of these (whole word).
newSinceLastRunfalseOutput only jobs not seen before.
useDefaultCompaniestrueInclude 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"].
usClearancesOnlytrueDrop non-US clearance requirements (Australian NV1, UK SC/DV).
includeDescriptionfalseAdd the plain-text description to each record.
maxResultsnoneStop after this many jobs.
summaryInDatasetfalseAlso 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.
stateStoreNamecleared-cyber-jobs-stateNamed 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:

ATSCareers URLInput
Greenhouseboards.greenhouse.io/<slug> or job-boards.greenhouse.io/<slug>{"ats": "greenhouse", "slug": "<slug>"}
Leverjobs.lever.co/<slug>{"ats": "lever", "slug": "<slug>"}
Ashbyjobs.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:

clearanceStatusExample 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…"
mentionedA clearance is named with no requirement wording
not_required"No clearance required"
noneNo 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" is poly.
  • Up-level wording is not the requirement. In "Active Secret clearance with TS/SCI eligibility" the requirement is secret. TS/SCI appears in clearanceLevelsMentioned.
  • 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: high means explicit requirement wording plus an explicit level. medium means the level is not stated or several levels compete. low means hedged, mentioned only, or title only.
  • DOE Q maps to ts and DOE L to secret. SSBI maps to ts.

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 roles isRemote: true. This Actor reports them as hybrid, not remote.
  • salarySource: ats_field (Lever and Ashby structured pay) → high; description_text → high when the range sits next to words like salary, pay or compensation, otherwise medium. Greenhouse has no structured pay, so its salary always comes from the text.
  • certifications are 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, pipeline
PATH="$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 by tests/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.