PluginBench
Skill
Review
Audit score 70

yc-reader

himself65/finance-skills

Query Y Combinator company data, batches, and portfolio insights from a daily-updated public API.

What is yc-reader?

Read-only access to Y Combinator's public company database via the yc-oss API. Fetch company profiles, batch rosters, industry/tag breakdowns, hiring status, and founder-diversity data. Use this when researching YC-backed startups, specific batches, portfolio sectors, or startup ecosystem trends.

  • Fetch all YC companies or filter by batch, industry, tag, hiring status, or diversity
  • Look up individual company profiles with team size, status, website, and one-liner
  • Query top-performing YC companies and non-profit portfolio
  • Discover companies currently hiring and founder-diversity lists
  • Search companies by name and sort/filter results with jq

How to install yc-reader

npx skills add https://github.com/himself65/finance-skills --skill yc-reader
Prerequisites
  • curl (pre-installed on most systems)
  • jq for JSON parsing and filtering (install via brew or apt-get if missing)
Claude Code
Cursor
Windsurf
Cline

How to use yc-reader

  1. 1.Verify curl and jq are available on your system
  2. 2.Identify the appropriate endpoint based on the user's request (batch, industry, tag, company list, etc.)
  3. 3.Execute a curl request to https://yc-oss.github.io/api/ with the correct path and pipe through jq for filtering
  4. 4.Use jq filters to narrow results (e.g., select hiring companies, search by name, extract specific fields)
  5. 5.Summarize results with company names, one-liners, batches, team sizes, and websites rather than raw JSON dumps

Use cases

Good for
  • Research which YC companies operate in fintech or AI to identify competitors or partners
  • Find all companies from a specific batch (e.g., Winter 2025) to track cohort progress
  • Identify YC-backed startups that are actively hiring for market intelligence
  • Analyze founder diversity across the YC portfolio for DEI research
  • Discover top-performing YC companies by team size or status for investment research
Who it's for
  • Venture capitalists and startup researchers
  • Founders researching the YC ecosystem and cohort peers
  • Recruiters sourcing YC-backed companies
  • Business analysts tracking startup trends and portfolio composition

yc-reader FAQ

Is authentication required to use this API?

No. The yc-oss API is public and free; no API key or login is needed.

How often is the data updated?

The dataset is refreshed daily via GitHub Actions, so company hiring status and portfolio changes are current.

Can I write or modify company data?

No. This is a read-only API. You can only fetch and query existing YC company data.

What if I need to find companies in a specific industry or tag?

Use the industries/{industry}.json or tags/{tag}.json endpoints. Check meta.json for valid industry and tag names (lowercase with hyphens, e.g., 'developer-tools').

How do I search for a specific company by name?

Fetch companies/all.json or a batch endpoint and use jq with select and test filters: jq '[.[] | select(.name | test("query"; "i"))]'

Full instructions (SKILL.md)

Source of truth, from himself65/finance-skills.


name: yc-reader description: > Look up Y Combinator companies and batches from the public yc-oss API, a static JSON dataset refreshed daily: company profiles, batch rosters (e.g. W25, S24), companies by industry or tag, top companies, who is hiring, founder-diversity lists, and overall YC stats. Use this skill whenever the user asks about YC-backed startups, a YC batch, YC companies in a sector or tag or that are hiring, the Y Combinator portfolio, or startup and venture research that draws on YC data. Read-only.

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 RequestEndpointNotes
Overall YC statsmeta.jsonCompany count, batch list, industry/tag lists
All companiescompanies/all.jsonFull dataset (~5,700 companies) — large response
Top companiescompanies/top.json~91 top-performing YC companies
Companies hiringcompanies/hiring.json~1,400 currently hiring
Non-profit companiescompanies/nonprofit.jsonYC-backed non-profits
Diversity datacompanies/black-founded.json, hispanic-latino-founded.json, women-founded.jsonFounder diversity
Specific batchbatches/{batch-name}.jsone.g., winter-2026.json, spring-2026.json, fall-2025.json
Single company profilebatches/{batch-name}/{slug}.jsone.g., batches/summer-2009/stripe.json, batches/winter-2009/airbnb.json
By industryindustries/{industry}.jsone.g., fintech.json, healthcare.json
By tagtags/{tag}.jsone.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

FilterPurpose
jq lengthCount 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

Summarize rather than dump JSON. For each company, give the name, one-liner, batch, team size, status, hiring status (a growth signal), and website. For a batch, lead with its size and notable companies; for an industry or tag, the count and which companies are top or hiring; for research questions, aggregate stats such as counts, common industries, and team-size distribution. Mention that the dataset refreshes daily.


Step 5: Diagnostics

If a request fails:

ErrorCauseFix
404 Not FoundInvalid batch, industry, or tag nameCheck meta.json for valid names
Empty array []No companies match the queryBroaden the search or check spelling
curl: Could not resolve hostNo internet connectionCheck network connectivity
Large/slow responseFetching 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.