Skip to main content
Welcome to Contractag — an API for detecting and tagging key fields in real estate contracts. Upload a PDF and get coordinates for fields like purchaser name, signature, deposit, and more. Contractag turns PDF contracts into structured data. Upload any standard contract and get tagged fields with bounding boxes for search, checks, and signing. Use the left navigation:
  • Get Started — overview, quickstart, and base URL.
  • Endpoints — parameters, responses, and API Playground.
  • Examples — sample payloads.
  • Guides — sample contracts and mini app walkthroughs.
  • Reference — list of supported fields.
Try the API without code. Every endpoint page has an interactive API Playground. Authorize once, send requests to https://api.contractag.dev, and copy snippets. See the API Playground page under Get Started.
For privacy, Contractag returns only geometry and confidence scores — overlay them on your PDF.

What You Get

  • Field detection for purchaser, vendor, property, signatures, deposits, and more. See fields-included for all supported fields.
  • Coordinates and confidence for each tag.
  • Simple API for PDFs or images.
Request a key via support@contractag.dev and follow the quickstart guide.

Early Access Notice

This API is currently in preview and is not production-ready. Response data — especially geometry coordinates — may be noisy, inconsistent, or incorrect. Do not rely on this output for production workflows.
At this stage, the API is primarily intended to help teams understand the response structure and data types. As discussed with partners, we’re working with interested teams to secure access to more varied resources, which will help us improve accuracy and robustness over time.

Quickstart

Base URL: https://api.contractag.dev
  1. Email support@contractag.dev for an API key.
  2. Open API Playground from any endpoint, set token, paste key.
  3. Upload a PDF via Fields API.
  4. Overlay bounding boxes in your app.
curl -X POST https://api.contractag.dev/fields \
  -H "x-api-key: YOUR_API_KEY" \
  -F file=@/path/to/contract.pdf
Response (truncated):
{
  "documentId": "doc_123",
  "pages": 12,
  "fields": [
    {
      "name": "purchaser_name",
      "page": 1,
      "bbox": { "x": 142.3, "y": 258.9, "w": 210.5, "h": 24.2 },
      "confidence": 0.97
    }
  ]
}

Authentication

Requests need an API key in the x-api-key header:
x-api-key: YOUR_API_KEY
See quickstart for details.

Endpoints Overview

  • POST /fields — Extract all fields from a PDF.
  • GET /fields/{document_id} — Get fields for a document (optionally filter by page).
Full specs under Endpoints.

Example Responses

Each endpoint has a JSON sample under Examples:
  • Fields: All — multi-field payload.
  • Fields: Get — document fields (with optional page filtering).
Use to mock integrations.
Contractag returns coordinates and confidence only; text stays in your PDF.

Bounding Boxes

Boxes are in PDF points, origin bottom-left. Format: { x, y, w, h }. Tip: Match scale and transform when rendering on images.

Next Steps

  • Check quickstart for checklist.
  • Browse api/endpoints/overview and endpoints.
  • Copy from api/examples/fields-all.
  • See fields-included for supported fields.
  • Explore guides for samples and walkthroughs.
I