QuickData.ai

Multifamily Rent Rolls and T12s In. Standardized JSON Out.

One API call returns the same JSON every time, checked against the document's own totals. For developers and SaaS companies.

Get your API key Read the documentation First 20 documents free. Then $99 a month for 100 documents, and $1 per document after that.
rent_roll.xlsxThe document
UnitTypeResidentLease endRent
101A1Rivera, Jordan06/30/20271,450
102B2Chen, Avery02/28/20271,895
103A1Okafor, Sam11/30/20261,460
Total · 3 units4,805
200 OKChecked against the document's totals
{
  "rows": [
    { "unit_num": "101", "rent_total": "1450", … },
    { "unit_num": "102", "rent_total": "1895", … },
    { "unit_num": "103", "rent_total": "1460", … }
  ],
  "report": { "status": "ok" }
}
Illustration with sample data. Every row comes back with the same field names, dates in one format and money as a plain number.

Every Document Comes Back in the Same Shape

Rent rolls and T12s look different in every property management system. The API reads the layout, pulls out the data, and returns it in one fixed schema your code can rely on.

Run It on Your Own Rent Roll or T12

See what comes back for your file before you write any code.

A Tested Solution You Don't Have to Build

Start Building

Endpoints for rent rolls and T12s, the full response schema, and examples you can copy in cURL, Python and JavaScript.

Request
curl -X POST \
  https://data.quickdata.ai/v1/extract \
  -H "Authorization: Bearer $QD_KEY" \
  -F "file=@rent_roll.xlsx"
Response · 200 OK
{
  "rows": [ one object per unit ],
  "unit_mix": { totals by unit type },
  "report": { "status": "ok", checks }
}
Get your API key A credit card is required to sign up. Billing starts only after your first 20 documents.

Questions About Integrating It?

Talk to David about your volume, your systems or a deeper integration.

David Bratslavsky
David BratslavskyMultifamily investor and former CTO
Schedule a call

The API, Answered.

What does the rent roll and T12 API return?

Standardized JSON. A multifamily rent roll comes back as one object per unit with the same field names every time, plus a unit mix summary. A T12 comes back as categorized monthly line items, each with its twelve monthly values and the total the statement prints. Both include a report that says whether the result matched the document's own totals.

Do I need separate endpoints for rent rolls and T12s?

No. Send any file to one endpoint and it works out whether it is a rent roll or a T12.

Which file formats does the API accept?

Excel (xlsx, xls), CSV and PDF, up to 25 MB, from Yardi, RealPage, Entrata, AppFolio and other property management systems. Every source comes back in the same schema, so you write your integration once.

How is the API priced?

Your first 20 documents are free. After that it is $99 a month for 100 documents, and $1 per document after that. A credit card is required to sign up, and billing starts only after your first 20 documents.

Am I billed for a file the API can't read?

No. A file that can't be read is not billed. Every document that is read is counted.

How do I know a result is right before I use it?

Each result is compared with the totals the document prints. It comes back marked ok or needs review, with the reason, so your code can decide what to do with it.

Can I call the API from Claude, ChatGPT or my own AI agent?

Yes. You can call the same extraction from Claude, ChatGPT or your own AI agent, on the same account.

Who is the API for?

Developers at companies with their own software or database, and commercial real estate software providers that want tested rent roll and T12 extraction in their own product instead of building and maintaining it themselves.

How accurate is the extraction?

99.3% accurate, measured on real multifamily rent rolls and T12s in Excel, CSV and PDF.

What happens to the files I send?

Your file is read to produce your result, and QuickData stores nothing of it when it reads cleanly: not the file, not the result. A file that can't be read, or whose result needs review, is saved as an anonymized copy (residents' names, ids, emails and phone numbers replaced) so our team can fix the cause; it is deleted when that is done, and after 30 days at the latest. Your data is never sold or shared with marketers. Text from it goes to our AI processing providers to help read it, and neither may train on it: one reads every document and keeps nothing, and the other checks some documents when the first is unsure or the result doesn't match the document's totals, and deletes what it receives within 30 days. Details are in our privacy policy.