# Infosec Jobs Search Scraper (`alexist/infosec-jobs-search-scraper`) Actor

Scrape cybersecurity job postings from Infosec-Jobs.net with keyword search. Collect 16+ fields including salary, locations, remote status, experience level, and company details — perfect for recruiting, competitive intelligence, and security talent analytics.

- **URL**: https://apify.com/alexist/infosec-jobs-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Infosec-Jobs.net Search Scraper: Extract Cybersecurity Job Listings at Scale

***

### What Is Infosec-Jobs.net?

Infosec-Jobs.net is a specialized job marketplace focused exclusively on information security and cybersecurity careers. It aggregates security engineer, analyst, architect, and compliance roles from leading tech companies and security firms worldwide. Manually searching, filtering, and collecting job data across multiple pages is tedious — the **Infosec-Jobs Search Scraper** automates this workflow, delivering structured security job data ready for analysis.

***

### Overview

The **Infosec-Jobs Search Scraper** performs keyword-based searches on Infosec-Jobs.net and extracts detailed job listings across multiple pages. It is ideal for:

- **Security recruiters** identifying candidates and market gaps
- **HR teams** benchmarking compensation and role requirements
- **Job aggregators** feeding security roles into multi-source job boards
- **Market researchers** tracking cybersecurity hiring trends
- **Career analysts** studying the information security labor market

Key features include keyword-based search, multi-page pagination support, configurable result limits, and comprehensive field extraction covering salary ranges, work arrangement flexibility, and experience requirements.

***

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "keyword": "security engineer",
  "pages": 1,
  "max_items_per_url": 200
}
```

#### Input Parameters

| Parameter | Type | Description | Example |
|---|---|---|---|
| `keyword` | string | Search term to query on Infosec-Jobs.net | `"security engineer"`, `"penetration tester"`, `""` (leave blank for all jobs) |
| `pages` | integer | Number of search results pages to scrape | `1`, `5`, `10` |
| `max_items_per_url` | integer | Maximum job listings to collect per page | `100`, `200` |

#### Usage Tips

- **Empty keyword:** Leave `"keyword": ""` to scrape all current listings without filtering
- **Multi-page scraping:** Set `pages: 5` to collect listings across 5 pages (typically 20-50 jobs per page)
- **Result limits:** Adjust `max_items_per_url` based on your needs (max recommended: 200)

> **Example:** To collect all penetration tester roles from the first 3 pages, use `keyword: "penetration tester"` and `pages: 3`.

***

### Output Format

**Sample output**

```json
{
  "id": "cmlv5f7p6002e3zuh4id55yvj",
  "title": "Product Manager, Risk & Compliance",
  "company_name": "stripe",
  "locations": [
    "bengaluru"
  ],
  "is_remote": false,
  "experience": "Lead",
  "posted_at": "2026-02-19T18:10:10.000Z",
  "tags": [],
  "apply_url": "https://stripe.com/jobs/search?gh_jid=7625842",
  "description": "## Who we are\n\n### About Stripe\n\nStripe is a financial infrastructure platform for businesses. Millions of companies - from the world's largest enterprises to the most ambitious startups - use Stripe to accept payments, grow their revenue, and accelerate new business opportunities. Our mission is to increase the GDP of the internet, and we have a staggering amount of work ahead. That means you have an unprecedented opportunity to put the global economy within everyone's reach while doing the most important work of your career.\n\n### About the team\n\nVerification and Identity Platform (VIP) team is a core platform team that powers user onboarding and verification (KYC and KYB) worldwide and ensures continued compliance throughout the merchant lifecycle at Stripe. Our team safeguards user identities across our array of digital services, designing and executing a secure, effortless, and user-centered identity collection and verification environment. Our efforts cover a broad spectrum of identity-confirming scenarios, including identity proofing, risk-based, and adaptive verification technology. We provide an in-house smart orchestration ecosystem that allows us to integrate with multiple third-party data verification services, financial institutions, and regulatory bodies to build accuracy, reliability, and speed to verify accounts and businesses. We enable continued compliance at Stripe in an ever-evolving regulatory landscape by providing infrastructure that automates document collection, verification, and merchant communication for high-scale requirements refresh and accounts remediation programs.\n\n## What you'll do\n\nIn this role, you'll own the end-to-end strategy for how Stripe manages risk user experiences after onboarding. You'll define the journeys that allow millions of businesses to meet regulatory requirements—without losing sight of the user at every step.\n\nYou'll work across engineering, design, and go-to-market to build verification and compliance infrastructure at global scale. Your decisions will directly influence how Stripe adapts to a fast-moving regulatory landscape and keeps users on track across their entire lifecycle with Stripe.\n\n### Responsibilities\n\n- Define the strategy and roadmap for all risk user experiences post-onboarding \n\n- Drive collaboration across Stripe and external partners to deliver delightful, high-performing end-to-end risk journeys\n\n- Act as the voice of the user in product and API designs, gathering direct feedback from customers and internal stakeholders\n\n- Work with engineering, design, and go-to-market teams on designing a personalized and scalable onboarding experience\n\n- Partner with legal, compliance, and policy teams to translate regulatory requirements into product solutions that scale across global markets\n\n## Who you are\n\nWe're looking for someone who meets the minimum requirements to be considered for the role. If you meet these requirements, you are encouraged to apply. The preferred qualifications are a bonus, not a requirement.\n\n### Minimum requirements\n\n- 10+ years in Product Management, specifically in delivering excellent user experiences for complex and technical products.\n\n- Experience managing technical software products from kick-off to ship\n\n- Consistent track record of leading ambitious and ambiguous 0-to-1 projects\n\n- Strong stakeholder management including navigating difficult situations, negotiating timelines, and influencing internal and external stakeholders across organizations and borders\n\n- Strong communication skills—you can summarize and express complex requirements in an accessible and precise manner\n\n### Preferred qualifications\n\n- Experience in the B2B SaaS industry \n\n- Familiarity with compliance and financial services regulation\n\n- Track record of working on growth-focused teams, especially with experimentation",
  "salary_min": null,
  "salary_max": null,
  "salary_currency": null,
  "regions": [],
  "country": "United States",
  "source_slug": "stripe",
  "featured": false,
  "from_url": "https://infosec-jobs.net/api/jobs?page=1&limit=25&keyword="
}
```

Each job listing returns 16+ structured fields:

#### Identification & Core Details

| Field | Meaning | Example |
|---|---|---|
| `ID` | Unique internal identifier for the job posting | `12345` |
| `Title` | Job title as listed | `"Senior Security Engineer"` |
| `Company Name` | Hiring company name | `"Acme Security Corp"` |
| `Apply URL` | Direct link to the job application | `https://infosec-jobs.net/job/12345` |
| `Source Slug` | Internal source identifier | `"infosec-jobs"` |

#### Location & Work Arrangement

| Field | Meaning | Example |
|---|---|---|
| `Locations` | Specific office locations or cities | `["San Francisco, CA", "New York, NY"]` |
| `Country` | Country where the role is based | `"United States"` |
| `Regions` | Geographic regions or territories | `["North America", "EMEA"]` |
| `Is Remote` | Whether the role is fully or partially remote | `true`, `false` |

#### Candidate Qualifications

| Field | Meaning | Example |
|---|---|---|
| `Experience` | Required experience level | `"Senior (5+ years)"`, `"Mid-level (2-4 years)"` |
| `Tags` | Role categories and specializations | `["Cloud Security", "AWS", "Incident Response"]` |

#### Compensation

| Field | Meaning | Example |
|---|---|---|
| `Salary Min` | Minimum annual salary (if disclosed) | `95000` |
| `Salary Max` | Maximum annual salary (if disclosed) | `150000` |
| `Salary Currency` | Currency for salary figures | `"USD"`, `"EUR"` |

#### Content & Metadata

| Field | Meaning | Example |
|---|---|---|
| `Description` | Full job description and responsibilities | `"We are seeking a security engineer..."` |
| `Posted At` | Publication date of the listing | `"2024-01-15"` |
| `Featured` | Whether the job listing is featured/promoted | `true`, `false` |

***

### How to Use

1. **Define your search** — Enter a keyword (e.g., "SIEM engineer", "security architect") or leave blank for all roles.
2. **Set page count** — Specify how many results pages to scrape (each page typically contains 20–50 listings).
3. **Configure limits** — Set `max_items_per_url` to control the total number of listings (recommended: 100–200).
4. **Run the scraper** — Initiate the actor and monitor the progress.
5. **Export & analyze** — Download results as JSON, CSV, or Excel for further processing.

**Troubleshooting:**

- If results are limited, increase `pages` or `max_items_per_url`.
- Salary fields may be empty if employers do not disclose compensation.
- Use `Is Remote: true` filtering in post-processing to isolate fully remote roles.

***

### Use Cases & Business Value

- **Talent acquisition:** Identify available security professionals and trending job requirements
- **Salary benchmarking:** Compare compensation ranges across companies and experience levels
- **Market intelligence:** Track cybersecurity hiring demand by region, skill, and company size
- **Job board aggregation:** Combine Infosec-Jobs data with other sources into a unified platform
- **Career planning:** Analyze skill demands and experience requirements for security career paths

The scraper delivers clean, machine-readable data that saves hours of manual browsing and enables data-driven decisions in recruitment, pricing, and workforce planning.

***

### Conclusion

The **Infosec-Jobs.net Search Scraper** is an efficient tool for anyone seeking structured cybersecurity job market data. With support for keyword search, multi-page collection, and 16+ output fields, it transforms time-consuming job research into actionable intelligence. Start scraping today to unlock competitive insights in the information security talent market.

# Actor input Schema

## `keyword` (type: `string`):

Enter the keyword to search for items

## `page` (type: `integer`):

Enter the number of pages to scrape

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "page": 1,
  "max_items_per_url": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "",
    "page": 1,
    "max_items_per_url": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/infosec-jobs-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "",
    "page": 1,
    "max_items_per_url": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/infosec-jobs-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "",
  "page": 1,
  "max_items_per_url": 100
}' |
apify call alexist/infosec-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=alexist/infosec-jobs-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/gfQQUUQratXrmhSgy/builds/PjwDf10fD0FgC9FJM/openapi.json
