Y Combinator Reader (Read-Only)

Look up Y Combinator companies, batches, and startup ecosystem data using the yc-oss API (read-only).

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/yc-reader, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit himself65/finance-skills/plugins/social-readers/skills/yc-reader#main ~/.claude/skills/yc-reader

For one project only, change the path to .claude/skills/yc-reader. This skill also uses meta.json, hispanic-latino-founded.json, women-founded.json, winter-2026.json, spring-2026.json, fall-2025.json — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Y Combinator Reader (Read-Only)

Show the full text172 lines
namedescription
yc-reader> Look up Y Combinator companies, batches, and startup ecosystem data using the yc-oss API (read-only). Use this skill whenever the user wants to research YC-backed startups, find companies in a specific batch or industry, check which YC companies are hiring, explore top YC companies, or analyze startup trends by sector or tag. Triggers include: "YC companies in fintech", "who's in the latest YC batch", "YC startups hiring", top Y Combinator companies", "find YC companies tagged AI", "W25 batch", "S24 companies", YC stats", "Y Combinator portfolio", "startup research", "which YC companies do X", venture research on YC", any mention of Y Combinator, YC batch, or YC-backed companies in the context of startup research, venture analysis, or market intelligence. This is a read-only data source — the API is a static JSON dataset updated daily.

Y Combinator Reader (Read-Only)

Fetches Y Combinator company data from the yc-oss/api, an unofficial open-source API that indexes all publicly launched YC companies. The data is sourced from YC's Algolia search index and updated daily via GitHub Actions.

This is a read-only data source. It provides company profiles, batch listings, industry/tag breakdowns, hiring status, and diversity data. No write operations exist — the API serves static JSON files.

No authentication required. The API is public and free. Just use curl to fetch JSON endpoints.


Step 1: Verify Prerequisites

This skill only needs curl (to fetch data) and jq (to parse/filter JSON). Both are pre-installed on most systems.

!`(command -v curl > /dev/null && echo "CURL_OK" || echo "CURL_MISSING") && (command -v jq > /dev/null && echo "JQ_OK" || echo "JQ_MISSING")`

If JQ_MISSING, install it:

# macOS
brew install jq

# Linux (Debian/Ubuntu)
sudo apt-get install jq

If jq is unavailable, you can still fetch raw JSON with curl and parse it inline with Python or other tools — but jq makes filtering much easier.


Step 2: Identify What the User Needs

Match the user's request to the appropriate endpoint. See references/api_reference.md for full details.

User Request Endpoint Notes
Overall YC stats meta.json Company count, batch list, industry/tag lists
All companies companies/all.json Full dataset (~5,700 companies) — large response
Top companies companies/top.json ~91 top-performing YC companies
Companies hiring companies/hiring.json ~1,400 currently hiring
Non-profit companies companies/nonprofit.json YC-backed non-profits
Diversity data companies/black-founded.json, hispanic-latino-founded.json, women-founded.json Founder diversity
Specific batch batches/{batch-name}.json e.g., winter-2026.json, spring-2026.json, fall-2025.json
Single company profile batches/{batch-name}/{slug}.json e.g., batches/summer-2009/stripe.json, batches/winter-2009/airbnb.json
By industry industries/{industry}.json e.g., fintech.json, healthcare.json
By tag tags/{tag}.json e.g., ai.json, developer-tools.json
Batch name format

Batches use {season}-{year} format: winter-2026, spring-2026, summer-2026, fall-2025. Older batches follow the same pattern back to summer-2005. The short form (w09, s21) also works for the per-company endpoint.

Industry and tag name format

Use lowercase with hyphens for multi-word names: real-estate, developer-tools, machine-learning.


Step 3: Execute the Request

Base URL
https://yc-oss.github.io/api/
General pattern
# Fetch and pretty-print
curl -s https://yc-oss.github.io/api/companies/top.json | jq .

# Count companies in a result
curl -s https://yc-oss.github.io/api/batches/winter-2025.json | jq length

# Filter by field (e.g., hiring companies in a batch)
curl -s https://yc-oss.github.io/api/batches/winter-2025.json | jq '[.[] | select(.isHiring == true)]'

# Extract specific fields
curl -s https://yc-oss.github.io/api/companies/top.json | jq '.[] | {name, one_liner, batch, team_size, website}'

# Search by name (case-insensitive)
curl -s https://yc-oss.github.io/api/companies/all.json | jq '[.[] | select(.name | test("stripe"; "i"))]'
Key rules
  1. Use -s flag with curl to suppress progress output
  2. Pipe through jq for readable output and filtering
  3. Avoid fetching companies/all.json unless necessary — it's a large response (~5,700 companies). Prefer more specific endpoints (batches, industries, tags) when possible
  4. Use jq select/filter to narrow results client-side when the API doesn't have a specific endpoint for what the user wants
  5. Batch names are lowercase with hyphens — winter-2025 not Winter 2025 or W25
  6. Tag and industry names are lowercase with hyphens — developer-tools not Developer Tools
Common jq filters
Filter Purpose
jq length Count results
jq '.[0]' First company
jq '.[:10]' First 10 companies
jq '[.[] | select(.isHiring == true)]' Only hiring companies
jq '[.[] | select(.status == "Active")]' Only active companies
jq '[.[] | select(.team_size > 100)]' Companies with 100+ employees
jq '.[] | {name, one_liner, batch, website}' Select specific fields
jq '[.[] | select(.name | test("query"; "i"))]' Search by name
jq 'sort_by(-.team_size) | .[:10]' Top 10 by team size

Step 4: Present the Results

After fetching data, present it clearly for startup/venture research:

  1. Summarize key data — company name, one-liner, batch, team size, status, and website
  2. Highlight hiring status — note which companies are actively hiring (growth signal)
  3. Include website URLs when the user might want to visit the company
  4. For batch listings, summarize the batch size and notable companies
  5. For industry/tag queries, highlight trends (how many companies, which are top/hiring)
  6. For research queries, provide aggregate stats (count, common industries, team size distribution)
  7. Note the data freshness — the API updates daily, so data is near-real-time

Step 5: Diagnostics

If a request fails:

Error Cause Fix
404 Not Found Invalid batch, industry, or tag name Check meta.json for valid names
Empty array [] No companies match the query Broaden the search or check spelling
curl: Could not resolve host No internet connection Check network connectivity
Large/slow response Fetching companies/all.json (5,700+ entries) Use a more specific endpoint or add jq filters

To discover valid batch, industry, and tag names:

# List all batches
curl -s https://yc-oss.github.io/api/meta.json | jq '.batches[].name'

# List all industries
curl -s https://yc-oss.github.io/api/meta.json | jq '.industries[].name'

# List all tags (there are 333+)
curl -s https://yc-oss.github.io/api/meta.json | jq '.tags[].name'

Reference Files

  • references/api_reference.md — Complete endpoint reference with company schema, all endpoint URLs, and research workflow examples

Read the reference file when you need the exact company field schema, valid batch/industry/tag names, or detailed research workflow patterns.

1---
2name: yc-reader
3description: >
4 Look up Y Combinator companies, batches, and startup ecosystem data using the yc-oss API (read-only).
5 Use this skill whenever the user wants to research YC-backed startups, find companies in a specific
6 batch or industry, check which YC companies are hiring, explore top YC companies, or analyze
7 startup trends by sector or tag.
8 Triggers include: "YC companies in fintech", "who's in the latest YC batch", "YC startups hiring",
9 "top Y Combinator companies", "find YC companies tagged AI", "W25 batch", "S24 companies",
10 "YC stats", "Y Combinator portfolio", "startup research", "which YC companies do X",
11 "venture research on YC", any mention of Y Combinator, YC batch, or YC-backed companies
12 in the context of startup research, venture analysis, or market intelligence.
13 This is a read-only data source — the API is a static JSON dataset updated daily.
14---
15 
16# Y Combinator Reader (Read-Only)
17 
18Fetches Y Combinator company data from the [yc-oss/api](https://github.com/yc-oss/api), an unofficial open-source API that indexes all publicly launched YC companies. The data is sourced from YC's Algolia search index and updated daily via GitHub Actions.
19 
20**This is a read-only data source.** It provides company profiles, batch listings, industry/tag breakdowns, hiring status, and diversity data. No write operations exist — the API serves static JSON files.
21 
22**No authentication required.** The API is public and free. Just use `curl` to fetch JSON endpoints.
23 
24---
25 
26## Step 1: Verify Prerequisites
27 
28This skill only needs `curl` (to fetch data) and `jq` (to parse/filter JSON). Both are pre-installed on most systems.
29 
30```
31!`(command -v curl > /dev/null && echo "CURL_OK" || echo "CURL_MISSING") && (command -v jq > /dev/null && echo "JQ_OK" || echo "JQ_MISSING")`
32```
33 
34If `JQ_MISSING`, install it:
35 
36```bash
37# macOS
38brew install jq
39 
40# Linux (Debian/Ubuntu)
41sudo apt-get install jq
42```
43 
44If `jq` is unavailable, you can still fetch raw JSON with `curl` and parse it inline with Python or other tools — but `jq` makes filtering much easier.
45 
46---
47 
48## Step 2: Identify What the User Needs
49 
50Match the user's request to the appropriate endpoint. See `references/api_reference.md` for full details.
51 
52| User Request | Endpoint | Notes |
53|---|---|---|
54| Overall YC stats | `meta.json` | Company count, batch list, industry/tag lists |
55| All companies | `companies/all.json` | Full dataset (~5,700 companies) — large response |
56| Top companies | `companies/top.json` | ~91 top-performing YC companies |
57| Companies hiring | `companies/hiring.json` | ~1,400 currently hiring |
58| Non-profit companies | `companies/nonprofit.json` | YC-backed non-profits |
59| Diversity data | `companies/black-founded.json`, `hispanic-latino-founded.json`, `women-founded.json` | Founder diversity |
60| Specific batch | `batches/{batch-name}.json` | e.g., `winter-2026.json`, `spring-2026.json`, `fall-2025.json` |
61| Single company profile | `batches/{batch-name}/{slug}.json` | e.g., `batches/summer-2009/stripe.json`, `batches/winter-2009/airbnb.json` |
62| By industry | `industries/{industry}.json` | e.g., `fintech.json`, `healthcare.json` |
63| By tag | `tags/{tag}.json` | e.g., `ai.json`, `developer-tools.json` |
64 
65### Batch name format
66 
67Batches use `{season}-{year}` format: `winter-2026`, `spring-2026`, `summer-2026`, `fall-2025`. Older batches follow the same pattern back to `summer-2005`. The short form (`w09`, `s21`) also works for the per-company endpoint.
68 
69### Industry and tag name format
70 
71Use lowercase with hyphens for multi-word names: `real-estate`, `developer-tools`, `machine-learning`.
72 
73---
74 
75## Step 3: Execute the Request
76 
77### Base URL
78 
79```
80https://yc-oss.github.io/api/
81```
82 
83### General pattern
84 
85```bash
86# Fetch and pretty-print
87curl -s https://yc-oss.github.io/api/companies/top.json | jq .
88 
89# Count companies in a result
90curl -s https://yc-oss.github.io/api/batches/winter-2025.json | jq length
91 
92# Filter by field (e.g., hiring companies in a batch)
93curl -s https://yc-oss.github.io/api/batches/winter-2025.json | jq '[.[] | select(.isHiring == true)]'
94 
95# Extract specific fields
96curl -s https://yc-oss.github.io/api/companies/top.json | jq '.[] | {name, one_liner, batch, team_size, website}'
97 
98# Search by name (case-insensitive)
99curl -s https://yc-oss.github.io/api/companies/all.json | jq '[.[] | select(.name | test("stripe"; "i"))]'
100```
101 
102### Key rules
103 
1041. **Use `-s` flag** with curl to suppress progress output
1052. **Pipe through `jq`** for readable output and filtering
1063. **Avoid fetching `companies/all.json` unless necessary** — it's a large response (~5,700 companies). Prefer more specific endpoints (batches, industries, tags) when possible
1074. **Use `jq` select/filter** to narrow results client-side when the API doesn't have a specific endpoint for what the user wants
1085. **Batch names are lowercase with hyphens** — `winter-2025` not `Winter 2025` or `W25`
1096. **Tag and industry names are lowercase with hyphens** — `developer-tools` not `Developer Tools`
110 
111### Common jq filters
112 
113| Filter | Purpose |
114|---|---|
115| `jq length` | Count results |
116| `jq '.[0]'` | First company |
117| `jq '.[:10]'` | First 10 companies |
118| `jq '[.[] \| select(.isHiring == true)]'` | Only hiring companies |
119| `jq '[.[] \| select(.status == "Active")]'` | Only active companies |
120| `jq '[.[] \| select(.team_size > 100)]'` | Companies with 100+ employees |
121| `jq '.[] \| {name, one_liner, batch, website}'` | Select specific fields |
122| `jq '[.[] \| select(.name \| test("query"; "i"))]'` | Search by name |
123| `jq 'sort_by(-.team_size) \| .[:10]'` | Top 10 by team size |
124 
125---
126 
127## Step 4: Present the Results
128 
129After fetching data, present it clearly for startup/venture research:
130 
1311. **Summarize key data** — company name, one-liner, batch, team size, status, and website
1322. **Highlight hiring status** — note which companies are actively hiring (growth signal)
1333. **Include website URLs** when the user might want to visit the company
1344. **For batch listings**, summarize the batch size and notable companies
1355. **For industry/tag queries**, highlight trends (how many companies, which are top/hiring)
1366. **For research queries**, provide aggregate stats (count, common industries, team size distribution)
1377. **Note the data freshness** — the API updates daily, so data is near-real-time
138 
139---
140 
141## Step 5: Diagnostics
142 
143If a request fails:
144 
145| Error | Cause | Fix |
146|-------|-------|-----|
147| `404 Not Found` | Invalid batch, industry, or tag name | Check `meta.json` for valid names |
148| Empty array `[]` | No companies match the query | Broaden the search or check spelling |
149| `curl: Could not resolve host` | No internet connection | Check network connectivity |
150| Large/slow response | Fetching `companies/all.json` (5,700+ entries) | Use a more specific endpoint or add `jq` filters |
151 
152To discover valid batch, industry, and tag names:
153 
154```bash
155# List all batches
156curl -s https://yc-oss.github.io/api/meta.json | jq '.batches[].name'
157 
158# List all industries
159curl -s https://yc-oss.github.io/api/meta.json | jq '.industries[].name'
160 
161# List all tags (there are 333+)
162curl -s https://yc-oss.github.io/api/meta.json | jq '.tags[].name'
163```
164 
165---
166 
167## Reference Files
168 
169- `references/api_reference.md` — Complete endpoint reference with company schema, all endpoint URLs, and research workflow examples
170 
171Read the reference file when you need the exact company field schema, valid batch/industry/tag names, or detailed research workflow patterns.
172 

Discussion

Alternatives

Also in Services & APIsSee all 533 in Development →