> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kadoa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PDFs

> Extract fields, tables, and document content from PDFs, and monitor them for changes

Extract structured data or full document content from PDFs, once or on a schedule. You can start with a direct link to a PDF, or with a web page that links to one. Either way, the [Kadoa Agent](https://docs.kadoa.com/docs/ui/getting-started.md) can find and download PDFs as part of your workflow.

## Supported documents

You can extract from PDFs with selectable text, scanned pages, or a mix of both. Kadoa uses optical character recognition (OCR) to read text in scans.

Supported content includes:

* Text in reports, filings, and announcements
* Tables, including tables with merged cells or rows across multiple pages
* Fields in forms
* Images and figures included with document content

## Create a PDF workflow

1. In the dashboard, choose **Workflow** and provide one or more PDF URLs, or the web page where the PDFs are linked.
2. Describe which PDFs to collect, and what to extract. If desired, you can specify date ranges, document titles or types, or sections within the documents.
3. Specify what each row represents, such as one document, one product, or one table row.

The Agent builds your workflow and shows you a preview.

4. You can compare the preview with the source PDFs, including table rows, units, and values from scanned pages.
5. Select **Approve** when the results are correct.

You can add [scheduling](https://docs.kadoa.com/docs/ui/workflows/scheduling.md) and a [data destination](https://docs.kadoa.com/docs/destinations/overview.md) to deliver future runs automatically.

## Choose your output

### Structured fields

Ask for the fields you need, such as report date, revenue, product code, or price. Kadoa returns them using your workflow's [schema](https://docs.kadoa.com/docs/workflows/schemas.md).

You can combine fields from the PDF with details from its web page, such as the title, publication date, and source URL. For tables, specify whether you want each row as a separate record.

### Full document content

Request the complete document as HTML, Markdown, or both. You can include document content alongside extracted fields in the same dataset.

| Format | What you receive |
| - | - |
| HTML | Document content with headings, text, tables, captions, and image links. This is the default format. |
| Markdown | Document content formatted for use in text-based tools. Request Markdown explicitly in your prompt. |
| Both | HTML and Markdown versions of the same document, sharing the same image attachments. |

Images are included by default with document content. Each attachment has an ID and a URL, and the content links to the image. If you only need text and tables, ask the Agent to omit images.

> [!NOTE]
>
> Markdown can contain HTML tables when merged cells or other table structure cannot be represented in Markdown.

If these output options are unavailable in your workspace, contact the [Support Center](https://docs.kadoa.com/docs/support-center.md).

## Example prompts

> [accordion] Extract fields from company reports
>
> ```text theme={null}
> - Go to <INVESTOR_RELATIONS_URL>
> - Find all quarterly earnings reports published in 2025
> - Open each PDF and extract: company_name, report_date, fiscal_quarter, revenue, net_income
> - Include the currency and units used for each financial value
> - Return one row per report and include the source PDF URL
> ```

> [accordion] Extract a table across multiple pages
>
> ```text theme={null}
> - Open <PDF_URL>
> - Extract every product from the price list, across all pages
> - Return one row per product with: product_code, product_name, price, currency
> - Exclude repeated column headers and page footers
> ```

> [accordion] Keep document content and images
>
> ```text theme={null}
> - Go to <PUBLICATIONS_URL>
> - Collect all PDF announcements published this month
> - Return one row per document with: title, publication_date, source_url, content
> - Include the complete document in content as Markdown, with tables and image attachments
> ```

For more guidance, see [Writing prompts](https://docs.kadoa.com/docs/workflows/prompts.md).

## Monitor PDFs for changes

Schedule your workflow to collect new PDFs, or refresh data from existing documents. Enable [change detection](https://docs.kadoa.com/docs/change-detection.md) and [notifications](https://docs.kadoa.com/docs/notifications.md) to receive updates when the extracted data changes.

You can also monitor a public PDF URL in **Real-time** mode and receive notifications when it changes. Use a scheduled workflow for OCR and full document content extraction.

To start extraction when a new report appears, monitor its listing page and add a [Data changed trigger](https://docs.kadoa.com/docs/ui/workflows/triggers.md).

> [!NOTE]
>
> Real-time monitoring is available on request. Contact the [Support Center](https://docs.kadoa.com/docs/support-center.md) to enable it for your workspace.

## Limits

* PDF files can be up to 100 MiB.
* PDFs that require a password cannot be processed. Provide an unlocked copy.
* Scan quality affects extraction accuracy. Check small text, faint numbers, and complex tables against the original during preview.

For help setting up or updating a PDF workflow, contact the [Support Center](https://docs.kadoa.com/docs/support-center.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.