---
title: "How do I generate a PDF or HTML factsheet from an ISIN?"
description: "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. Every plan, Free included; white label on Pro. Code and options."
canonical: https://fundfactsapi.com/answers/how-to-generate-a-pdf-factsheet-from-an-isin
published: 2026-09-12
updated: 2026-10-13
publisher: FundFacts API
---

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

**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 and the KID's cost lines, 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. Every plan, the Free one included (a PDF counts 2 of the 5 free lookups, a web page 1); Pro adds your logo, removes the FundFacts line and licenses the sheets for clients. No code: the dashboard's Factsheets tab makes the same sheet in one click.

## 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.

## Links instead of bytes

```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/….pdf", "embed": "<iframe src=\"https://fundfactsapi.com/f/…\" title=\"Fund factsheet\" width=\"100%\" height=\"1100\"></iframe>" } }
```

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

## Options

| Field | Values |
|---|---|
| `format` | `"html"` (1 request) or `"pdf"` (2) |
| `deliver` | `"file"` (default, the document) or `"link"` (JSON with URLs) |
| `title` | Up to 80 characters, printed in the header in place of the FundFacts wordmark (every plan) |
| `theme`, `accent` | `"light"` / `"dark"`, and a hex colour such as #1F5EFF |
| `branding` | Pro and above may set `false` to drop the "Powered by FundFacts API" line |
| `logo` | Pro and above: https URL of your logo (PNG, JPEG, WebP, GIF or SVG), printed in the header |

## No code

The dashboard's Factsheets tab (https://fundfactsapi.com/dashboard?tab=factsheets, free account) makes the same sheet without code: search the fund by name or paste its ISIN, pick PDF or web page, the theme, an accent colour and the name in the header, then generate. Every public fund page under /funds/{isin} has a button that opens the generator on that fund.

## 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](https://fundfactsapi.com/blog/generate-pdf-factsheets-from-json) and the [client reporting use case](https://fundfactsapi.com/use-cases/client-reporting) show both routes.

## FAQ

### Does the factsheet update when the data changes?

A share link renders the stored sheet, frozen on the day it was made. Generate it again (the dashboard's "Generate again" action, or the endpoint) for today's figures; the as-of date is printed on the page.

### Do I need a credit card to try it?

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

## 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.
