Startup.jobs Scraper avatar

Startup.jobs Scraper

Pricing

from $1.00 / 1,000 listing scrapeds

Go to Apify Store
Startup.jobs Scraper

Startup.jobs Scraper

Extract job listings from Startup.jobs — titles, companies, salaries, locations, descriptions, and application links. Filter by keyword and location. Export as JSON, CSV, Excel. Pay per result.

Pricing

from $1.00 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Startup.jobs Scraper — Extract Job Listings, Salaries & Company Data

Extract structured job listings from Startup.jobs — the leading startup job board with thousands of active postings from fast-growing technology companies. Search by keyword, location, and workplace type. Get job titles, company details, salary ranges, descriptions, and application links. Export as JSON, CSV, or Excel.

Search by keyword and location, collect up to 500 job listings per run with 24 structured data fields — including salary ranges, job descriptions, employment type, company info, and direct application links. Two-tier pricing: $1/1,000 for listings, $1.50/1,000 with full details.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Apify Actor: parsebird/startup-jobs-scraper — extracts job listings from Startup.jobs. $0.001/listing ($1/1000) or $0.0015/detail ($1.50/1000). Call via ApifyClient: client.actor("parsebird/startup-jobs-scraper").call(run_input={"keyword": "software engineer", "location": "Remote", "collectDetails": False, "results_wanted": 20}). Inputs: keyword (string, search term), location (string, default "Remote"), startUrl (string, optional override URL), collectDetails (boolean, default false, fetch full descriptions), results_wanted (integer, default 20, max 500). Output: dataset with id, title, company, location, job_type, salary, posted_at, description_text, description_html, company_logo, apply_link, url, tags, workplace_type, employment_type, salary_min, salary_max, salary_currency, city, country, company_slug, fetched_at. API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations

What is Startup.jobs Scraper?

Startup.jobs Scraper is an Apify Actor that extracts job listings from Startup.jobs — a popular job board focused on startup and technology companies. It collects structured data including job titles, company names, salary ranges, locations, full job descriptions, and application links.

This actor uses a hybrid approach — a stealth browser bypasses Cloudflare protection and captures API credentials, then queries the Algolia search API directly for fast, paginated results. When collectDetails is enabled, detail pages are enriched via browser for full descriptions and apply links. Clean, structured data ready for analysis, monitoring, or integration.

Startup.jobs Scraper is a cost-effective alternative to building your own Startup.jobs data pipeline — no coding, infrastructure, or maintenance required.

What can Startup.jobs Scraper do?

  • 🔍 Keyword search — Find jobs by role, skill, or technology (e.g. "software engineer", "product manager", "data scientist")
  • 📍 Location filtering — Filter by "Remote" for remote-first positions, or search all locations
  • 📄 Full description enrichment — Optionally fetch complete job descriptions and application links from detail pages
  • 💰 Salary data — Extract salary ranges with currency and interval when published by employers
  • 🏢 Company details — Company name, logo URL, and slug for each listing
  • 🏷️ Tags and categories — Role tags, employment type, workplace type, and experience level
  • Fast hybrid extraction — Algolia API for listings, browser for detail enrichment
  • 📊 Up to 500 results per run — Automatic pagination through listing pages
  • 🔗 Direct application links — Get the apply URL for each job listing (with collectDetails)
  • 📅 Scheduling support — Set up recurring runs to monitor new job postings daily or weekly

What data can you extract from Startup.jobs?

FieldTypeDescription
idstringUnique job identifier from Startup.jobs
titlestringJob title (e.g. "Senior Full Stack Engineer")
companystringHiring company name
locationstringJob location or remote status
job_typestringEmployment type — Full Time, Part Time, Contract, Internship
salarystringFormatted salary range (e.g. "USD 150,000 - 200,000 per year")
posted_atstringJob publish timestamp (ISO 8601)
description_textstringPlain text job description (when collectDetails is enabled)
description_htmlstringRich HTML job description (when collectDetails is enabled)
company_logostringCompany logo image URL
apply_linkstringDirect application URL (when collectDetails is enabled)
urlstringJob listing page URL on Startup.jobs
tagsarrayRole and topic tags (e.g. ["Engineer", "Full Stack", "Senior"])
workplace_typestringRemote, Hybrid, or On-site
salary_min / salary_maxnumberNumeric salary bounds for analysis
salary_currencystringCurrency code (USD, EUR, GBP, etc.)
city / countrystringStructured location fields
company_slugstringCompany URL slug on Startup.jobs

How to scrape Startup.jobs

  1. Go to Startup.jobs Scraper on Apify Store and click Try for free
  2. Enter a search keyword — type a job title, skill, or role you're looking for (e.g. "software engineer")
  3. Set the location — enter "Remote" for remote jobs, or leave it to get all locations (default: Remote)
  4. Choose whether to collect details — enable "Collect Job Details" to get full descriptions and apply links (disabled by default to keep costs low)
  5. Set your limit — adjust "Max Results" (default 20, max 500)
  6. Click Start — the scraper begins extracting job listings immediately
  7. Download your data — export results as JSON, CSV, Excel, or access them via the Apify API

Input parameters

ParameterTypeRequiredDefaultDescription
startUrlstringNoCustom Startup.jobs listing URL. Overrides keyword and location filters when provided
keywordstringNo""Search phrase — job title, skill, or role keywords
locationstringNo"Remote"Location filter. Use "Remote" for remote jobs, or enter a city/country
collectDetailsbooleanNofalseFetch full job descriptions and application links from detail pages. Costs $1.50/1,000 vs $1/1,000 without
results_wantedintegerNo20Maximum number of job listings to collect (1–500)

Output example

{
"id": "6654883",
"title": "Senior Full Stack Engineer",
"company": "Solace",
"location": "Remote",
"job_type": "Full Time",
"salary": "USD 150,000 - 200,000 per year",
"posted_at": "2026-01-22T16:50:47Z",
"description_text": "As a Full Stack Engineer, you'll join a talented team and own delivery from requirements through release...",
"description_html": "<div class=\"trix-content\">...</div>",
"company_logo": "https://startup.jobs/logos/34127",
"apply_link": "https://startup.jobs/apply/4cec53b4-9d8e-4ce7-989b-b9f0e163de13",
"url": "https://startup.jobs/senior-full-stack-engineer-solace-6654883",
"source": "listing+details",
"fetched_at": "2026-02-14T05:28:50.151Z",
"tags": ["Engineer", "Full Stack", "Senior"],
"workplace_type": "Remote",
"employment_type": "full-time",
"experience_bucket": null,
"salary_min": 150000,
"salary_max": 200000,
"salary_currency": "USD",
"city": null,
"country": "United States",
"company_slug": "solace"
}

How to use Startup.jobs Scraper with the API

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("parsebird/startup-jobs-scraper").call(run_input={
"keyword": "software engineer",
"location": "Remote",
"collectDetails": False,
"results_wanted": 50,
})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
salary = job.get("salary") or "Not listed"
print(f"{job['title']} at {job['company']}{salary}")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('parsebird/startup-jobs-scraper').call({
keyword: 'software engineer',
location: 'Remote',
collectDetails: false,
results_wanted: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(job => {
const salary = job.salary || 'Not listed';
console.log(`${job.title} at ${job.company}${salary}`);
});

How much does it cost to scrape Startup.jobs?

Startup.jobs Scraper uses Pay-Per-Event pricing with two tiers depending on whether you collect job details.

EventWhat you getPrice per eventPrice per 1,000
listing-scrapedJob title, company, salary, location, tags, URL$0.001$1.00
detail-scrapedEverything above + full description, HTML, apply link$0.0015$1.50

Typical costs (listings only, collectDetails: false):

  • 20 jobs (default run): ~$0.02
  • 100 jobs: ~$0.10
  • 500 jobs (max per run): ~$0.50

Typical costs (with details, collectDetails: true):

  • 20 jobs: ~$0.03
  • 100 jobs: ~$0.15
  • 500 jobs: ~$0.75

New Apify users get a free trial with $5 of platform credits — enough to scrape thousands of job listings at no cost.

Use cases

  • Talent intelligence — Track hiring demand across startup roles, locations, and seniority levels. Build weekly trend snapshots for leadership and recruiting teams
  • Recruitment operations — Automate candidate sourcing by collecting new openings and role attributes. Reduce manual job-board monitoring effort
  • Compensation research — Analyze salary ranges by function, seniority, and market. Support compensation benchmarking with structured salary data
  • Job alert platforms — Feed job records into internal dashboards, notification systems, or matching algorithms
  • Market research — Monitor role requirements, tech stacks, and company hiring patterns over time. Identify trends in startup hiring strategies
  • Academic research — Study startup labor market dynamics, remote work adoption, and salary distribution patterns

Integrations and export formats

Connect Startup.jobs Scraper output with your existing tools:

  • Google Sheets — Automatically sync job data to a spreadsheet for team collaboration
  • Airtable — Build searchable hiring intelligence tables
  • Zapier — Trigger notifications, CRM updates, or Slack alerts when new jobs match your criteria
  • Make — Automate downstream workflows and data pipelines
  • Webhooks — Deliver fresh results to your own API endpoints

Export formats: JSON, CSV, Excel, XML — download directly from the Apify Console or via the API.

FAQ

How fresh is the data? Data is extracted live from Startup.jobs at the time of each run. Schedule recurring runs to keep your dataset up to date — daily, weekly, or at any interval.

Can I get full job descriptions? Yes. Enable collectDetails to fetch the full job description text and HTML from each detail page. This costs $1.50/1,000 jobs vs $1/1,000 for listings only.

Why are some salary fields empty? Not all employers publish salary information on Startup.jobs. When salary data is not available, the salary, salary_min, salary_max, and salary_currency fields will be null.

Can I filter by employment type or workplace type? The keyword field accepts any search term — you can use it to target specific employment types (e.g. "part-time data analyst"). The location filter set to "Remote" automatically filters for remote-only positions via the Algolia search API.

How many jobs can I scrape per run? Up to 500 jobs per run using the results_wanted parameter. The scraper automatically paginates through as many pages as needed. For larger collections, schedule multiple runs with different keywords.

Can I use a custom Startup.jobs URL? Yes. Paste any Startup.jobs listing URL into the startUrl field — it overrides the keyword and location filters. This is useful for scraping specific search result pages or filtered views.

Does this scraper need proxies? No proxies are required for basic usage. The scraper uses a stealth browser to bypass Cloudflare protection and then queries the Algolia search API directly. On Apify, it runs without additional proxy configuration.

Can I access the data via API? Yes. Use the Apify API to start runs, retrieve results, and integrate Startup.jobs data into your own applications. See the Python and JavaScript examples above.

Something not working? Have a feature request? Open an issue in the Issues tab — we respond to all reports.

This Actor extracts publicly available job listing data from Startup.jobs — the same information any visitor can see in their browser. It does not bypass authentication, access private data, or violate CAPTCHA protections.

Web scraping of publicly available data is generally considered legal in the United States and European Union, as affirmed by the US Ninth Circuit ruling in HiQ v. LinkedIn. However, users are responsible for ensuring their use of extracted data complies with applicable laws, regulations, and the target website's Terms of Service.

For more context, see Apify's guide: Is web scraping legal?

Other job scrapers on Apify

Looking for job data from other platforms? Check out these ParseBird scrapers: