Y Combinator Companies, Batches & Founders
Pricing
from $0.30 / 1,000 company returneds
Y Combinator Companies, Batches & Founders
Scrape the Y Combinator startup directory as data. One row per company: name, website, one-liner, description, batch (W25), status, industry, tags, team size, region, launch date — filtered by batch, industry, status, region or keyword. Optionally adds founders and socials. No API key, no login.
Pricing
from $0.30 / 1,000 company returneds
Rating
0.0
(0)
Developer
Insight Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
The whole Y Combinator startup directory as a flat table. Every YC company — around 6,200 of them, from Summer 2005 to the current batch — with its name, website, one-liner, full description, batch, status, industry, tags, team size, region, location and launch date. Filter by batch (W25, S24), by industry, by status, by region, by tag, by whether the company is hiring, or by a full-text search across everything they wrote about themselves. Turn on includeFounders and each row also carries its founders with their LinkedIn and X profiles, the company's socials, the year it was founded, and its recent press.
No API key. No login. No scraping of anything a logged-out visitor cannot see. $0.50 per 1,000 companies, proxy included — the entire directory is about $3 — companies that could not be read are free, and a run that returns nothing costs nothing at all.
Try it in 30 seconds
Input — this is the Store prefill; paste it and run:
{"batches": ["Winter 2025"],"maxCompanies": 500}
One batch, every company in it, four HTTP requests, a few seconds. W25 reaches the same batch, and so does Winter 2025.
Want all of it? {"maxCompanies": 10000} with no filters at all returns the whole directory. Want a slice? {"industries": ["Fintech"], "statuses": ["Active"], "isHiring": "yes"}. Want to search? {"queries": ["AI agents"]}.
Output — one row per company; the fields you will use most are name, batch, status, website and oneLiner (full list under Output reference). Anything that could not be read comes back as a free diagnostic row (ok: false, errorType, error) instead of a charge.
Price — $0.50 per 1,000 companies on the FREE tier (+ $0.001 per run, charged only after the first paid row); volume tiers are Scale $0.40 and Business $0.30 per 1,000, founder rows are $0.25 per 1,000, and a batch or industry name that does not exist, a filter set that matched nothing, a company page that has gone, a company the run never reached and a request the site blocked are all free. Pay-per-event, no API key, no browser, limited permissions — works over the Apify MCP server (mcp.apify.com) and with agentic (x402) payments.
From code — client.actor("insight.solutions/yc-companies-directory").call(run_input={…}) with apify-client, or POST https://api.apify.com/v2/acts/insight.solutions~yc-companies-directory/run-sync-get-dataset-items.
What comes back
One company row per company:
{"ok": true,"rowType": "company", // "company" | "founder" | "diagnostic""id": 271, // YC's own numeric ID — the join key"name": "Airbnb","slug": "airbnb","url": "https://www.ycombinator.com/companies/airbnb","website": "http://airbnb.com","oneLiner": "Book accommodations around the world.","description": "Founded in August of 2008 and based in San Francisco, California, Airbnb is a trusted community marketplace for people to list, discover, and book unique accommodations around the world…","batch": "Winter 2009","batchShort": "W09", // YC's own abbreviation"status": "Public", // "Active" | "Acquired" | "Public" | "Inactive""stage": "Growth", // "Early" | "Growth""industry": "Consumer","industries": ["Consumer", "Travel, Leisure and Tourism"],"subindustry": "Consumer -> Travel, Leisure and Tourism","tags": ["Marketplace", "Travel"],"regions": ["United States of America", "America / Canada"],"location": "San Francisco, CA, USA","teamSize": 6132,"launchedAt": "2012-01-17T09:00:56.000Z","isHiring": false,"topCompany": true, // YC's own "top company" flag — 91 of 6,213"nonprofit": false,"formerNames": [], // every name it traded under before this one"logoUrl": "https://bookface-images.s3.amazonaws.com/small_logos/3e9a0092…png","position": 2,"query": null,"batchFilter": "Winter 2009","source": "index", // "index" | "both" (both = its page was read too)"scrapedAt": "2026-09-11T21:13:01.000Z","sourceUrl": "https://www.ycombinator.com/companies/airbnb"}
With includeFounders: true the same row also carries:
{"founders": [{ "name": "Brian Chesky", "title": "Founder/CEO", "linkedin": "https://www.linkedin.com/in/brianchesky/", "twitter": "https://twitter.com/bchesky" },{ "name": "Nathan Blecharczyk", "title": "Founder/CTO", "linkedin": "https://www.linkedin.com/in/blecharczyk/", "twitter": "https://twitter.com/nathanblec" },{ "name": "Joe Gebbia", "title": "Founder/CPO", "linkedin": "https://www.linkedin.com/in/jgebbia/", "twitter": "https://x.com/jgebbia" }],"founderNames": "Brian Chesky, Nathan Blecharczyk, Joe Gebbia", // for spreadsheets"founderCount": 3,"yearFounded": 2008, // often earlier than the batch"city": "San Francisco","country": "US","linkedin": "https://www.linkedin.com/company/airbnb/","twitter": "https://twitter.com/Airbnb","facebook": "https://www.facebook.com/airbnb/","crunchbase": "https://www.crunchbase.com/organization/airbnb","github": null,"jobPostingCount": 0,"newsItems": [ // YC's own curated press list, up to 10{ "title": "Airbnb launches Airbnb Rooms listing category for budget travel", "url": "https://www.usatoday.com/…", "date": "May 03, 2023" }],"source": "both"}
Add founderRows: true and each founder also gets a row of their own — company, companySlug, batch, name, title, linkedin, twitter — for when the person is your unit of analysis rather than the company.
Every row carries the same columns, so companies, founders and diagnostics export as one rectangular table.
Use cases
- The complete YC list, kept fresh. One scheduled run gives you every company YC has funded, keyed on
id, with alaunchedAtyou can diff. New batches appear automatically — the Actor reads the batch list from the directory itself rather than from a list baked into its code. - Sourcing and lead generation. 6,200 venture-backed companies with website, team size, stage, industry and location, filtered to the slice you sell to.
teamSizeplusbatchis a decent proxy for "big enough to buy, young enough to move". - Recruiting.
isHiring: "yes"is about 1,500 companies at any moment;includeFoundersaddsjobPostingCountand the founders' LinkedIn profiles. That is a candidate-side or a client-side pipeline, depending which way you are facing. - Market maps and competitor scans.
queries: ["AI agents"]searches every company's own description, not just its name. Cross it withbatchesand you get the shape of a category over time. - Survivorship-free research. The directory lists over a thousand
Inactivecompanies — YC's word for shut down — alongside 23 that went public. Most public "YC list" datasets quietly drop the failures.statuses: ["Inactive"]is the other half of the story. - Founder research.
founderRows: trueturns the directory into a table of several thousand YC founders with their titles and their public profiles. - Enrichment.
formerNamesis the field that reconciles YC's records against a CRM written three rebrands ago.
How it works, and why it keeps working
The YC directory is a React front end over a public Algolia search index. The search-only key that authorises it is handed to the browser in the page itself, and YC rotates it — the key that older public scrapers pass around answers Invalid Application-ID or API key today.
So this Actor reads the key from the page, every run, before it does anything else:
| Step | What it reads | Shape |
|---|---|---|
| 1. Key discovery | ycombinator.com/companies | HTML carrying window.AlgoliaOpts = {"app":…,"key":…} |
| 2. Vocabulary | the index, hitsPerPage: 0 | JSON. Every batch, industry, status, region and tag that exists, with counts — about 2 KB |
| 3. Search | the index | JSON. Up to 1,000 hits per query, with every field on this page's sample row |
| 4. Company page (opt-in) | ycombinator.com/companies/<slug> | HTML with an Inertia data-page JSON blob: founders, socials, news |
Three things catch a naive scraper here, and all three are handled:
The key is not yours to keep. If the page stops carrying it, the run finishes with zero results, an unavailable diagnostic row explaining exactly that and a status message naming the missing key, and bills nothing. It does not fall back to a stale key and return an empty dataset that looks like "YC has no companies".
Algolia will not serve past the 1,000th hit of any query. Ask for page 5 at 1,000 per page and you get HTTP 200, zero hits and a polite message about paginationLimitedTo. Most tools that scrape this directory silently stop at 1,000 companies. This one reads the batch facet's counts and runs one query per batch — 50 of them, merged and de-duplicated by company ID — because every batch YC has ever run is under 400 companies. That is how a no-filter run returns all 6,213 in about fifty requests.
A typo in a filter looks exactly like an empty result. Every batch, status, industry, region and tag you pass is checked against the list the directory itself returned seconds earlier. W205 does not silently return nothing; it produces a free invalid-input row saying "W205" is not a known batch. Did you mean "Winter 2025"?
Underneath: Apify proxy (datacenter by default — both endpoints answer it happily), one pinned session per parallel worker, 250–600 ms between a worker's requests. When an endpoint refuses an exit IP — HTTP 429 or 403 — that session is retired and the same request goes out once more from a different address. Retrying on an address that was just refused only deepens the block, so it is never done. If the second address is refused too, that batch stops, every row already delivered is kept, and one free blocked row says where it stopped.
How it compares
- It reads the whole directory, not the first thousand. The 1,000-hit ceiling is the single thing that separates a complete YC dataset from a truncated one, and partitioning by batch is the only way past it that does not need a private API.
- The search key is never hard-coded. Every published YC scraper that pins a key eventually returns an empty dataset without saying why. This one reads it fresh and says so loudly — an
unavailablerow and a status message — when it cannot. - Bad input is answered, not swallowed. An unknown batch or industry gets a free row naming the nearest valid values, drawn from the live facet lists.
- Failures are free and legible. A dead company page, a filter that matched nothing, a block — each produces a diagnostic row with an
errorTypeyou can branch on, and no charge. A run whose filters were all usable but produced nothing — a filter set that matched no company, a search index that did not answer, a block — finishes SUCCEEDED with zero results, a status message that says so, and a free diagnostic row telling you why; nothing is charged, start fee included. A run finishes FAILED only when there was nothing usable to attempt (every value you gave for a filter is unknown to the directory), or the Actor itself hit an error. - A partial run is kept, not thrown away. Hit
maxRunSecsor your charge ceiling halfway through and you keep every company already written. - Honest about what the public directory does not contain. No funding amounts, no valuations, no investor lists, no contact emails — see Limits, in detail, rather than as a footnote.
- No login, ever. No YC account, no Bookface, no cookie jar, no session token. Public endpoints only, which is also why it runs under Apify's limited permissions.
Input reference
| Field | Type | Default | What it does |
|---|---|---|---|
batches | array | ["Winter 2025"] | Batches to return: Winter 2025, W25, S13, X26 (Spring), F25 (Fall). Empty means every batch |
queries | array | [] | Full-text search across names, one-liners and descriptions. Each term is a separate search; results are merged and de-duplicated |
industries | array | [] | YC's industry taxonomy, parents and children in one list (B2B, Fintech, Payments, Climate) |
statuses | array | [] | Active, Acquired, Public, Inactive |
regions | array | [] | United States of America, Europe, India, Remote, Fully Remote… |
tags | array | [] | YC's free-form labels: SaaS, Marketplace, Generative AI, Open Source |
isHiring | string | "any" | any, yes or no. The API also accepts true / false / null |
topCompaniesOnly | boolean | false | Only YC's own "top companies" — 91 of 6,213 |
nonprofitOnly | boolean | false | Only YC's nonprofits. Applied to the results, not in the query — see Limits |
maxCompanies | integer | 500 | Ceiling on company rows across the whole run. Max 10,000 |
sortBy | string | "default" | default (YC's ranking) or launchDate (newest first) |
includeFounders | boolean | false | Read each company's own page too: founders, socials, year founded, city, open roles, press. One extra request per company |
founderRows | boolean | false | Also emit one row per founder. Needs includeFounders |
maxConcurrency | integer | 4 | Searches, and company pages, in flight at once |
maxRunSecs | integer | 240 | Wall-clock budget. Rows already written are kept and billed |
proxyConfiguration | object | {"useApifyProxy": true} | Datacenter by default; switch to residential only if you see blocked rows |
Filters combine as an intersection: several values inside one field are "any of these", and different fields are "and". {"batches": ["W25","S24"], "industries": ["B2B"], "isHiring": "yes"} is B2B companies from either batch that are hiring.
Output reference
| Column | Rows | Meaning |
|---|---|---|
ok, rowType | all | company, founder or a free diagnostic |
id, name, slug, url, website | company | YC's ID, name, directory page and the company's own site |
oneLiner, description | company | The one-line pitch and the long description, as the founders wrote them |
batch, batchShort, status, stage | company, founder | Winter 2009 / W09; Active Acquired Public Inactive; Early or Growth |
industry, industries, subindustry, tags | company | YC's taxonomy and its free-form labels |
regions, location, city, country | company | Where the company is, at three levels of precision |
teamSize, launchedAt, yearFounded | company | Headcount, when the profile went live, when the company was founded |
isHiring, jobPostingCount | company | Whether it is hiring, and how many roles are posted |
topCompany, nonprofit, formerNames, logoUrl | company | YC's flags, previous names, logo |
hasDemoDayVideo, hasAppVideo | company | Whether those videos are public. The videos themselves are not returned |
founders, founderNames, founderCount | company | The founders, nested and flattened. Needs includeFounders |
linkedin, twitter, facebook, crunchbase, github | company, founder | The company's socials, or the founder's. Needs includeFounders |
name, title, company, companySlug | founder | The person, their role, and the company they founded |
newsItems | company | Up to ten press mentions YC has curated |
input, query, batchFilter, position | all | Which filter or search produced this row, and its rank in the merged result |
error, errorType | diagnostic | What went wrong, and a type to branch on |
source, sourceUrl, scrapedAt | all | index or both, the company's page, and when the row was written |
errorType is one of invalid-input, no-results, not-found, blocked, timeout, unavailable.
Pricing
$0.50 per 1,000 companies. Pay-per-event, with proxy already inside that number — there is no separate proxy line on your bill for this Actor.
| Event | What triggers it | FREE | Starter | Scale | Business |
|---|---|---|---|---|---|
| Company returned (primary) | One company row written to your dataset | $0.0005 | $0.0005 | $0.0004 | $0.0003 |
| Founder returned | One founder row, when founderRows is on | $0.00025 | $0.00025 | $0.00025 | $0.00025 |
| Run started | Once per run, after the first paid row | $0.001 | $0.001 | $0.001 | $0.001 |
The whole directory. {"maxCompanies": 10000}, no filters: 6,213 companies × $0.0005 + $0.001 = $3.1075, from 52 requests in a couple of minutes.
One batch. {"batches": ["W25"]}: 166 × $0.0005 + $0.001 = $0.084, from four requests.
A hiring list, weekly. {"isHiring": "yes", "industries": ["B2B"], "maxCompanies": 1000}: about 840 rows = $0.421 a run, $1.82 a month.
With founders. includeFounders costs nothing extra per row — the company price is the same either way. It costs time: one page load per company, so 500 companies is about four minutes. founderRows: true on top adds roughly 2.2 founder rows per company at $0.00025 each.
What you are never charged for: a batch or industry name that does not exist, a filter set that matched nothing, a company page that has gone, a company the run never reached before maxRunSecs, or a request the site blocked. If a whole run comes back empty it finishes SUCCEEDED with zero results and a status message that says why ("0 companies. N diagnostic row(s) explain why …"), and bills nothing at all, start fee included.
Set ACTOR_MAX_TOTAL_CHARGE_USD on a run and the Actor stops fetching once the ceiling is in sight, rather than handing you rows it cannot bill or billing you for rows it cannot hand over. It finishes SUCCEEDED with the ceiling named in its status message, and everything already delivered is yours.
Limits, and the ones that might bite
This is the public directory, and the public directory is what YC chose to publish. There is no funding amount, no valuation, no round history, no investor list, no revenue, no headcount history and no founder email address in it — not because they are hard to scrape, but because they are not there. What is there is the sample row above: identity, category, status, size, place, time, and the founders' own public profiles. Anything claiming to be "YC data with funding" is joining this to another source.
Team size is self-reported and lags. YC updates it when the company does. Treat it as an order of magnitude, not a headcount.
status is coarse. Acquired does not say by whom or for how much. Inactive is YC's word for shut down and carries no date. Public is 23 companies.
The 1,000-hit ceiling is real, and partitioning is the whole answer to it. Every query — including each per-batch one — stops at 1,000 hits. It has never been reached by a batch query, because YC's largest batch is 398 companies, but a search term inside a single batch is also capped, and if YC ever runs a batch of over a thousand the run will report it rather than silently truncate.
nonprofitOnly is applied after the fact. nonprofit is a field on every company but not one of the index's filterable facets, so the run fetches the results and drops the rest. It costs the same requests as the unfiltered query and returns fewer rows.
includeFounders is one page load per company. A whole-directory run with it on is 6,265 requests and will not fit in the default maxRunSecs. Raise the budget, or filter first.
News items are YC's list, not a news feed. They are whatever YC curated onto the company's page, often years old, capped at ten.
Ordering is YC's, not yours. default is Algolia's relevance ranking for an empty query, which puts well-known companies first; launchDate is newest first. Neither is alphabetical, and maxCompanies cuts from the bottom of whichever you chose.
The upstream format may change. YC rewrites this front end periodically — it has been a Rails app, a Gatsby site and now a React/Inertia app — and the search key rotates on its own schedule. When a shape changes you get free unavailable or blocked diagnostic rows and a status message saying so rather than quietly wrong data, and a run that returns nothing bills nothing.
Rate and reliability. Requests go out through proxy sessions pinned per worker, one rotation per block, and 250–600 ms between requests of the same worker. Four in parallel is the default.
Use it from an AI agent, or from code
One JSON object in, one flat array out — the shape agent runtimes want. The Actor runs with limited permissions, uses pay-per-event pricing and never enters Standby, so it works over the Apify MCP server and with x402 agentic payments. The Integrations tab pushes results to Slack, a webhook, Zapier, Make, Google Sheets, Snowflake or BigQuery.
curl -X POST "https://api.apify.com/v2/acts/insight.solutions~yc-companies-directory/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"batches":["W25"],"maxCompanies":500}'
# pip install apify-clientfrom apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("insight.solutions/yc-companies-directory").call(run_input={"industries": ["Fintech"],"statuses": ["Active"],"isHiring": "yes","maxCompanies": 1000,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row["rowType"] == "company":print(row["batchShort"], row["name"], row["teamSize"], row["website"])
Building an app with Lovable? Apify's Lovable connector runs any Actor from inside a Lovable project with your Apify token. Connect Apify in Lovable once, then ask it: "Use Apify to run insight.solutions/yc-companies-directory for a batch and industry I pick and build a searchable startup list around the results." At the default settings a run finishes well inside Lovable's 300-second synchronous limit, and every result is one JSON object per row, so the generated app needs no extra parsing. Usage bills to the Apify account whose token is connected.
FAQ
Do I need a YC account? No. Everything here is what a logged-out visitor sees at ycombinator.com/companies, read through the same public search index the page's own filters use.
How do I get the entire directory?
Leave every filter empty and set maxCompanies to 10000. You will get about 6,200 rows, because that is how many there are.
Why is it about 6,200 and not "all YC companies ever"? Because the public directory lists the companies YC lists. A company that asked to be delisted is not there, and neither is one from a batch YC has not published yet.
How do I deduplicate between runs?
On id, YC's own numeric company ID, which is also the search index's objectID. It survives renames; slug does not, which is what formerNames is for.
Can I get a company's funding, investors or revenue? Not from here — the public directory does not publish them. See Limits.
Are founder emails included? No. YC does not publish them, and this Actor does not guess at them. You get the founders' names, titles and their own public LinkedIn and X profiles.
Why did my batch name return nothing?
It probably did not return nothing — check for an invalid-input diagnostic row, which names the nearest valid batches. W25 and Winter 2025 both work; W2025 works too; Spring 2026 is X26, not S26.
How fresh is it? Live. Every run reads the directory at that moment; nothing is cached between runs, and the batch list itself is read fresh so a new batch appears the day YC publishes it.
What happens if one batch fails?
The other 49 still run. The failed one produces a free diagnostic row and the run finishes SUCCEEDED with the companies it did get. If nothing could be read, the run still finishes SUCCEEDED, with zero companies, a status message that says so and nothing billed at all. Only a filter set with nothing valid in it finishes FAILED.
Legal and data-protection notes
- Public pages and a public index only. The directory, its search index and each company's page are what ycombinator.com serves to any visitor. The Actor never logs in, never accepts cookies or session tokens, and never uses an API key belonging to anyone else — the search-only key it uses is the one the page hands every browser that loads it, read fresh on every run.
- Founder names and profiles are personal data. They are published by YC and by the founders themselves, on purpose, as a public profile — but in most jurisdictions they remain personal data. Have a lawful basis before you use them for outreach, honour opt-outs, and check the marketing rules where you and the recipient are. This Actor returns no email addresses and no phone numbers.
- Company descriptions belong to their companies. The one-liners and long descriptions are copyrighted text the founders wrote. Indexing, analysis, filtering and linking are the ordinary uses and are what this is built for; republishing them wholesale is your call and your responsibility.
- Logo URLs are not a licence.
logoUrlis the address YC serves the logo from. Trademarks belong to the companies. - Not affiliated with Y Combinator. "Y Combinator" and "YC" are trademarks of Y Combinator Management, LLC, used here only to describe which public pages this Actor reads.
Our other Actors
Every Insight Solutions Actor is pay-per-result with no browser, no login and no API key, and every one of them returns free diagnostic rows instead of billing for failures. Prices are per 1,000 results.
Video, audio & social
- YouTube Transcript API — captions as timed segments, text, SRT or VTT, with language fallback and translation.
- YouTube Comments API — comments and replies with likes, pinned and hearted flags, newest or top sort.
- YouTube Channel API — a channel's videos, Shorts and live streams, plus YouTube search.
- Podcast Search, Episodes & Charts API — Apple Podcasts search, charts and full episode feeds.
- Bluesky Scraper — profiles, posts, followers and follows from the public AT Protocol API.
- Telegram Channel Scraper — posts, views and channel stats from public Telegram channels.
- Substack Scraper — posts with full free text, comments and publication profiles.
- Hacker News API — stories, comments, users, front page and a structured "Who is hiring?" parser from the official HN APIs.
- GitHub Repos, Trending & Releases API — repository facts, trending lists, releases and search, no token needed for small runs.
- Discourse Forum API — topics, posts and categories from any Discourse community via its own JSON endpoints, usernames only.
News, documents & the web
- Google News Search, Topics & Real Article URLs — news search and topic feeds with the publisher's real URL decoded.
- Website to Markdown — Content Extractor for LLMs & RAG — any site as clean Markdown, text and heading-aware chunks.
- WordPress Posts & Pages API — posts and pages from any WordPress site as clean text or Markdown, with categories, tags and images.
- Website Metadata API — any URL's meta tags, Open Graph, Twitter cards, hreflang, feeds, JSON-LD and microdata, with normalised Product, Article, Event and FAQ entities.
- Subdomain Finder API — every subdomain of a domain from certificate-transparency logs, resolved over DNS, with an optional live HTTP check.
- Internet Archive API — archive.org search, item metadata, files and reviews.
- Wayback Machine Toolkit — archived URL inventories, snapshots and text diffs between dates.
- Website Technology Detector — the tech stack behind any site, with the evidence for each detection.
- Domain Intelligence API — DNS, RDAP registration, TLS certificate and HTTP facts in one row per domain.
- SEO Page Audit — sitemap crawl with on-page checks, structured data and broken-link reports.
- Keyword Suggestions API — Google, YouTube, Bing, Amazon and eBay autocomplete with alphabet and question expansions.
- Website Contact Extractor — emails, phone numbers and social profiles from any list of websites.
- Web Search Results API — Bing and DuckDuckGo organic results with snippets, no key, no browser.
- Company Enrichment API — a domain in, a company profile out: firmographics, contacts, tech stack, DNS and hiring signal.
- Company Dossier API — one company in, twelve sections out: profile, tech, contacts, DNS, open roles, news, SEC filings, federal awards, recalls, YC batch and apps.
- Press Releases API — GlobeNewswire and PR Newswire releases plus any newsroom feed, by keyword, company, ticker or subject.
- Federal Register API — rules, proposed rules, notices and the Public Inspection desk with dockets, comment deadlines and CFR references.
- Academic Papers Search API — OpenAlex, Crossref, arXiv and PubMed in one row per paper: abstract, citations, open-access PDF, authors and venue.
- RSS & Atom Feed Monitor — any RSS, Atom or JSON feed (or an OPML file) in, only the new items out, with keyword filters and a webhook.
- Website Change Monitor — watch any pages, diff the text between runs, get change rows with added/removed lines, keyword alerts and a webhook.
- Wikipedia & Wikidata API — article text, search, daily pageviews and Wikidata entity facts, any language edition.
Business, finance & jobs
- Congress & Insider Trades API — STOCK Act periodic transaction reports and SEC Form 4 insider trades in one schema.
- Federal Contracts, Grants & Lobbying API — SAM.gov opportunities, USAspending awards, Grants.gov notices and Senate lobbying filings in one schema.
- SEC EDGAR API — filings, XBRL financials and full-text search by ticker or CIK.
- Clinical Trials & FDA API — ClinicalTrials.gov studies plus openFDA recalls, labels, approvals, 510(k)s and adverse-event reports.
- Product & Vehicle Recalls API — CPSC, NHTSA, FDA and USDA recalls, vehicle complaints and ratings, plus a VIN decoder.
- Career Site Jobs API — jobs straight from Greenhouse, Lever, Ashby, Workable and 10+ other ATS career sites.
- Workday Jobs API — every posting on any Workday career site, with facets, search, posted dates and full descriptions.
- New Job Postings Monitor — new, closed and changed postings on the career sites you watch.
- Hiring Signals API — Open Roles & Hiring Surge by Company — one row per company per run: open roles, what opened and closed, department and seniority breakdowns, and a hiring-surge flag.
- Remote Jobs API — RemoteOK, Remotive, We Work Remotely, Himalayas, Jobicy and more in one schema, deduplicated.
- Shopify Products API — any Shopify store's catalogue, variants, prices and stock signals.
- WooCommerce Products API — any WooCommerce store's catalogue, prices, variants and stock through its public Store API.
- Shopify App Store API — Shopify App Store listings by category, collection or developer: pricing plans, ratings and merchant reviews.
- Luma Events API — upcoming Luma events by city, category or calendar: dates, venue, price, capacity and organiser calendar, no host names.
- Shopify Store Monitor — price drops, sales, restocks, sell-outs and new products on any Shopify store, one row per change.
- Public Tenders API — EU TED, UK Find a Tender and Contracts Finder notices by keyword, CPV code, country, stage and deadline.
- Nonprofit & IRS 990 Lookup API — search US nonprofits and get EIN, NTEE code and multi-year Form 990 financials.
- OpenStreetMap Places API — businesses and points of interest by category and area from OpenStreetMap: name, address, coordinates, website, phone, opening hours.
Apps & games
- App Store & Google Play Reviews API — reviews from both stores with ratings, versions and developer replies.
- App Store Top Charts & App Search API — Apple top charts by country and genre, plus app search and details.
- App Store Keyword Rank Tracker — where any app ranks for any keyword on the App Store and Google Play, with rank changes and ASO suggestions.
- Steam Reviews API — Steam reviews with playtime, helpfulness and game details.
- Steam Game Data API — prices, tags, review scores, live player counts and top charts.
- Sports Scores & Schedules API — scores, schedules, standings, teams and headlines for the NFL, NBA, MLB, NHL, soccer and more, no key.
- App Store Monitor — App Store and Google Play listings watched between runs: new versions with release notes, price, rating and listing changes, one row per change.