---
title: "Should I scrape fund factsheets myself or use an API?"
description: "What a factsheet pipeline actually involves (per-issuer adapters, PDF tables, share classes, monthly layout changes, KID parsing) and when building it is worth it versus one API call per ISIN."
canonical: https://fundfactsapi.com/answers/should-i-scrape-fund-factsheets-or-use-an-api
published: 2026-09-12
updated: 2026-10-13
publisher: FundFacts API
---

# Should I scrape fund factsheets myself or use an API?

**Short answer:** Scrape if fund data is your product and you need something the API does not return; otherwise use the API. A pipeline that reads factsheets, KIDs and holdings files across dozens of fund houses is a per-issuer adapter set that breaks whenever a layout changes, plus PDF table parsing, share-class resolution and freshness tracking. FundFacts API runs exactly that pipeline and returns one JSON shape per ISIN, refreshed daily, from $0 for 5 lookups a month.

## What the pipeline contains

1. **Resolution.** ISIN → fund house → product page. Every issuer has its own URL scheme, search form or JSON endpoint, often behind a cookie or investor-type gate.
2. **Documents.** The factsheet PDF (monthly, per share class), the KID PDF (per class and language), the holdings file (CSV, XLSX, sometimes JSON) and the NAV history. Formats and locations differ per issuer and change without notice.
3. **Parsing.** Tables in PDFs are not tables; they are positioned text. Top-ten, sector and country tables need per-layout extraction; the KID cost table needs per-language labels.
4. **Normalisation.** "0,20 %" vs "0.20%", "USD 151.7bn" vs "151,700 Mio. USD", dates in three locales, sector taxonomies, accumulating vs distributing conventions.
5. **Derivation.** Series rebased to 100, volatility, Sharpe, drawdown, a classification you can filter on.
6. **Operations.** Refresh scheduling, change detection, retries, monitoring the adapters that broke this month.

The [comparison with building your own parser](https://fundfactsapi.com/compare/fundfacts-api-vs-building-your-own-factsheet-parser) puts numbers on the effort.

## When scraping is right

- The data you need is not in the payload (analyst commentary, intraday prices, a proprietary field) and no vendor has it.
- Fund data *is* your product and the pipeline is your moat.
- You need one fund house only and its site is stable.

## When the API is right

- You are building a screener, a reporting tool, a chatbot, a CRM enrichment or a research notebook and fund data is an input, not the product.
- You need many fund houses in one shape.
- You need it this week.

```bash
curl -s --max-time 300 https://fundfactsapi.com/api/v1/funds/IE00B4L5Y983 -H "Authorization: Bearer $FUNDFACTS_API_KEY"
```

## The middle path

`POST /extract` (Pro and above) runs the KID and factsheet parsers on a PDF you supply and returns the same JSON, so a fund outside the covered issuers does not force you to write a parser either.

## FAQ

### Is scraping fund-house sites allowed?

Documents published for investors are public, but each site's terms differ and many block automated access. The API's terms cover your use of the resulting data; check the fund house's terms if you crawl yourself.

## About FundFacts API

FundFacts turns any fund or ETF ISIN into one dated factsheet (fees and KID costs, the 1–7 risk indicator, holdings, sector and country exposure, returns) read from the fund house's own documents: as a client-ready PDF under your firm's name for advisers and wealth managers, as JSON through its API for developers, or inside ChatGPT and Claude through its MCP server.

FundFacts works inside ChatGPT and Claude as a connector (a remote MCP server): ask about any fund or ETF by ISIN, ticker or name and the assistant answers from FundFacts' dated figures, fees, risk, holdings, exposure and returns, with fund cards, side-by-side comparisons, holdings overlap and portfolio look-through.

- Free API key, no card: https://fundfactsapi.com/signup
- Documentation: https://fundfactsapi.com/docs (OpenAPI: https://fundfactsapi.com/openapi.json)
- MCP server: https://fundfactsapi.com/api/mcp (set-up for every client: https://fundfactsapi.com/mcp-server)
- Pricing: https://fundfactsapi.com/pricing
- Site index for AI assistants: https://fundfactsapi.com/llms.txt
- Informational data, not investment advice.
