Lenny's Jobs Scraper avatar

Lenny's Jobs Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Lenny's Jobs Scraper

Lenny's Jobs Scraper

Scrape Lenny's Jobs for tech roles, companies, locations, experience levels, posting dates, company stages, valuations, technologies, and application links.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

LIAICHI MUSTAPHA

LIAICHI MUSTAPHA

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Lenny's Jobs Scraper logo

Structured technology job data, ready for search, analysis, and automation.

Extract structured technology job listings from Lenny's Jobs. Filter by keywords, location, job category, experience level, and posting date, then export the results as JSON, CSV, Excel, XML, or RSS through Apify.

Features

  • Extracts job titles, companies, locations, remote status, and application links
  • Captures job categories, experience levels, employment types, and posting dates when available
  • Includes company stage, valuation, salary range, investors, technologies, and descriptions from public page data
  • Supports keyword, location, category, level, and date filters
  • Removes duplicate listings automatically
  • Saves run diagnostics to the key-value store for monitoring
  • Uses browser rendering for the JavaScript-driven job feed

Use Cases

  • Monitor new product, engineering, design, growth, and AI roles
  • Build curated startup and technology job alerts
  • Research hiring demand across company stages and locations
  • Track remote-work and seniority trends
  • Enrich recruiting, talent intelligence, and labor-market datasets
  • Feed job data into n8n, Make, Zapier, Airtable, or a data warehouse

Input

The default input collects up to 25 recent jobs. The Store prefill uses 10 jobs and two loading rounds so Apify's automated quality test can finish quickly.

{
"keywords": ["product manager", "AI"],
"locations": ["Remote", "United States"],
"categories": ["Product"],
"levels": ["Senior"],
"postedWithinDays": 30,
"maxItems": 100,
"scrollRounds": 8,
"includeDescription": true
}
FieldTypeDefaultDescription
keywordsstring[][]Match the title, company, category, description, or technologies
locationsstring[][]Match locations or remote status
categoriesstring[][]Match job categories
levelsstring[][]Match experience levels
postedWithinDaysinteger30Keep recent jobs; use 0 to disable
maxItemsinteger25Maximum number of saved jobs
scrollRoundsinteger4Number of feed-loading scrolls
includeDescriptionbooleantrueInclude descriptions when available
proxyConfigurationobjectdirectOptional Apify Proxy settings
failOnEmptybooleanfalseFail empty runs for monitoring workflows

Output

Each dataset item follows a stable normalized structure. Fields unavailable in the source are returned as null or an empty array.

{
"job_title": "Senior Product Manager",
"company_name": "Example AI",
"location": "San Francisco, CA / Remote",
"remote_status": "Remote",
"employment_type": "Full-time",
"experience_level": "Senior",
"job_category": "Product",
"date_posted": "2026-08-20T10:00:00.000Z",
"company_stage": "Series B",
"company_valuation": "$1B",
"company_industry": "Enterprise AI",
"salary_min": 180000,
"salary_max": 230000,
"investors": ["Example Ventures"],
"technologies": ["SQL", "Python"],
"description": "Build AI-powered products for enterprise teams...",
"job_url": "https://www.lennysjobs.com/jobs/example-ai/senior-product-manager",
"company_url": "https://example.ai/",
"source": "Lenny's Jobs",
"scraped_at": "2026-08-21T12:00:00.000Z"
}

How to Use

  1. Open the Actor in Apify Console.
  2. Add optional filters or keep the prefilled defaults.
  3. Click Start.
  4. Open the Dataset tab to preview or download the jobs.
  5. Use the API, schedules, or integrations to automate recurring collection.

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("USERNAME/lennys-jobs-scraper").call(run_input={
"keywords": ["product manager", "AI"],
"locations": ["Remote"],
"maxItems": 100,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["job_title"], item["company_name"], item["job_url"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('USERNAME/lennys-jobs-scraper').call({
keywords: ['product manager', 'AI'],
locations: ['Remote'],
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Integrations

Send the dataset to Google Sheets, Slack, webhooks, Make, Zapier, or your own API. For recurring alerts, create an Apify Task with saved filters and attach a schedule or webhook.

Pricing

Your run cost depends mainly on browser runtime and memory usage. Start with a small maxItems value, then increase maxItems and scrollRounds only when you need broader coverage. Apify displays the exact platform cost for every run.

Limitations

  • The Actor extracts public data available on Lenny's Jobs; field availability varies by listing.
  • The source is JavaScript-driven and may occasionally be unavailable.
  • Filters are applied to the jobs loaded during the run, not to every job in the source database.
  • Website changes can require updates to field aliases or extraction fallbacks.

FAQ

Does this Actor require a login?

No. It reads public job listings and does not use account credentials.

Can I collect only remote roles?

Yes. Add Remote to locations.

Can I monitor newly posted jobs?

Yes. Save the input as an Apify Task, set postedWithinDays to a small value, and run it on a schedule.

Why are some fields null?

Not every listing exposes salary, company funding, valuation, technologies, employment type, or a description.

What happens when no jobs match?

The default run succeeds and writes the reason to STATS. Set failOnEmpty to true when an empty result should trigger monitoring alerts.

Is this Actor affiliated with Lenny's Jobs, Lenny Rachitsky, or TrueUp?

No. This is an independent data-extraction tool for public information.

Responsible Use

Use the Actor in accordance with applicable laws, the source website's terms, and privacy requirements. Avoid excessive run frequency and do not use the data for spam or discriminatory employment decisions.