CalPERS Private Equity Fund Returns Scraper avatar

CalPERS Private Equity Fund Returns Scraper

Pricing

from $8.90 / 1,000 private equity fund rows

Go to Apify Store
CalPERS Private Equity Fund Returns Scraper

CalPERS Private Equity Fund Returns Scraper

Scrape CalPERS private equity and private debt fund performance: vintage, commitments, cash flows, net IRR and multiple, with DPI and TVPI computed.

Pricing

from $8.90 / 1,000 private equity fund rows

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

ParseForge

CalPERS Private Equity Fund Returns Scraper: IRR, TVPI

Scrape all 466 CalPERS private equity funds and 64 private debt funds, fund by fund, with vintage year, capital committed, cash in, cash out, net IRR and investment multiple. Every row also carries DPI, TVPI, RVPI and unfunded commitment, which CalPERS does not publish and this Actor computes from the cash flows. No login or API key. Export to CSV, JSON, Excel, or XML.

CalPERS is the largest public pension in the United States and it publishes fund level performance as a plain HTML table that nobody can filter, sort by vintage, or export. This Actor reads that table, filters it on the raw record, computes the multiples an LP actually uses, and adds two roll-ups: one row per manager and one row per vintage year.

Who uses itWhat they scrape fund performance for
Limited partnersBenchmarking a GP against every other fund of the same vintage
Secondaries buyersFinding funds with high residual value and a long call history
Fund of funds and consultantsBuilding a manager track record from a public source
Investor relations at GPsSeeing exactly what a public LP discloses about their fund
Journalists and researchersEighteen years of public pension private markets returns

What it does

This Actor collects the CalPERS private equity and private debt performance tables and returns each fund as a flat row. Every row carries:

  • ๐Ÿงพ Fund core: fund name, programme, vintage year, fund age, capital committed, cash in, cash out, cash out plus remaining value.
  • ๐Ÿ“ˆ Published returns: net IRR and investment multiple, with a flag for the funds CalPERS marks as too young to measure.
  • ๐Ÿงฎ Computed multiples: DPI, TVPI, RVPI, remaining value and net gain, from the published cash flows.
  • ๐Ÿ’ฐ Commitment math: unfunded commitment, called percentage, distributed percentage and a fully called flag.
  • ๐Ÿข Manager parse: manager, fund family and fund sequence number, so Fund VII lines up with Fund VI.
  • ๐Ÿ“Š Vintage benchmark: the median net IRR of the fund's vintage, the gap against it, and whether the fund beats it.

Results export to CSV, JSON, Excel, or XML, or stream from the API.

What you can do with public pension PE data

๐Ÿ“ Benchmark a manager against its vintage.

Turn on the vintage benchmark and every fund row carries the median net IRR of its vintage year and the distance to it. That is the comparison an investment committee asks for, in one column.

๐Ÿ”Ž Screen for secondaries.

Residual value to paid-in, remaining value in dollars and the called percentage are all on the row. A filter on vintage plus RVPI is a shortlist of positions that still have value left to run.

๐Ÿ—๏ธ Build a GP track record.

The manager summary rolls every fund of a manager into one row: fund count, first and latest vintage, committed capital, commitment weighted net IRR, DPI and TVPI.

๐Ÿ“‰ Study a bad vintage.

The vintage summary gives you fund count, committed capital, TVPI and the median, best and worst IRR of every year, which is the shape of a cycle in one table.

Why choose this scraper

What you get
The full universe466 private equity funds and 64 private debt funds, not a sample
Multiples CalPERS omitsDPI, TVPI and RVPI computed from the published cash flows
Two roll-upsOne row per manager and one row per vintage year, computed across the whole table
Honest sentinelsFunds CalPERS marks N/M are flagged, not silently turned into zero
Filters before billingVintage, committed capital, IRR range, fund name and manager run on the raw record
No key, no loginThe source is a public page, so there is nothing to register

How it compares

There is no other Apify Actor that reads public pension fund level performance. The commercial alternatives are Preqin, PitchBook and Pregin-style databases, which license the same public disclosures back to you inside an annual contract. The trade off is coverage: they aggregate hundreds of LPs, this Actor reads one, and it reads it completely and for a few dollars a run.

This ActorPreqin and PitchBookReading the page yourself
Fund level IRR and multipleYesYesYes
DPI, TVPI, RVPIComputedYesNo
Vintage benchmarkComputedYesNo
LPs coveredCalPERSHundredsOne page at a time
CostA few dollars per runAnnual licenceFree and unusable at scale

What a fund row looks like

{
"rowType": "fund",
"pension": "CalPERS",
"program": "Private Equity Program",
"fundName": "57 Stars Global Opportunities Fund 2 (CalPERS), LLC",
"vintageYear": 2009,
"fundAgeYears": 17,
"capitalCommittedUsd": 500000000,
"cashInUsd": 530736052,
"cashOutUsd": 539723168,
"cashOutAndRemainingValueUsd": 735901763,
"netIrrPct": 5.3,
"investmentMultiple": 1.4,
"returnsMeasurable": "Yes",
"reportAsOf": "December 31, 2025",
"dpi": 1.017,
"tvpi": 1.387,
"rvpi": 0.37,
"remainingValueUsd": 196178595,
"netGainUsd": 205165711,
"unfundedCommitmentUsd": 0,
"calledPct": 106.15,
"distributedPctOfCommitment": 107.94,
"fullyCalled": "Yes",
"managerName": "57 Stars Global Opportunities",
"fundFamily": "57 Stars Global Opportunities Fund 2 (CalPERS)",
"vintageMedianNetIrrPct": 5.3,
"netIrrVsVintageMedianPct": 0,
"beatsVintageMedian": "Yes",
"sourceUrl": "https://www.calpers.ca.gov/investments/about-investment-office/investment-organization/pep-fund-performance",
"scrapedAt": "2026-08-28T20:11:42.774Z"
}

Configure the run

Pick what you want in Data to scrape, then filter. Filters run on the full fund record before the row is built, so you can screen by net IRR without buying the benchmark block. When you select several datasets the row cap is split between them.

Every fund, with the computed multiples:

{
"datasets": ["privateEquity", "privateDebt"],
"includeMultiples": true,
"includeCommitmentMath": true,
"maxItems": 600
}

Post 2015 vintages that beat 15% net IRR:

{
"datasets": ["privateEquity"],
"minVintageYear": 2015,
"minNetIrr": 15,
"onlyMeasurableReturns": true,
"includeVintageBenchmark": true,
"maxItems": 200
}

A manager track record and the vintage context around it:

{
"datasets": ["managerSummary", "vintageSummary"],
"managerContains": "Blackstone",
"maxItems": 100
}

Pricing

Pay per event. You are charged per row written, plus one event per performance page scanned and one start event per run.

EventPrice
Actor start$0.02 per run
Performance table scanned$0.01 per page
Private equity and private debt fund rows$0.01 per row
Manager and vintage summary rows$0.008 per row
DPI/TVPI, commitment math and vintage benchmark blocks$0.003 per row each
Manager parse block$0.002 per row
RowsTypical cost
100 fund rows$1.03
530 fund rows, the whole universe$5.33
530 fund rows with all four blocks$11.16

Volume tiers apply: Bronze pays 3.8% less, Silver 7.4% less, Gold and above 11% less.

Free users

Free Apify accounts get a 10 row preview per run, which is enough to check the schema and the field names. Upgrade to a paid plan to lift the cap to a million rows per run.

Run it

  1. Create a free Apify account. New accounts get $5 in free credit.
  2. Open the Actor, leave the default input, and press Start to see ten funds.
  3. Add your filters, tick the blocks you want, then raise Max Items to 600 for the full universe.
  4. Export the dataset to CSV, JSON, Excel or XML, or read it from the API.

Use with AI agents (MCP)

claude mcp add apify --transport sse https://mcp.apify.com/sse --header "Authorization: Bearer YOUR_APIFY_TOKEN"

Then ask in plain language:

  • "Which CalPERS private equity funds from 2018 or later beat a 20% net IRR?"
  • "Give me the manager summary for every GP with more than three CalPERS funds."
  • "What was the median net IRR of the 2019 vintage, and which funds beat it?"

Troubleshooting

Net IRR says Not Disclosed. CalPERS prints N/M for funds too young for a meaningful return, and for the entire private debt programme. The returnsMeasurable flag tells you which rows those are, and the multiples block still computes DPI and TVPI from the cash flows.

Fewer rows than I asked for. The whole universe is 530 funds. Above that, the only extra rows are the manager and vintage summaries.

A manager name looks wrong. The manager is parsed from the fund name, which is the only place it appears. Fund families with unusual naming can parse imperfectly; the raw fundName is always on the row.

The as-of date is missing on private debt rows. The private debt page does not carry an as-of line. The private equity page does, and it is on every private equity row.

No rows came back. A net IRR filter drops every fund CalPERS marks N/M, which is most recent vintages. Turn the IRR filter off to see them.

FAQ

QuestionAnswer
Which pension is covered?CalPERS, the California Public Employees Retirement System, private equity and private debt programmes.
Will other pensions be added?They are on the roadmap. Most other large systems publish fund performance only as an annual PDF, which is a different build.
How current is the data?CalPERS refreshes the table quarterly. The row carries the as-of date it publishes, currently December 31, 2025.
What is DPI, TVPI and RVPI?Distributed, total value and residual value over paid-in capital. This Actor computes all three from cash in, cash out and remaining value.
Why is IRR missing on private debt?CalPERS publishes the column but prints N/M for every private debt fund. Measured: zero percentage values in the whole table.
Can I filter by IRR without buying a block?Yes. Filters run on the raw record before projection.
Does it need a proxy?No. The source answers plain HTTP requests.
How fast is it?Measured at 921 rows in 11 seconds with a 158 MB peak.

Browse the full ParseForge collection for more scrapers.

Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

Disclaimer: this is an unofficial tool, not affiliated with CalPERS. It reads only the performance tables CalPERS publishes without a login. The data is about funds and firms, not individuals, so it carries no personal data under GDPR, CCPA or PIPL.