# Get Started

Source: https://pdfparse.net/docs/getting-started

Create a project key, check authentication, and create your first extraction table.



Use this guide to make your first PdfParse API request.

## Before you start

You need:

* a PdfParse account
* a project
* a project API key
* `curl`

Create the API key from **Project → API Keys**. Copy it when the application shows it.

Store the key in an environment variable:

```bash
export PDFPARSE_API_KEY="replace_with_your_project_key"
```

Do not put the key in browser code. Do not commit it to source control.

## 1. Check the key

List the tables in the project:

```bash
curl "https://api.pdfparse.net/v1/tables" \
  -H "Authorization: Bearer ${PDFPARSE_API_KEY}"
```

A new project can return an empty array. This result confirms that the key works.

* A `401` response means that the key is missing or invalid.
* A `403` response means that the key does not have permission for the operation.

## 2. Create a table

Create an invoice table with four fields:

```bash
curl -X POST "https://api.pdfparse.net/v1/tables" \
  -H "Authorization: Bearer ${PDFPARSE_API_KEY}" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: getting-started-invoices-v1" \
  -d '{
    "name": "invoices",
    "columns": [
      {
        "name": "invoice_number",
        "prompt": "Invoice number as printed",
        "type": "text"
      },
      {
        "name": "invoice_date",
        "prompt": "Invoice date",
        "type": "date"
      },
      {
        "name": "vendor",
        "prompt": "Vendor name",
        "type": "text"
      },
      {
        "name": "total",
        "prompt": "Final invoice total without a currency symbol",
        "type": "number"
      }
    ]
  }'
```

Store the returned `id` and `slug`. You need them for row queries and extraction jobs.

Use `text` for identifiers that can contain letters or leading zeros. Use `number` for values that you must calculate.

## 3. Confirm the table

List the tables again:

```bash
curl "https://api.pdfparse.net/v1/tables" \
  -H "Authorization: Bearer ${PDFPARSE_API_KEY}"
```

Confirm that the response contains the `invoices` table.

## Next step

Follow [How to Extract Data From a PDF](https://pdfparse.net/docs/how-to-extract-pdf-data) to upload a document, create a job, and query the extracted rows.

Use the endpoint reference in the left sidebar when you need request and response details.

