Y Combinator Companies Scraper - Founders & New Startups avatar

Y Combinator Companies Scraper - Founders & New Startups

Pricing

from $10.00 / 1,000 company returneds

Go to Apify Store
Y Combinator Companies Scraper - Founders & New Startups

Y Combinator Companies Scraper - Founders & New Startups

Company data from Y Combinator company pages: batch, status, team size, location, tags, website, social links and founders with LinkedIn URLs. Read a list, filter the whole directory, or monitor it and get only newly listed startups.

Pricing

from $10.00 / 1,000 company returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 days ago

Last modified

Share

Company data from the public Y Combinator company pages (ycombinator.com/companies/<slug>), one row per company: name, batch, status, one-liner, website, team size, year founded, location, country, tags, description, social links, group partner and the founders shown on the page with their titles, bios and public LinkedIn / X links.

Three ways to use it:

  1. A list - paste company page addresses or slugs and get one row for each.
  2. The whole directory with filters - the Actor takes the company list from YC's public sitemap (about 6,300 company pages on 2026-10-05), opens the pages and returns the companies that match your filters (batch, status, country, tag, team size).
  3. Monitoring - run it on a schedule and get only the companies newly added to the directory since the last run.

No login, no cookies. Only what the public company page shows is returned; nothing is added from other sources, so there are no email addresses.

What you get

ColumnMeaning
name, slug, companyId, ycUrlThe company, its slug in the directory, YC's numeric ID and the page address
batch, batchCodeBatch as written on the page (Winter 2009) and its short form (W09)
ycStatusStatus as written on the page (Active, Public, Acquired, Inactive)
oneLiner, longDescriptionThe one-line pitch and the description
websiteCompany website
teamSize, yearFoundedAs shown on the page
location, city, countryLocation text, city and two-letter country code
tagsIndustry tags on the page
founderNames, founderCount, foundersFounders listed on the page; each entry in founders has name, title, bio, linkedinUrl, twitterUrl, isActive
groupPartner, groupPartnerUrlThe YC group partner named on the page
linkedinUrl, twitterUrl, facebookUrl, crunchbaseUrl, githubUrlCompany links on the page
smallLogoUrlSmall logo image
sitemapLastModifiedThe page's last-modified date in YC's sitemap (whole-directory and monitoring runs)
change, previousCheckedAtMonitoring runs only: new-company, and the time of the earlier run that last recorded companies for these filters (the first run, or the last run that found a new page)
input, scrapedAt, statusWhat you typed, when the page was read, ok for a company row

A value that is not on the page is null, never 0 or an empty string. Team size, status and location are what the company page shows at the moment of the read; YC and the companies update them at their own pace.

Before a row is returned, the slug the page itself reports is compared with the slug that was requested. If they differ, no data is returned for that line (a free slug-mismatch row instead).

Input

  • companies - one per line: https://www.ycombinator.com/companies/airbnb or just airbnb. Up to 1,000 lines. When this is filled in, only these companies are read; the options below are not applied.
  • allCompanies - read the directory from its sitemap, most recently updated pages first.
  • batches, statuses, countries, tags, minTeamSize, maxTeamSize - filters for the whole-directory and monitoring modes. Inside one filter any value may match; different filters must all match. They are written as on the company page (Winter 2025 or W25, Active, US, Fintech) and are not case-sensitive. A company with no team size on its page does not match a team-size filter.
  • maxCompanies - stop when this many companies have been returned (default 100).
  • maxPagesToRead - stop after reading this many company pages, matched or not (default 1,000, at most 10,000 per run).
  • monitoringMode, resetMonitoringState - see below.
  • useProxy - requests go directly to www.ycombinator.com; a residential proxy is tried once per refused request, at most three times in a run, only when the site answers HTTP 403 or 429. After a refusal the run stops sending requests and says what it did not read.

The filters are applied to each company page after it has been read: YC's filtered directory list (/companies?...) is disallowed by its robots.txt and is not used. That is why a filtered run reads more pages than it returns, and why pages that did not match have a small charge (below).

Monitoring mode

Turn monitoringMode on, leave companies empty, and schedule the Actor.

  • The first run with a given set of filters only remembers the company pages listed in the sitemap at that moment. It reads no company page, returns one free baseline-saved row and charges nothing. To get the companies that are already listed, run once with monitoring off.
  • Later runs read only the company pages that were not in the sitemap before. Those that match your filters come back as rows with change: "new-company".
  • Every later run is charged one monitoring check (sitemap-checked) for reading the sitemap and comparing it with the remembered pages. A run with no new company page returns one free no-new-companies row and is charged only that check.
  • A new company that could not be read, or that was cut off by maxCompanies, maxPagesToRead or a charge limit, is not remembered; it still counts as new.

Companies are remembered per set of filters, so two schedules with different filters do not affect each other. Do not run two schedules with the same filters at the same moment: the platform's key-value store has no atomic update, so two runs finishing together can overwrite each other's record and return the same company twice.

Monitoring detects pages that are new in the sitemap. A company that already existed and whose page moved to a new slug appears as a new page too (use batch and yearFounded to tell). If a run finds that more than a quarter of the sitemap is not remembered, it treats the earlier record as incomplete: it reads nothing, charges nothing and asks for a reset. It does not report changes to a company that was already listed (a new team size, a status change).

What is charged

  • company-returned - one per company row.

  • company-checked - whole-directory and monitoring modes only: one per company page that was read but does not match your filters. A run with no filter, and a run on a list of companies, never charge this.

  • sitemap-checked - monitoring mode only: one per run that read the sitemap and compared it with the remembered company pages. The first monitoring run (which only remembers the current list) is not charged.

There is no start fee and no monthly fee. Rows that explain why nothing was returned are free: no-such-company, slug-mismatch, invalid-input, duplicate-input, unreadable, blocked, robots-disallowed, no-match, no-new-companies, baseline-saved, not-read, budget-reached.

A filtered run over the whole directory reads every page until maxCompanies or maxPagesToRead is reached, so its cost is bounded by maxPagesToRead: each page read is charged once, either as a row or as a check. If you set a maximum total charge for a run, the Actor reads a page only while the limit has room for it, and adds a free not-read row saying how many pages it did not read.

How it reads

  • robots.txt of www.ycombinator.com is read at the start of every run and followed (rules for User-agent: *). Only /companies/sitemap.xml and /companies/<slug> are requested.
  • Two requests at a time with a pause between them; a failed request is retried once.
  • If a page is refused (HTTP 403 / 429 or a verification page), or three pages in a row cannot be read, the run stops sending requests and reports what it did not read.
  • A full pass over the directory takes roughly an hour; raise the run timeout if you read more than a few thousand pages in one run.

Limits

  • Data comes only from company pages. Jobs, news and launch posts are not included.
  • The filters need each page to be read; there is no faster path for "all companies of one batch".
  • This Actor is not affiliated with or endorsed by Y Combinator. You are responsible for how you use the data, including Y Combinator's terms of use and privacy laws that apply to the founder names and profile links.

Thanks for using this Actor

We build these tools for people who run them every day, and we improve them from what users tell us.

  • Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
  • Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.

If this Actor saved you time, a short review helps other people find it.