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

# Quick Start

> Extract your first invoice in under 5 minutes.

## 1. Get your API key

Sign up at [parzo.dev](https://parzo.dev) and generate your API key from the dashboard.

Your key looks like this: `inv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`

## 2. Send your first invoice

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.parzo.dev/v1/extract/invoice \
    -H "X-API-Key: inv_your_key_here" \
    -F "file=@invoice.pdf"
  ```

  ```python Python theme={null}
  import requests

  with open("invoice.pdf", "rb") as f:
      response = requests.post(
          "https://api.parzo.dev/v1/extract/invoice",
          headers={"X-API-Key": "inv_your_key_here"},
          files={"file": f}
      )

  print(response.json())
  ```

  ```javascript Node.js theme={null}
  import FormData from "form-data";
  import fs from "fs";
  import fetch from "node-fetch";

  const form = new FormData();
  form.append("file", fs.createReadStream("invoice.pdf"));

  const response = await fetch("https://api.parzo.dev/v1/extract/invoice", {
    method: "POST",
    headers: {
      "X-API-Key": "inv_your_key_here",
      ...form.getHeaders()
    },
    body: form,
  });

  console.log(await response.json());
  ```
</CodeGroup>

You'll receive immediately:

```json theme={null}
{
  "job_id": "3419ae1e-93c3-48a1-95ac-833c390f9916",
  "status": "pending",
  "estimated_seconds": 15,
  "poll_url": "/v1/jobs/3419ae1e-93c3-48a1-95ac-833c390f9916",
  "quota_remaining": 99
}
```

## 3. Get the result

Wait 5-30 seconds, then poll for the result:

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.parzo.dev/v1/jobs/3419ae1e-93c3-48a1-95ac-833c390f9916 \
    -H "X-API-Key: inv_your_key_here"
  ```

  ```python Python theme={null}
  import requests
  import time

  job_id = "3419ae1e-93c3-48a1-95ac-833c390f9916"

  while True:
      response = requests.get(
          f"https://api.parzo.dev/v1/jobs/{job_id}",
          headers={"X-API-Key": "inv_your_key_here"}
      ).json()

      if response["status"] == "completed":
          print(response["result"])
          break
      elif response["status"] == "failed":
          print("Error:", response["error"])
          break

      time.sleep(5)
  ```
</CodeGroup>

When completed:

```json theme={null}
{
  "status": "completed",
  "confidence": 0.95,
  "processing_ms": 942,
  "result": {
    "vendor": {
      "name": "Acme Srl",
      "vat_number": "IT12345678903"
    },
    "invoice": {
      "number": "FT-2026-001",
      "date": "2026-04-01",
      "due_date": "2026-05-01",
      "currency": "EUR"
    },
    "financials": {
      "subtotal": 1000.00,
      "tax_rate": 22,
      "tax_amount": 220.00,
      "total": 1220.00
    },
    "line_items": [
      {
        "description": "Servizio consulenza",
        "quantity": 10,
        "unit_price": 100.00,
        "amount": 1000.00
      }
    ]
  }
}
```

<Check>
  You've extracted your first invoice. Next: read the full [API Reference](/api-reference/extract-invoice) or explore [integrations](/guides/n8n).
</Check>
