Contract tracker + contracts

Query your contract tracker and the signed contracts behind it.

Keep the tracker in Excel or Airtable. Upload the agreements as PDF or Word. DocQuery extracts the terms you care about into a table, links each contract to its tracker row, and serves both over REST, GraphQL, and MCP.

How it fits together

1

Connect the tracker

Import the sheet or base that lists your contracts: counterparty, owner, contract id, status. Excel and Airtable stay in sync.
2

Upload the agreements

AI extraction turns each PDF or Word file into rows, such as contract id, start date, renewal date, notice period, and fees. Review and edit before you rely on them.
3

Link them

Define a relation like contract_terms.contract_id → tracker.contract_id, so each tracker row points at the terms pulled from its document.
4

Ask questions

Filter by column over REST, or let Claude or Cursor follow the link over MCP: "Which contracts renew in the next 90 days, and who owns them?"

What a call looks like

Extracted contract terms for one counterparty, with the tracker row embedded. Table and column names are whatever your files use.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://docquery.io/api/v1/tables/contract_terms/rows?counterparty=Acme&include=contract_id"

Try a real call now, no signup. This uses the public read-only demo key (example customers and invoices):

curl -H "Authorization: Bearer dq_demo_readonly" \
  "https://docquery.io/api/v1/tables/example_invoices/rows?status=due&include=customer_id"

See also PDF to API, Excel + PDFs, and the MCP server.

When this is the right tool

  • Tens to a few thousand contracts, tracked in a spreadsheet you don't want to replace.
  • You want an app or AI agent to answer questions across the tracker and the documents.
  • DocQuery is not a contract lifecycle management system: no redlining, e-signature, or approval workflows. Extracted values are AI output, so check the ones that matter.

Free plan: 5 documents and 10,000 rows, no card.