# subpay.ai Construction Pay Application Extractor

> subpay.ai Construction Pay Application Extractor is a paid API for AI agents from subpay.ai, paid per call via x402, $0.2/call, status unknown (last checked 2026-10-20).

Parses AIA G702/G703, Procore, Textura, or change order PDFs into structured financial figures with arithmetic validation

## Facts

- Endpoint: POST https://subpay.ai/api/v1/extract?utm_source=zero.xyz
- Price: $0.2/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-20
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/subpay-ai-construction-pay-application-extractor-ca290bd3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ltpESQp5Mo5BQcLZtirGC

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability subpay-ai-construction-pay-application-extractor-ca290bd3 -d '<json body>'
```

Example prompt: I have a subcontractor's AIA G702/G703 pay application PDF — can you extract all the structured figures from it and verify the arithmetic? The subcontractor is Apex Mechanical and the GC is Turner Construction.

## When to prefer this

Use this endpoint when you need to programmatically extract and validate financial data from construction-specific pay application formats (AIA G702/G703, Procore, Textura) or change orders. Prefer it over generic PDF extractors because it understands construction billing document structure and performs domain-specific arithmetic validation.

## Known failure modes

- PDF exceeds 4 MB decoded size limit — request rejected
- Malformed or unreadable PDF — extraction fails with parsing error
- Document format not recognized as AIA G702/G703, Procore, Textura, or change order — incomplete extraction
- Base64 encoding errors in the document field — invalid input error
- Scanned/image-only PDFs without readable text may yield incomplete extraction

## How this service works

Get every pay app out on time and every dollar back in. AIA G702/G703 in minutes, retainage tracking, and every GC billing deadline on one calendar.

## Output

A structured JSON object containing extracted financial figures from the pay application, including line items, contract amounts, work completed to date, retainage, amount due, and arithmetic validation results indicating whether the numbers check out.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "document"
     ],
     "properties": {
      "gc": {
       "type": "string",
       "description": "Optional general contractor name."
      },
      "document": {
       "type": "string",
       "description": "The PDF, base64-encoded. Max 4 MB decoded."
      },
      "fileName": {
       "type": "string",
       "description": "Optional original file name."
      },
      "subcontractor": {
       "type": "string",
       "description": "Optional subcontractor company name."
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "checks": [
   {
    "name": "g702_math",
    "detail": "contract sum to date − completed to date (+ retainage held) = balance to finish",
    "passed": true
   }
  ],
  "document": {
   "periodTo": "2026-06-30",
   "changeOrders": [],
   "documentType": "PAY_APPLICATION",
   "grossThisPeriod": 41819.65,
   "applicationNumber": "27",
   "contractSumToDate": 63388,
   "currentPaymentDue": 37637.69,
   "retainageHeldToDate": 4181.96,
   "retainageRatePercent": 10,
   "retainageReleasedThisPeriod": null,
   "totalCompletedAndStoredToDate": 41819.65,
   "balanceToFinishIncludingRetainage": 25750.31
  },
  "warnings": [],
  "confidence": 0.95
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/subpay-ai-construction-pay-application-extractor-ca290bd3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from subpay.ai](https://www.zero.xyz/host/subpay.ai/llms.txt)
