> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://infersoft.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://infersoft.ferndocs.com/_mcp/server.

# Quickstart

This walkthrough takes a document portfolio from raw files to decision-ready
extraction results. Each step maps to a resource in the [API Reference](/api-reference).

#### Plan an upload

Request presigned URLs for the files you want to ingest.

```python
from infersoft import Infersoft

client = Infersoft(client_id="...", client_secret="...")

upload = client.uploads.create(
    files=[{"filename": "lease-portfolio.pdf", "content_type": "application/pdf"}],
)
```

#### Organize into folders and projects

Create a folder to hold the portfolio and a project for the deal.

```python
folder = client.folders.create(name="2026 Permian Acquisition")
project = client.projects.create(name="Permian Diligence")
```

#### Start an extraction job

Estimate the credit cost, then start the workflow.

```python
estimate = client.jobs.estimate_credits(document_ids=[...])
job = client.jobs.start(project_id=project.id, document_ids=[...])
```

#### Track the job

Poll the job until it completes.

```python
status = client.jobs.get(id=job.id)
```

#### Search the results

Page through extraction results — the SDK auto-paginates.

```python
for result in client.documents.search_extraction_results(page=1, page_size=50):
    print(result)
```

## Pagination

Every search endpoint is paginated with `page` / `page_size`, and the SDK returns an
auto-paginating iterator — just loop over it and the client fetches each page for you
until `has_more` is false.