[{"data":1,"prerenderedAt":255},["ShallowReactive",2],{"latest-posts":3},[4,156],{"id":5,"title":6,"body":7,"canonicalUrl":139,"category":140,"cover":141,"coverImage":142,"date":143,"description":144,"extension":145,"meta":146,"navigation":147,"path":148,"seo":149,"stem":150,"tags":151,"__hash__":155},"blog\u002Fblog\u002Fscrape-3000-founders.md","Scraping 3,000 YC Founder Profiles With Nothing but curl",{"type":8,"value":9,"toc":134},"minimark",[10,14,17,22,30,86,94,98,120,124,127,130],[11,12,13],"p",{},"Cold outreach starts with a clean list. In one evening, using nothing but curl, I scraped every YC batch from the last two years: 1,546 companies, 3,034 founders, 99.4% LinkedIn coverage.",[11,15,16],{},"No headless browser. No paid API. No proxy pool.",[18,19,21],"h2",{"id":20},"the-key-discovery-the-data-is-right-there-in-the-html","The key discovery: the data is right there in the HTML",[11,23,24,25,29],{},"YC's company detail pages are rendered with Inertia.js, which embeds the full page data as JSON inside a ",[26,27,28],"code",{},"data-page"," attribute. Which means:",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-bash shiki shiki-themes github-light github-dark","curl -s https:\u002F\u002Fwww.ycombinator.com\u002Fcompanies\u002Fxxx \\\n  | grep -o 'data-page=\"[^\"]*\"' \\\n  | # HTML-entity decode → complete JSON\n","bash","",[26,38,39,59,77],{"__ignoreMap":36},[40,41,44,48,52,56],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"sScJk","curl",[40,49,51],{"class":50},"sj4cs"," -s",[40,53,55],{"class":54},"sZZnC"," https:\u002F\u002Fwww.ycombinator.com\u002Fcompanies\u002Fxxx",[40,57,58],{"class":50}," \\\n",[40,60,62,66,69,72,75],{"class":42,"line":61},2,[40,63,65],{"class":64},"szBVR","  |",[40,67,68],{"class":46}," grep",[40,70,71],{"class":50}," -o",[40,73,74],{"class":54}," 'data-page=\"[^\"]*\"'",[40,76,58],{"class":50},[40,78,80,82],{"class":42,"line":79},3,[40,81,65],{"class":64},[40,83,85],{"class":84},"sJ8bj"," # HTML-entity decode → complete JSON\n",[11,87,88,89,93],{},"One pipeline, and you get the company profile, the founder list, and every social link. A lot of sites that look like they \"need Playwright\" have shortcuts like this — ",[90,91,92],"strong",{},"read the page source first, then decide whether to bring out the heavy machinery",".",[18,95,97],{"id":96},"three-engineering-decisions","Three engineering decisions",[99,100,101,108,114],"ol",{},[102,103,104,107],"li",{},[90,105,106],{},"Batch isolation",": ten batches, each with its own directory and its own checkpoint — one failing batch never touches the others",[102,109,110,113],{},[90,111,112],{},"If it can't be verified, mark it not-found",": never pad the numbers. A real 99.4% LinkedIn coverage beats a fake 100%",[102,115,116,119],{},[90,117,118],{},"Machine data physically separated from human notes",": refreshing the database can never clobber my handwritten follow-up notes",[18,121,123],{"id":122},"one-trap-dont-trust-the-tags","One trap: don't trust the tags",[11,125,126],{},"In the W26 and Sp26 batches, 80% of companies have no industry tags at all. Filter by the AI tag and you'll miss most of the real AI companies. The right move is running every company description through a classifier.",[11,128,129],{},"This list is now the first cornerstone of my outreach database, people.db. Next up: the 2,240 makers from Product Hunt.",[131,132,133],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":61,"depth":61,"links":135},[136,137,138],{"id":20,"depth":61,"text":21},{"id":96,"depth":61,"text":97},{"id":122,"depth":61,"text":123},null,"Growth Engineering","sunset","\u002Fimages\u002Fcovers\u002Fscrape-3000-founders.jpg","2026-08-08","No headless browser, no paid database — ten batches, 1,546 companies, 3,034 founders, 99.4% LinkedIn coverage.","md",{},true,"\u002Fblog\u002Fscrape-3000-founders",{"title":6,"description":144},"blog\u002Fscrape-3000-founders",[152,153,154],"Scraping","Outreach","Data Engineering","KIW_HPNorCqv4eSX0XMxLvP3CMI3sNc-Dl8A3_2uGB4",{"id":157,"title":158,"body":159,"canonicalUrl":139,"category":241,"cover":242,"coverImage":243,"date":244,"description":245,"extension":145,"meta":246,"navigation":147,"path":247,"seo":248,"stem":249,"tags":250,"__hash__":254},"blog\u002Fblog\u002Fgeo-is-the-new-seo.md","GEO Is the New SEO: Getting AI Search to Cite Your Brand",{"type":8,"value":160,"toc":236},[161,164,167,171,182,195,202,206,226,230,233],[11,162,163],{},"When a user asks ChatGPT \"what's a good custom merch platform,\" whether your brand shows up in the answer is quickly becoming more important than your Google ranking.",[11,165,166],{},"That's the problem GEO — Generative Engine Optimization — exists to solve.",[18,168,170],{"id":169},"the-rules-of-search-have-changed","The rules of search have changed",[11,172,173,174,177,178,181],{},"Traditional SEO gets ",[90,175,176],{},"people"," to click through to your site; GEO gets ",[90,179,180],{},"models"," to cite you when they generate answers. The optimization logic is completely different:",[183,184,185,188],"ul",{},[102,186,187],{},"SEO optimizes ranking signals: backlinks, keywords, Core Web Vitals",[102,189,190,191,194],{},"GEO optimizes ",[90,192,193],{},"citability",": structured facts, clear entity definitions, AI-crawler accessibility",[11,196,197,198,201],{},"A counterintuitive conclusion: for GEO, a cleanly marked-up FAQ can be worth more than a 10,000-word deep dive — because models cite ",[90,199,200],{},"passages",", not pages.",[18,203,205],{"id":204},"the-three-levers-of-geo","The three levers of GEO",[99,207,208,214,220],{},[102,209,210,213],{},[90,211,212],{},"Let AI crawlers in",": robots.txt allowances for GPTBot, ClaudeBot, and PerplexityBot, plus an llms.txt declaration",[102,215,216,219],{},[90,217,218],{},"Make content citable",": self-contained paragraphs, each able to answer one question on its own",[102,221,222,225],{},[90,223,224],{},"Make your brand an entity",": build a stable brand-category association in authoritative sources",[18,227,229],{"id":228},"why-i-built-fastergeo","Why I built FasterGEO",[11,231,232],{},"The GEO tools on the market are either consulting reports in a trench coat or absurdly overpriced. So I broke the whole methodology down into an open-source toolkit: 11 npm packages plus an MCP server, covering detection, optimization, and monitoring end to end.",[11,234,235],{},"Building in public — all the code is on GitHub.",{"title":36,"searchDepth":61,"depth":61,"links":237},[238,239,240],{"id":169,"depth":61,"text":170},{"id":204,"depth":61,"text":205},{"id":228,"depth":61,"text":229},"SEO \u002F GEO","mint","\u002Fimages\u002Fcovers\u002Fgeo-is-the-new-seo.jpg","2026-08-05","The traffic entry point is moving from the search box to the chat box. Here's how GEO works, and why I built FasterGEO.",{},"\u002Fblog\u002Fgeo-is-the-new-seo",{"title":158,"description":245},"blog\u002Fgeo-is-the-new-seo",[251,252,253],"GEO","AI Search","FasterGEO","s-X7Czg79AcqNMgyAZQkjuKXhcQS8kLIcgp8Gioegf0",1786449564245]