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
- Run the line below. It pulls the whole folder into
~/.claude/skills/yc-reader, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit himself65/finance-skills/plugins/social-readers/skills/yc-reader#main ~/.claude/skills/yc-readerFor 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)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- 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.
Paste into Claude, ChatGPT or Cursor.
Source of Y Combinator Reader (Read-Only)
Show the full text172 lines
| name | description |
|---|---|
| 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
- Use
-sflag with curl to suppress progress output - Pipe through
jqfor readable output and filtering - Avoid fetching
companies/all.jsonunless necessary — it's a large response (~5,700 companies). Prefer more specific endpoints (batches, industries, tags) when possible - Use
jqselect/filter to narrow results client-side when the API doesn't have a specific endpoint for what the user wants - Batch names are lowercase with hyphens —
winter-2025notWinter 2025orW25 - Tag and industry names are lowercase with hyphens —
developer-toolsnotDeveloper 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:
- Summarize key data — company name, one-liner, batch, team size, status, and website
- Highlight hiring status — note which companies are actively hiring (growth signal)
- Include website URLs when the user might want to visit the company
- For batch listings, summarize the batch size and notable companies
- For industry/tag queries, highlight trends (how many companies, which are top/hiring)
- For research queries, provide aggregate stats (count, common industries, team size distribution)
- 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 | |
| 2 | name yc-reader |
| 3 | description > |
| 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 | |
| 18 | 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. |
| 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 | |
| 28 | This 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 | |
| 34 | If `JQ_MISSING`, install it: |
| 35 | |
| 36 | |
| 37 | # macOS |
| 38 | brew install jq |
| 39 | |
| 40 | # Linux (Debian/Ubuntu) |
| 41 | sudo apt-get install jq |
| 42 | |
| 43 | |
| 44 | 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. |
| 45 | |
| 46 | |
| 47 | |
| 48 | ## Step 2: Identify What the User Needs |
| 49 | |
| 50 | Match 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 | |
| 67 | 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. |
| 68 | |
| 69 | ### Industry and tag name format |
| 70 | |
| 71 | Use 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 | |
| 80 | https://yc-oss.github.io/api/ |
| 81 | |
| 82 | |
| 83 | ### General pattern |
| 84 | |
| 85 | |
| 86 | # Fetch and pretty-print |
| 87 | curl -s https://yc-oss.github.io/api/companies/top.json | jq . |
| 88 | |
| 89 | # Count companies in a result |
| 90 | curl -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) |
| 93 | curl -s https://yc-oss.github.io/api/batches/winter-2025.json | jq '[.[] | select(.isHiring == true)]' |
| 94 | |
| 95 | # Extract specific fields |
| 96 | curl -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) |
| 99 | curl -s https://yc-oss.github.io/api/companies/all.json | jq '[.[] | select(.name | test("stripe"; "i"))]' |
| 100 | |
| 101 | |
| 102 | ### Key rules |
| 103 | |
| 104 | **Use `-s` flag** with curl to suppress progress output |
| 105 | **Pipe through `jq`** for readable output and filtering |
| 106 | **Avoid fetching `companies/all.json` unless necessary** — it's a large response (~5,700 companies). Prefer more specific endpoints (batches, industries, tags) when possible |
| 107 | **Use `jq` select/filter** to narrow results client-side when the API doesn't have a specific endpoint for what the user wants |
| 108 | **Batch names are lowercase with hyphens** — `winter-2025` not `Winter 2025` or `W25` |
| 109 | **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 | |
| 129 | After fetching data, present it clearly for startup/venture research: |
| 130 | |
| 131 | **Summarize key data** — company name, one-liner, batch, team size, status, and website |
| 132 | **Highlight hiring status** — note which companies are actively hiring (growth signal) |
| 133 | **Include website URLs** when the user might want to visit the company |
| 134 | **For batch listings**, summarize the batch size and notable companies |
| 135 | **For industry/tag queries**, highlight trends (how many companies, which are top/hiring) |
| 136 | **For research queries**, provide aggregate stats (count, common industries, team size distribution) |
| 137 | **Note the data freshness** — the API updates daily, so data is near-real-time |
| 138 | |
| 139 | |
| 140 | |
| 141 | ## Step 5: Diagnostics |
| 142 | |
| 143 | If 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 | |
| 152 | To discover valid batch, industry, and tag names: |
| 153 | |
| 154 | |
| 155 | # List all batches |
| 156 | curl -s https://yc-oss.github.io/api/meta.json | jq '.batches[].name' |
| 157 | |
| 158 | # List all industries |
| 159 | curl -s https://yc-oss.github.io/api/meta.json | jq '.industries[].name' |
| 160 | |
| 161 | # List all tags (there are 333+) |
| 162 | curl -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 | |
| 171 | Read the reference file when you need the exact company field schema, valid batch/industry/tag names, or detailed research workflow patterns. |
| 172 |
Discussion
Browse more free Claude skills or everything in Development.