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

# Playground

> Try Parsefy without writing code: Financial Document Infrastructure for Developers

## Try Parsefy

The Parsefy Playground lets you test financial document extraction without writing any code or signing up.

<Card title="Open Playground" icon="play" href="https://try.parsefy.io">
  Try Parsefy in your browser
</Card>

## How it works

1. **Upload a document**: Drag and drop or select a PDF or DOCX file (invoices, receipts, bills)
2. **Define your schema**: Use the visual editor or write JSON Schema directly
3. **Extract data**: See the structured output with field-level confidence and evidence

## Features

<CardGroup cols={2}>
  <Card title="No signup required" icon="user-check">
    Start extracting immediately without creating an account
  </Card>

  <Card title="Visual schema builder" icon="wand-magic-sparkles">
    Build schemas with a drag-and-drop interface
  </Card>

  <Card title="Field-level confidence" icon="chart-line">
    See confidence scores and source evidence for each extracted field
  </Card>

  <Card title="Export code" icon="code">
    Get ready-to-use code snippets for your project
  </Card>
</CardGroup>

## Limitations

The playground has usage limits to prevent abuse:

| Limit           | Value            |
| --------------- | ---------------- |
| Credits per day | 10 credits       |
| Max file size   | 10 MB            |
| Rate limit      | 1 request/second |

<Note>
  Credits reset at midnight UTC. For unlimited extractions, join the [waitlist](https://parsefy.io) to get an API key.
</Note>

## From playground to production

Once you've tested your schema in the playground, you can export code for your preferred language:

<CodeGroup>
  ```typescript TypeScript theme={null}
  import { Parsefy } from 'parsefy';
  import * as z from 'zod';

  const client = new Parsefy();

  // Schema exported from playground
  const schema = z.object({
    // REQUIRED - triggers fallback if below confidence threshold
    invoice_number: z.string().describe('The invoice number'),
    total: z.number().describe('Total amount including tax'),

    // OPTIONAL - won't trigger fallback if missing
    date: z.string().optional().describe('Invoice date'),
    vendor: z.string().optional().describe('Vendor name'),
  });

  const { object, metadata, verification } = await client.extract({
    file: './invoice.pdf',
    schema,
    confidenceThreshold: 0.85,
    enableVerification: true,
  });

  console.log(`Confidence: ${object?._meta.confidence_score}`);
  if (verification) {
    console.log(`Verification: ${verification.status}`);
  }
  ```

  ```python Python theme={null}
  from parsefy import Parsefy
  from pydantic import BaseModel, Field

  client = Parsefy()

  # Schema exported from playground
  class Invoice(BaseModel):
      # REQUIRED
      invoice_number: str = Field(description="The invoice number")
      total: float = Field(description="Total amount including tax")
      
      # OPTIONAL
      date: str | None = Field(default=None, description="Invoice date")
      vendor: str | None = Field(default=None, description="Vendor name")

  result = client.extract(
      file="invoice.pdf",
      schema=Invoice,
      confidence_threshold=0.85,
      enable_verification=True
  )

  if result.meta:
      print(f"Confidence: {result.meta.confidence_score}")
  if result.verification:
      print(f"Verification: {result.verification.status}")
  ```
</CodeGroup>

<Warning>
  **Remember:** All fields are required by default. Mark fields as optional if they might be missing in >20% of your documents to avoid triggering the expensive fallback model.
</Warning>

## Next steps

<CardGroup cols={2}>
  <Card title="Get API Key" icon="key" href="https://parsefy.io">
    Join the waitlist for production access
  </Card>

  <Card title="Node.js Quickstart" icon="node-js" href="/quickstart/node/introduction">
    Set up Parsefy in your Node.js project
  </Card>

  <Card title="Python Quickstart" icon="python" href="/quickstart/python/introduction">
    Set up Parsefy in your Python project
  </Card>

  <Card title="Schema Guide" icon="brackets-curly" href="/learn/schema-basics">
    Learn how to create effective schemas
  </Card>
</CardGroup>
