# Greylock Jobs Search Scraper (`alexist/greylock-jobs-search-scraper`) Actor

Scrape Greylock.com's curated job listings from top-tier startups instantly. Extract 31+ fields including titles, company details, salary ranges, skills requirements, funding levels, and work arrangements—perfect for job aggregators, market researchers, and talent intelligence platforms.

- **URL**: https://apify.com/alexist/greylock-jobs-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Developer tools, Automation, 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

## Greylock Jobs Search Scraper: Capture Startup Opportunities at Scale

***

### What Is Greylock.com?

Greylock Partners is a prestigious venture capital firm in Silicon Valley that backs early-stage and growth-stage startups across diverse industries. **Greylock.com/jobs** is the official job board featuring openings from Greylock-backed portfolio companies and their ecosystem. These roles often represent high-growth startups offering competitive compensation, equity, and career acceleration. Manually tracking opportunities across this specialized platform is inefficient — the **Greylock Jobs Search Scraper** automates data collection from search results pages, delivering structured startup job data instantly.

***

### Overview

The **Greylock Jobs Search Scraper** extracts job listings from Greylock's job search interface, converting search result pages into comprehensive, machine-readable records. It is ideal for:

- **Job aggregators** indexing startup opportunities across multiple platforms
- **Talent researchers** analyzing compensation and hiring trends in VC-backed startups
- **Recruiters** monitoring competitor hiring in the Greylock ecosystem
- **Data analysts** building datasets on venture-backed employment
- **Career platforms** enriching job databases with Greylock portfolio company data

The scraper handles multiple URLs, gracefully skips failed pages, and returns over 30 fields of structured data per job listing.

***

### Input Format

The scraper accepts a JSON configuration object with three main parameters:

```json
{
  "urls": [
    "https://jobs.greylock.com/jobs"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

#### Input Parameters

| Parameter | Type | Description | Example |
|---|---|---|---|
| `urls` | Array | List of Greylock job search page URLs to scrape | `["https://jobs.greylock.com/jobs"]` |
| `ignore_url_failures` | Boolean | If `true`, continues scraping even if some URLs fail; if `false`, stops on error | `true` |
| `max_items_per_url` | Integer | Maximum number of job listings extracted per URL | `20` |

**Notes:**

- The `urls` field accepts Greylock.com job search results pages (filter pages, category pages, or the main jobs page)
- `max_items_per_url` controls pagination depth and dataset size; set higher values for comprehensive scrapes
- `ignore_url_failures` prevents job interruptions when a page is temporarily unavailable or structure changes

***

### Output Format

#### Example Output Record

```json
{
  "apply_url": "https://jobs.lever.co/lyrahealth/3b0c93ff-0de2-4037-bff7-08c86f9b6de8?lever-source%5B%5D=jobs.greylock.com",
  "company_domain": "lyrahealth.com",
  "company_logos": {
    "manual": {
      "height": 160,
      "src": "https://dzh2zima160vx.cloudfront.net/logo/143cd3a237462e2e7a2ccd47b2d73fac_96_160?Expires=1861920000&Signature=NN4EpXx0uHmRsAc6GKWU1E0aaw8tKG4yCj2QYcyRkjmu-TasPWWqFMezEMDMrvS9g~m1YutUpDH0UcML0wCCTj3bVgH9iuqZ-1KjAANo2QJ4OI4O4jJKEXVeKkppGoaNCOAk6kuo8hNLQaoUNdseOttFqi8MHw5q3vuVxm27cyWV5IYmKpi5bCPmxgaJWu7Kz8UbFINdf8wxcPQbQaDaLhrif1d7GGdyR~aKQgz6kk68bZ2~SZy7jHQnFA3~LEL~PtuLIfFqzt7oJbN~ufj5iXEiYV0hTzLly0RvgZjMTfp6pTEeyvx7c9JDYKGH5nzcIE9~hss7j3HpVdaOlTP33Q__&Key-Pair-Id=APKAII5OVX4LZ3WT422Q",
      "width": 96
    },
    "linkedin": {
      "height": 100,
      "src": "https://dzh2zima160vx.cloudfront.net/profile/b2134316cf72a2d0a965cba0f1b0bde3_100_100?Expires=1893456000&Signature=J3YGpYyjOXDotOzY153DMZU~~x6tmlg8NUvODuQ4By3c-6KKbeatQRGgGNF0TxdlXFZJiTSvM8RLetjnXR0~tsdMz~RHyDUEnsYgGA4AIDBiVipkf19dMbUZRaa8e9PLUaQsakmgjCQLlpY2wXAvq8Y6x7sKMbUUqi02ccrP9BwVVyjBXH2jA-yvJIgCztA-IUmih62EIS-UyrHCCiNQiHTUIZrkx8ogYOQpDrkjLBdusi2xlLuGzsETqoa3-Q3uxWiY2gluYIs1ckWtZVX~WNjwKtUFhmDCxTNvpitE9MY0o9nZiO8WKtsigAm2CBVa4UPEWTMtvRwEneFF9hDO7A__&Key-Pair-Id=APKAII5OVX4LZ3WT422Q",
      "width": 100
    }
  },
  "company_id": "Lyra Health",
  "company_slug": "lyra-health",
  "company_name": "Lyra Health",
  "company_staff_count": 2800,
  "consider_hosted": false,
  "departments": [
    "Provider Network Ops"
  ],
  "job_types": [
    {
      "id": "lead",
      "label": "Lead",
      "value": "lead"
    }
  ],
  "job_functions": [],
  "locations": [
    "United States"
  ],
  "normalized_locations": [
    {
      "id": "United States",
      "label": "United States",
      "value": "United States"
    }
  ],
  "salary": {
    "period": {
      "label": "Year",
      "value": "year"
    },
    "min_value": 95000,
    "max_value": 145500,
    "currency": {
      "label": "USD",
      "value": "USD"
    },
    "is_original": true
  },
  "skills": [
    {
      "id": "resume:Artificial Intelligence",
      "label": "Artificial Intelligence",
      "value": "resume:Artificial Intelligence"
    },
    {
      "id": "resume:Project Management",
      "label": "Project Management",
      "value": "resume:Project Management"
    },
    {
      "id": "resume:Customer Engagement",
      "label": "Customer Engagement",
      "value": "resume:Customer Engagement"
    },
    {
      "id": "resume:Software Project Management",
      "label": "Software Project Management",
      "value": "resume:Software Project Management"
    },
    {
      "id": "resume:Analytics Tools",
      "label": "Analytics Tools",
      "value": "resume:Analytics Tools"
    },
    {
      "id": "resume:Salesforce",
      "label": "Salesforce",
      "value": "resume:Salesforce"
    },
    {
      "id": "resume:Client Relations",
      "label": "Client Relations",
      "value": "resume:Client Relations"
    },
    {
      "id": "resume:Customer Satisfaction",
      "label": "Customer Satisfaction",
      "value": "resume:Customer Satisfaction"
    },
    {
      "id": "resume:Customer Management",
      "label": "Customer Management",
      "value": "resume:Customer Management"
    },
    {
      "id": "resume:Customer Onboarding",
      "label": "Customer Onboarding",
      "value": "resume:Customer Onboarding"
    },
    {
      "id": "resume:Automation",
      "label": "Automation",
      "value": "resume:Automation"
    },
    {
      "id": "resume:Scalability",
      "label": "Scalability",
      "value": "resume:Scalability"
    },
    {
      "id": "resume:Privacy",
      "label": "Privacy",
      "value": "resume:Privacy"
    },
    {
      "id": "resume:Escalation",
      "label": "Escalation",
      "value": "resume:Escalation"
    },
    {
      "id": "resume:Behavioral Health",
      "label": "Behavioral Health",
      "value": "resume:Behavioral Health"
    },
    {
      "id": "resume:Data Privacy",
      "label": "Data Privacy",
      "value": "resume:Data Privacy"
    },
    {
      "id": "resume:Interviewing",
      "label": "Interviewing",
      "value": "resume:Interviewing"
    },
    {
      "id": "resume:Data Driven",
      "label": "Data Driven",
      "value": "resume:Data Driven"
    },
    {
      "id": "resume:Operational Excellence",
      "label": "Operational Excellence",
      "value": "resume:Operational Excellence"
    },
    {
      "id": "resume:GDPR",
      "label": "GDPR",
      "value": "resume:GDPR"
    },
    {
      "id": "resume:Analytical Skills",
      "label": "Analytical Skills",
      "value": "resume:Analytical Skills"
    },
    {
      "id": "resume:Scheduling",
      "label": "Scheduling",
      "value": "resume:Scheduling"
    },
    {
      "id": "resume:Efficacy Studies",
      "label": "Efficacy Studies",
      "value": "resume:Efficacy Studies"
    },
    {
      "id": "resume:Outpatient",
      "label": "Outpatient",
      "value": "resume:Outpatient"
    },
    {
      "id": "resume:Jira",
      "label": "Jira",
      "value": "resume:Jira"
    },
    {
      "id": "resume:Account Management",
      "label": "Account Management",
      "value": "resume:Account Management"
    },
    {
      "id": "resume:Zendesk",
      "label": "Zendesk",
      "value": "resume:Zendesk"
    }
  ],
  "required_skills": [
    {
      "id": "resume:Artificial Intelligence",
      "label": "Artificial Intelligence",
      "value": "resume:Artificial Intelligence"
    },
    {
      "id": "resume:Project Management",
      "label": "Project Management",
      "value": "resume:Project Management"
    },
    {
      "id": "resume:Customer Engagement",
      "label": "Customer Engagement",
      "value": "resume:Customer Engagement"
    }
  ],
  "preferred_skills": [
    {
      "id": "resume:Software Project Management",
      "label": "Software Project Management",
      "value": "resume:Software Project Management"
    },
    {
      "id": "resume:Analytics Tools",
      "label": "Analytics Tools",
      "value": "resume:Analytics Tools"
    },
    {
      "id": "resume:Salesforce",
      "label": "Salesforce",
      "value": "resume:Salesforce"
    },
    {
      "id": "resume:Client Relations",
      "label": "Client Relations",
      "value": "resume:Client Relations"
    },
    {
      "id": "resume:Customer Satisfaction",
      "label": "Customer Satisfaction",
      "value": "resume:Customer Satisfaction"
    },
    {
      "id": "resume:Customer Management",
      "label": "Customer Management",
      "value": "resume:Customer Management"
    },
    {
      "id": "resume:Customer Onboarding",
      "label": "Customer Onboarding",
      "value": "resume:Customer Onboarding"
    },
    {
      "id": "resume:Automation",
      "label": "Automation",
      "value": "resume:Automation"
    },
    {
      "id": "resume:Scalability",
      "label": "Scalability",
      "value": "resume:Scalability"
    },
    {
      "id": "resume:Privacy",
      "label": "Privacy",
      "value": "resume:Privacy"
    },
    {
      "id": "resume:Escalation",
      "label": "Escalation",
      "value": "resume:Escalation"
    },
    {
      "id": "resume:Behavioral Health",
      "label": "Behavioral Health",
      "value": "resume:Behavioral Health"
    },
    {
      "id": "resume:Data Privacy",
      "label": "Data Privacy",
      "value": "resume:Data Privacy"
    },
    {
      "id": "resume:Interviewing",
      "label": "Interviewing",
      "value": "resume:Interviewing"
    },
    {
      "id": "resume:Data Driven",
      "label": "Data Driven",
      "value": "resume:Data Driven"
    },
    {
      "id": "resume:Operational Excellence",
      "label": "Operational Excellence",
      "value": "resume:Operational Excellence"
    },
    {
      "id": "resume:GDPR",
      "label": "GDPR",
      "value": "resume:GDPR"
    },
    {
      "id": "resume:Analytical Skills",
      "label": "Analytical Skills",
      "value": "resume:Analytical Skills"
    },
    {
      "id": "resume:Scheduling",
      "label": "Scheduling",
      "value": "resume:Scheduling"
    },
    {
      "id": "resume:Efficacy Studies",
      "label": "Efficacy Studies",
      "value": "resume:Efficacy Studies"
    },
    {
      "id": "resume:Outpatient",
      "label": "Outpatient",
      "value": "resume:Outpatient"
    },
    {
      "id": "resume:Jira",
      "label": "Jira",
      "value": "resume:Jira"
    },
    {
      "id": "resume:Account Management",
      "label": "Account Management",
      "value": "resume:Account Management"
    },
    {
      "id": "resume:Zendesk",
      "label": "Zendesk",
      "value": "resume:Zendesk"
    }
  ],
  "manager": false,
  "consultant": false,
  "contractor": false,
  "consider_levels": [
    [
      3,
      4
    ],
    [
      5,
      6
    ]
  ],
  "min_years_exp": 5,
  "regions": [
    {
      "id": "North America",
      "label": "North America",
      "value": "North America"
    }
  ],
  "stages": [
    {
      "id": "1000+ employees",
      "label": "1000+ employees",
      "value": "1000+ employees"
    },
    {
      "id": "Growth",
      "label": "Growth",
      "value": "Growth"
    }
  ],
  "funding_lv": null,
  "markets": [
    {
      "id": "Digital Health",
      "label": "Digital Health",
      "value": "Digital Health"
    },
    {
      "id": "Mental Health Care",
      "label": "Mental Health Care",
      "value": "Mental Health Care"
    }
  ],
  "time_stamp": "2026-07-16T21:14:41.742000Z",
  "title": "Operations Lead, Adult Outpatient Services",
  "url": "https://jobs.lever.co/lyrahealth/3b0c93ff-0de2-4037-bff7-08c86f9b6de8",
  "job_id": "3b0c93ff-0de2-4037-bff7-08c86f9b6de8",
  "remote": true,
  "hybrid": false,
  "scores": {
    "score": 1001.1882152849337,
    "match_score": 0,
    "age_score": 0.988215284933642,
    "richness_score": 2
  },
  "ats_jobs": [],
  "matching_talent": {
    "count": 0,
    "matches": []
  },
  "job_seniorities": [
    {
      "id": "senior",
      "label": "Senior",
      "value": "senior"
    },
    {
      "id": "mid",
      "label": "Mid",
      "value": "mid"
    }
  ],
  "job_seniority_ids": [
    "senior",
    "mid"
  ],
  "is_featured": false,
  "from_url": "https://jobs.greylock.com/jobs"
}
```

Each scraped job listing returns a rich record with 31 distinct fields. Here is a detailed breakdown:

#### Company Information

| Field | Meaning & Use |
|---|---|
| `company_id` | Unique identifier for the hiring company in Greylock's system |
| `company_name` | Official name of the startup or company |
| `company_domain` | Company website domain (e.g., example.com) |
| `company_slug` | URL-friendly company name identifier |
| `company_logos` | Logo image URL(s) for the company |
| `company_staff_count` | Estimated number of employees |
| `funding_lv` | Funding stage (e.g., Seed, Series A, Series B, Series C+) |
| `stages` | Detailed company maturity stage classification |
| `markets` | Industry verticals (e.g., FinTech, HealthTech, AI) |
| `regions` | Geographic regions where the company operates |

#### Job Details

| Field | Meaning & Use |
|---|---|
| `job_id` | Unique identifier for this job posting |
| `title` | Job title (e.g., "Senior Software Engineer") |
| `url` | Direct link to the full job posting on Greylock.com |
| `apply_url` | URL to submit an application |
| `departments` | Organizational department (e.g., Engineering, Product, Sales) |
| `job_types` | Employment type (Full-time, Part-time, Contract, Internship) |
| `job_functions` | Role function categories (e.g., Backend, Frontend, Data) |

#### Location & Work Arrangements

| Field | Meaning & Use |
|---|---|
| `locations` | Raw location data as listed (e.g., "San Francisco, CA" or "Remote") |
| `normalized_locations` | Standardized location format for consistency |
| `remote` | Boolean flag indicating if the role is fully remote |
| `hybrid` | Boolean flag indicating if the role is hybrid |
| `consider_hosted` | Whether relocation/relocation assistance is offered |

#### Experience & Seniority

| Field | Meaning & Use |
|---|---|
| `min_years_exp` | Minimum years of experience required for the role |
| `job_seniorities` | Seniority level labels (e.g., Junior, Mid-Level, Senior, Lead) |
| `job_seniority_ids` | Numeric IDs corresponding to seniority levels |
| `consider_levels` | Flexibility in seniority requirements for consideration |

#### Skills & Requirements

| Field | Meaning & Use |
|---|---|
| `skills` | All mentioned technical and soft skills for the role |
| `required_skills` | Hard skills that are mandatory for the position |
| `preferred_skills` | Nice-to-have skills that strengthen candidacy |

#### Role Type Classifications

| Field | Meaning & Use |
|---|---|
| `manager` | Boolean flag: is this a management/leadership role? |
| `consultant` | Boolean flag: is this a consultant or advisory role? |
| `contractor` | Boolean flag: is this a contractor or freelance role? |

#### Compensation & Incentives

| Field | Meaning & Use |
|---|---|
| `salary` | Salary range or compensation details (when provided) |

#### Metadata & Scoring

| Field | Meaning & Use |
|---|---|
| `time_stamp` | When the job listing was created or last updated |
| `scores` | Ranking or relevance score for the job posting |
| `is_featured` | Boolean: whether the listing is promoted/featured on the platform |
| `ats_jobs` | Integration status with Applicant Tracking Systems |
| `matching_talent` | Number or flag indicating candidate match count |

***

### How to Use

1. **Identify target URLs** — Visit `https://jobs.greylock.com/jobs` and optionally apply filters (department, location, funding level). Copy the filtered URL if needed.

2. **Configure the scraper** — Paste one or more Greylock job page URLs into the `urls` array. Set `max_items_per_url` based on your data needs (e.g., `20` for a sample, `100+` for comprehensive coverage).

3. **Set error handling** — Leave `ignore_url_failures: true` to ensure the scraper continues if a page becomes unavailable mid-run.

4. **Start scraping** — Launch the actor and monitor the run log for progress.

5. **Export & integrate** — Download results as JSON, CSV, or Excel and load into your database, job aggregator, or analytics platform.

**Best practices:**

- Use `max_items_per_url: 100` or higher for complete dataset captures
- Run scrapes during off-peak hours to minimize server load
- Re-run weekly or monthly to track new postings and salary updates
- Combine with other job scraper data for competitive intelligence

***

### Use Cases & Business Value

- **Job aggregators** — Add Greylock-backed startup jobs to your platform, differentiating with premium VC-ecosystem data
- **Market research** — Analyze hiring trends, salary ranges, and skill demand in early-stage startups
- **Talent intelligence** — Identify high-growth companies by tracking hiring velocity and funding stage
- **Career insights** — Build reports on which Greylock portfolio companies are hiring for specific roles
- **Executive recruiting** — Scout talent and competitive opportunities in the venture capital ecosystem

The **Greylock Jobs Search Scraper** transforms job discovery into actionable data, saving teams dozens of manual hours and enabling data-driven decision-making in the startup talent market.

***

### Conclusion

The **Greylock Jobs Search Scraper** is an essential tool for anyone working with venture-backed startup job data. Whether you're aggregating opportunities, researching market trends, or building talent intelligence platforms, this scraper delivers structured, comprehensive records across 31 fields. Start capturing Greylock ecosystem jobs today and unlock insights into the future of work.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

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

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://jobs.greylock.com/jobs"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://jobs.greylock.com/jobs"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/greylock-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 = {
    "urls": ["https://jobs.greylock.com/jobs"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/greylock-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 '{
  "urls": [
    "https://jobs.greylock.com/jobs"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call alexist/greylock-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/vwHnRyZYDuqWrYyRJ/builds/8vSjckitu6opoaOAc/openapi.json
