# Seedcamp Talent & Portfolio Jobs Scraper (`rainminer/seedcamp-com-scraper`) Actor

Extract public jobs from the Seedcamp talent board and its portfolio startups. Export title, company, logo, location, work mode, seniority, job function, published salary, and the full description — no login. Download JSON, CSV, or Excel, schedule runs, and pull results through the Apify API today.

- **URL**: https://apify.com/rainminer/seedcamp-com-scraper.md
- **Developed by:** [rainminer](https://apify.com/rainminer) (community)
- **Categories:** Jobs, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.49 / 1,000 jobs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

![Seedcamp talent board](https://seedcamp.com/wp-content/uploads/2024/09/Cover-3.jpg)

### What does Seedcamp Talent Jobs Scraper do?

**Seedcamp Talent & Portfolio Jobs Scraper** extracts **public job listings** from the [Seedcamp talent board](https://seedcamp.com/talent) — open roles at [Seedcamp](https://seedcamp.com/) and across the Seedcamp portfolio, from early-stage teams to well-known startups. Paste a talent URL, a filtered jobs page, a company page, or a single job URL and export structured data: **title, company, logo, location, work mode, seniority, job function, published salary, and the full description**.

No account and no coding. Run it on the **Apify platform** to schedule crawls, export JSON, CSV, or Excel, and pull results through the API.

### Why scrape Seedcamp portfolio jobs?

Hiring teams, founders, and talent researchers use the Seedcamp board to see which portfolio companies are building teams right now. The board lists hundreds of live roles in one place. This Actor turns that public board into a dataset you can filter, store, and reuse.

- **Portfolio hiring map** — See which Seedcamp companies are hiring, and for which functions.
- **London startup jobs** — Pull software, product, and design roles based in London.
- **Senior talent tracking** — Export senior and leadership openings across the portfolio.
- **Function-specific research** — Collect engineering, sales, legal, or people jobs from one filtered URL.
- **Single-company watch** — Open a company page, such as Revolut on the talent board, and export only that employer's roles.
- **Salary benchmarking** — Keep published salary ranges when a listing discloses them.
- **Job description archive** — Save the full public description for sourcing or competitive research.
- **New-role monitoring** — Schedule the Actor and compare each run with the previous dataset.
- **Recruiting CRM enrichment** — Feed company, location, and apply links into a spreadsheet or ATS.
- **Market mapping** — Combine titles, seniority, and locations to see where portfolio hiring is concentrated.
- **Lead lists for tools and services** — Find startups that just opened a role your product supports.
- **Talent-market briefings** — Drop the dataset into a dashboard for a weekly hiring snapshot.

### How to scrape Seedcamp jobs

1. Open **Seedcamp Talent & Portfolio Jobs Scraper** in Apify Console.
2. Add one or more start URLs. The default is `https://seedcamp.com/talent`, which covers the live board.
3. Set **Maximum items** (jobs per start URL). Use a small number for a test, then raise it for a full export.
4. Run the Actor and download the dataset as JSON, CSV, Excel, or HTML.

Filtered board URLs work as start URLs. Copy the URL from the talent board after you choose a location, job function, or keyword, and paste it into **Start URLs**. A company page such as `https://talent.seedcamp.com/companies/revolut-com` limits the run to that company. A job URL such as `https://talent.seedcamp.com/companies/seedcamp/jobs/94426887-legal-analyst-associate` returns that single role.

### What data can you extract from Seedcamp?

| Field | Description |
| --- | --- |
| title | Job title |
| company | Hiring company |
| imageUrl | Company logo |
| location | Primary location |
| workMode | On-site, remote, or hybrid when listed |
| seniority | Seniority level when listed |
| employmentType | Employment type, such as full-time |
| jobFunctions | Job function, such as Software Engineering or Design |
| description | Full public job description |
| salaryMin / salaryMax | Salary range when the listing publishes one |
| salaryCurrency | Currency of a published salary |
| postedAt | Date the role was posted |
| url | Public job page on the Seedcamp talent board |
| applyUrl | Public application link when it differs from the job page |

### How much does it cost to scrape Seedcamp jobs?

The Actor uses a lightweight HTTP crawl and **does not use a proxy by default**, so compute stays low. You pay for each job saved to the dataset (pay per result), plus a small start fee. A short test with the default maximum of 5 jobs is enough to confirm the fields before a larger export.

You can schedule runs, send results to Google Sheets or webhooks, and call the Actor through the Apify API. The same dataset is available as JSON, CSV, Excel, or HTML.

### Input

**Start URLs**, **Maximum items** (per start URL), and an optional **proxy configuration**. The default proxy setting is off. See the Input tab for the form.

Supported start URLs:

- Talent page: `https://seedcamp.com/talent`
- Full board: `https://talent.seedcamp.com/jobs`
- Keyword search: `https://talent.seedcamp.com/jobs?q=designer`
- Filtered board URL copied from the talent board
- Company page: `https://talent.seedcamp.com/companies/revolut-com`
- Job page: `https://talent.seedcamp.com/companies/seedcamp/jobs/94426887-legal-analyst-associate`

`maxItems` applies **per start URL**. Two URLs with a maximum of 20 can return up to 40 jobs.

### Output

You can download the dataset extracted by Seedcamp Talent & Portfolio Jobs Scraper in JSON, HTML, CSV, or Excel.

```json
{
  "id": "94426887",
  "title": "Legal Analyst/Associate",
  "url": "https://talent.seedcamp.com/companies/seedcamp/jobs/94426887-legal-analyst-associate",
  "applyUrl": "https://seedcamp.com/views/we-are-hiring-a-legal-analyst-associate/",
  "company": "Seedcamp",
  "companySlug": "seedcamp",
  "companyWebsite": "https://seedcamp.com",
  "imageUrl": "https://cdn.getro.com/companies/15c1cf26-ae7c-5140-8a11-23929c155c42-1744805881",
  "location": "London, UK",
  "locations": ["London, UK"],
  "workMode": null,
  "seniority": "associate",
  "employmentType": "full-time",
  "jobFunctions": ["Legal"],
  "skills": ["Legal Research", "Problem Solving"],
  "description": "We’re looking for a resourceful, energetic person to join our team and support our legal work.",
  "postedAt": "2026-09-23T12:52:50.820Z",
  "expiresAt": "2026-12-22",
  "salaryMin": null,
  "salaryMax": null,
  "salaryCurrency": null,
  "salaryPeriod": null,
  "offersEquity": null,
  "companyStage": null,
  "companyHeadcount": 120,
  "industryTags": ["Finance", "Venture Capital"],
  "searchUrl": "https://seedcamp.com/talent"
}
```

### FAQ

#### Is it legal to scrape Seedcamp jobs?

This Actor collects **public job content** shown on the Seedcamp talent board. It does not log in and it does not collect private candidate profiles or application forms. Job posts can still contain personal data, such as a hiring manager's name inside a description. Personal data is protected by the GDPR in the European Union and by other laws elsewhere. Use the data only when you have a legitimate reason, and get advice if you are unsure.

#### Do I need a Seedcamp account?

No. The Actor reads public board pages only. Roles that are not on the public board are not included.

#### Why are some salary fields empty?

Salary is saved only when the listing publishes a range. Many roles leave compensation blank. Empty salary fields are expected.

#### Can I export every open role?

Yes. Raise **Maximum items** above the number of live jobs (the board currently lists on the order of two thousand roles). The limit is per start URL.

#### Where can I get help?

Open the **Issues** tab on the Actor page if a URL returns nothing or a field looks wrong. Feedback there is the fastest way to report a broken page.

### Image Credit

Image credit: [seedcamp.com](https://seedcamp.com/talent)

# Actor input Schema

## `startUrls` (type: `array`):

Seedcamp talent URLs. Use https://seedcamp.com/talent or https://talent.seedcamp.com/jobs for the full board, a filtered jobs URL, a company page such as https://talent.seedcamp.com/companies/revolut-com, or a single job URL.

## `maxItems` (type: `integer`):

Maximum number of jobs to return per start URL.

## `proxyConfiguration` (type: `object`):

Proxy settings. The scraper works without a proxy in most regions.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://seedcamp.com/talent"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://seedcamp.com/talent"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rainminer/seedcamp-com-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 = {
    "startUrls": [{ "url": "https://seedcamp.com/talent" }],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("rainminer/seedcamp-com-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://seedcamp.com/talent"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call rainminer/seedcamp-com-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rainminer/seedcamp-com-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/kvg9YeWf8UAdwbQq0/builds/aGguPKvgWSGxEAcLg/openapi.json
