App Logo
ycombinator.com

Search YC startup directory

TL;DR

Automatically search YC startup directory on ycombinator.com. Pull YC companies by batch, tag, region or hiring status with websites and team sizes.

About

Send the filters as JSON and get back plain rows for each matching company, with website, oneLiner, batch, teamSize, isHiring and tags. A free-text query is accepted too. Say you sell an API monitoring product to young developer tool startups. You ask for tag "Developer Tools", batches "Spring 2026" and "Summer 2026" and isHiring true, which should fit on one page at the default 40 rows. Sort by teamSize, keep the rows under 15 people, and open each company's url to find the founders before you write to anyone. The directory's company size filter is not exposed here, so size is something you trim after the fetch. Values inside one filter are OR'd, and separate filters are AND'd. The script reads the search key from the directory page on each run and queries the search index directly, so no YC account is needed.

Input

tag optional

Tags, e.g. ["Artificial Intelligence","SaaS","Developer Tools"]. OR within the list.

page optional

Zero-based page index. Loop it up to nbPages-1 to fetch everything.

Default: 0
batch optional

Filter to these YC batches, e.g. ["Summer 2023","Winter 2024"]. OR within the list.

count optional

Alias for hitsPerPage — results per page. Takes precedence over hitsPerPage when both are set.

query optional

Free-text search (company name, description, tags). Empty = browse the whole directory.

Default: ""
region optional

HQ regions, e.g. ["United States of America","Europe","Remote"]. OR within the list.

status optional

Company status. OR within the list.

industry optional

Top-level industry categories, e.g. ["Fintech","B2B","Healthcare"]. OR within the list.

isHiring optional

Only companies currently hiring (true filters; false/omitted = no filter).

nonprofit optional

Only nonprofits (true filters; false/omitted = no filter).

topCompany optional

Only YC top companies (true filters; false/omitted = no filter).

hitsPerPage optional

Results per page (Algolia caps at 1000). Alias: count.

Default: 40

Output

page required
total required

Total matches across all pages.

nbPages required
companies required
hitsPerPage optional

Example output

Shape only: placeholder values generated from the output schema, not a real run.

{ "page": 1, "total": 3, "nbPages": 3, "companies": [ { "id": "abc123", "url": "https://example.com/item/123", "name": "Example", "slug": "…", "tags": [ "…" ], "batch": "…", "stage": "…", "status": "…", "logoUrl": "https://example.com/item/123", "regions": [ "…" ], "website": "…", "industry": "…", "isHiring": true, "location": "…", "oneLiner": "…", "teamSize": 3, "nonprofit": true, "industries": [ "…" ], "launchedAt": "2026-01-15T09:30:00Z", "topCompany": true, "subindustry": "…", "longDescription": "…" } ], "hitsPerPage": 3 }

FAQ

Search the YC startup directory (ycombinator.com/companies) by free-text query plus filters such as batch, industry, tag, region, status, and top/hiring/nonprofit; each multi-value filter is OR'd within itself. Zero-based pagination.
Ask an AI agent connected to Reduck to run reduck/ycombinator.com/search_companies, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/ycombinator.com/search_companies
You do not need one. "Search YC startup directory" drives the real ycombinator.com pages in a browser, so it works whether or not ycombinator.com offers an API for this.
Optional: tag, page, batch, count, query, region, status, industry, isHiring, nonprofit, topCompany, hitsPerPage.
It returns page, total, nbPages, companies, hitsPerPage.
No. It only uses pages of ycombinator.com that are reachable without signing in.
Unknown: its author has not declared whether it changes anything on ycombinator.com, so treat it as if it could.
Ask an AI agent connected to Reduck to run reduck/ycombinator.com/search_companies, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/ycombinator.com/search_companies
It is part of Reduck's official curated catalogue.
Run one search per batch with count set to 1000 and read total and nbPages in each response. The schema notes that the search index caps a page at 1000 results, so paging one unfiltered query through the whole directory is the wrong approach. Splitting by batch keeps each query small, and you can merge the rows afterwards using the id field.
Filter values are matched as exact text against the directory's labels, so "W24" finds nothing while "Winter 2024" works. A misspelled tag, industry or region behaves the same way and gives an empty companies list rather than an error.
There is no team size input. Every result carries teamSize as a number, which can be null, so fetch the batch or tag you want and filter the rows afterwards, for example keeping teamSize of 10 or less.
No. isHiring, topCompany and nonprofit only filter when set to true, and leaving them out means no constraint. To find companies that are not hiring, fetch without isHiring and drop the rows where isHiring is true.

Start building not clicking