Try it free

Rent Roll Extraction API

One HTTP call: rent roll in, verified structured JSON out. Built for lending platforms, underwriting tools, and CRE data pipelines — self-serve from $49/month, no sales call.

Try 3 documents free Read the API docs

The request

curl -X POST "https://rentrollapi.com/v1/extract?format=json" \
  -H "X-Api-Key: YOUR_KEY" \
  -F "file=@rent-roll.pdf"

Accepts PDF (native or scanned), Excel (.xlsx), CSV, and HTML. Send ?format=xlsx or ?format=csv to get a spreadsheet back instead of JSON.

The response: a canonical rent roll schema

Every document — whether it came from Yardi, RealPage, AppFolio, or a scanned printout — comes back in the same shape, so your downstream code never changes:

{
  "propertyName": {"value": "Maplewood Apartments", "confidence": 0.98},
  "units": [
    {
      "unitNumber":   {"value": "101",       "confidence": 0.99},
      "tenantName":   {"value": "J. Alvarez", "confidence": 0.97},
      "squareFeet":   {"value": 850,          "confidence": 0.98},
      "leaseStart":   {"value": "2025-04-01", "confidence": 0.96},
      "leaseEnd":     {"value": "2026-03-31", "confidence": 0.96},
      "monthlyRent":  {"value": 1450.00,      "confidence": 0.99},
      "occupancy":    {"value": "Occupied",   "confidence": 0.99}
    }
  ],
  "verification": {
    "status": "Verified",
    "documentConfidence": 0.97,
    "checks": [
      {"name": "Total rent reconciliation", "result": "Pass",
       "detail": "Recomputed $28,155.00 matches stated total $28,155.00"},
      {"name": "Unit count", "result": "Pass", "detail": "8 extracted, 8 stated"}
    ]
  }
}

Why verification matters in an extraction API

Generic document-AI APIs return extracted values with an accuracy claim and leave reconciliation to you. That is disqualifying in underwriting: one silently wrong rent figure in a 200-unit roll and the NOI is wrong.

RentRollAPI runs a deterministic verification pass on every document:

The methodology and per-document results are public: accuracy benchmark on real SEC-filed rent rolls.

Errors you can build against

StatusMeaning
200Extraction succeeded; verification report included
400Missing/empty file or unknown format parameter
401Invalid or revoked API key
422Document is corrupt, password-protected, or not a supported format
429Monthly quota exceeded and no prepaid credits remain

Pricing without a sales call

Most rent-roll tools either gate their API behind $7,000+/year plans or require an enterprise demo. RentRollAPI is self-serve: $49/mo for 50 documents, $199/mo for 300, or a $37.50 pay-as-you-go 25-doc pack — all with full API access. Documents are never retained after processing.

See pricing Try it free — no signup

Related guides