yc-jobs-scraper
Installation
SKILL.md
YC Jobs Scraper
This skill provides a robust architecture for scraping jobs from YCombinator and workatastartup.com. It is designed to run automatically, bypass login bottlenecks, and maintain state to never scrape duplicate jobs.
Architecture
The scraper uses a hybrid approach to maximize reliability and minimize bot detection:
- Authentication:
scripts/auth.jsuses Playwright to let a human log in once and saves the session toscripts/state.json. - Database:
scripts/db.jsusesbetter-sqlite3to managescripts/jobs.db. It tracks everycompany_slugandjob_idever seen. - Primary Extraction:
scripts/scraper.jsloadsstate.json, visits YC query URLs, and extracts company slugs from the hidden Inertia.jsdata-pageJSON payload. - Job Extraction (JSON): It then visits the authenticated company pages (
/companies/[slug]) to extract jobs from the backend JSON payload to ensure we get the realjob_idfor accurate deduplication. - Job Extraction (Fallback): If the JSON extraction fails, it falls back to parsing public HTML job cards from
ycombinator.com/companies/[slug]/jobs.