ShapeForge

API Dashboard

Sign in to manage your API key and view usage

Check your email

We sent a login link to

No password required — we'll email you a secure link.

ShapeForge · API Dashboard

Overview

Your API key and usage stats

Live Key

LIVE

Use this key in the Authorization: Bearer <key> header

API Docs → Demo
⚠️ Copy this key now — it won't be shown again.
Monthly usage — / — docs

Free tier · Resets on the 1st of each month

Regenerate API key

Your current key will stop working immediately

Test Key

SANDBOX

Use sk_test_ keys to get deterministic mock responses — no documents parsed, zero cost.

API Docs → Demo
⚠️ Copy this test key now — it won't be shown again.

What sandbox mode returns

  • · Exact same JSON schema as production responses
  • · 3 variants: invoice, receipt, form (deterministic per filename)
  • · No rate limits · No monthly quota · sandbox: true flag in response

Today

—

documents

This week

—

documents

This month

—

documents

Avg speed

—

milliseconds

Parse volume

Documents parsed per day (last 30 days)

No parses yet. Make your first API call to see data here.

Site Analytics

Pageviews, conversions and traffic sources

Today

—

pageviews

Last 7 days

—

pageviews

Last 30 days

—

pageviews

Demo parses (7d)

—

Demo parses (30d)

—

Waitlist (7d)

—

Waitlist (30d)

—

Conversion funnel last 7 days

Top referrers 30d

Loading…

Top pages 7d

Loading…

UTM sources last 7 days

Loading…

Quick start

curl -X POST https://shapeforge-4vqx.polsia.app/api/v1/parse \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@invoice.pdf"
import requests

api_key = "YOUR_API_KEY"

with open("invoice.pdf", "rb") as f:
    response = requests.post(
        "https://shapeforge-4vqx.polsia.app/api/v1/parse",
        headers={"Authorization": f"Bearer {api_key}"},
        files={"file": f}
    )

data = response.json()
print(data["document_type"])
print(data["extracted_fields"])
const FormData = require('form-data');
const fs = require('fs');
const fetch = require('node-fetch');

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

const res = await fetch('https://shapeforge-4vqx.polsia.app/api/v1/parse', {
  method: 'POST',
  headers: { 'Authorization': `Bearer ${apiKey}`, ...form.getHeaders() },
  body: form
});

const data = await res.json();
console.log(data.document_type, data.extracted_fields);
Testing your integration? Swap in your sk_test_ key — you'll get deterministic mock responses with no quota usage.
Live tier limits: 100 documents/month — Upgrade your plan for more documents.