Workflows

How do I generate a PDF or HTML factsheet from an ISIN?

POST /api/v1/factsheets with an ISIN returns a one-page factsheet as HTML or PDF, or keyless share and embed links, with your title, theme and accent colour. White-label on Pro. Code and options.Updated 12 September 2026 · by FundFacts API

Short answer

POST https://fundfactsapi.com/api/v1/factsheets with { "isin": "…", "format": "pdf" } returns a one-page factsheet rendered from the fund's current payload (key facts, fees, risk scale, growth chart, holdings, sector and country charts, returns tables, as-of date). Ask for "html" for a web page, or add "deliver": "link" to get keyless share, PDF and embed URLs you can mail or iframe. Starter and above; Pro removes the FundFacts branding. An HTML render counts one request, a PDF two.

One call

bash
curl -s -X POST https://fundfactsapi.com/api/v1/factsheets \
-H "Authorization: Bearer $FUNDFACTS_API_KEY" -H "Content-Type: application/json" \
-d '{"isin":"IE00B4L5Y983","format":"pdf","title":"Prepared for J. Doe","accent":"#1F5EFF","theme":"light"}' \
-o factsheet.pdf

The response is the document (application/pdf or text/html); the headers X-Factsheet-Url and X-Factsheet-Pdf-Url carry keyless links to the same render.

bash
curl -s -X POST https://fundfactsapi.com/api/v1/factsheets -H "Authorization: Bearer $FUNDFACTS_API_KEY" -H "Content-Type: application/json" \
-d '{"isin":"IE00B4L5Y983","format":"html","deliver":"link"}'
json
{ "id": "fs_…", "isin": "IE00B4L5Y983", "name": "iShares Core MSCI World UCITS ETF", "format": "html", "dataAsOf": "2026-09-01",
"urls": { "html": "https://fundfactsapi.com/f/…", "pdf": "https://fundfactsapi.com/f/…?format=pdf", "embed": "https://fundfactsapi.com/f/…?embed=1" } }

The URLs need no key: mail the PDF link to a client, put the HTML link in a CRM, drop the embed URL in an iframe. GET /factsheets lists your renders, GET /factsheets/{id}?format=pdf re-renders, PATCH marks favourites, DELETE removes.

Options

FieldValues
format"html" (1 request) or "pdf" (2)
deliver"file" (default, the document) or "link" (JSON with URLs)
titleFree text printed at the top
theme, accent"light" / "dark", any CSS colour
brandingPro and above may set false to drop the "Powered by FundFacts API" line

In your own layout

The factsheet is rendered with the open-source React components in @fundfactsapi/widgets (growth chart, donut, weight bars, key-fact tiles, risk scale, returns tables and a composite FundFactsheet), so you can also build the page yourself from the JSON and print it with your own stack. Generate PDF factsheets from JSON and the client reporting use case show both routes.

Verify it yourself

The demo endpoint returns the live payload for a fund that is already in the store, without a key. Everything on this page can be checked against it.
bash
curl -s https://fundfactsapi.com/api/v1/demo/funds/IE00B4L5Y983 | jq '{name, asOf: .data.dataAsOf, ter: .data.headlineMetrics.ter, risk: .data.riskRating, top: .data.topHoldings[:3]}'

Frequently asked questions

Does the factsheet update when the data changes?

A share link renders the stored factsheet; call the endpoint again (or GET /factsheets/{id}) to render with the current payload. The as-of date is printed on the page.

Do I need a credit card to try it?

No. The Free plan is 15 lookups per month with no card; sign up with an e-mail address or Google and the key is shown in the dashboard.

Try it on your own ISINs

One request returns key facts, holdings, risk and performance as JSON. Free plan, no card.