← All use cases

Extract requirements from construction spec sections

Turn a CSI MasterFormat spec section into a checkable table: every requirement with its article number, whether it is mandatory, numeric limits with units, referenced standards, and submittals, each with the page and quote it came from.

Every item comes back with the page and quote it was taken from, checked against the document, so you can verify any value in seconds. Scanned PDFs work too: the Terminal reads scanned pages with AI vision, and the API can too.

Example request

Run it on many files at once in the Terminal, or save the schema as an extractor and send each file with its extractor_id.

curl -X POST https://api.jsonit.io/v1/extract-file \
  -H "Authorization: Bearer sk_live_your_key" \
  -F "file=@section-23-05-00-common-hvac.pdf" \
  -F "accuracy=high" \
  -F "evidence=true" \
  -F 'schema={"type":"object","properties":{"section_number":{"type":"string","description":"e.g. 23 05 00"},"section_title":{"type":"string"},"requirements":{"type":"array","items":{"type":"object","properties":{"article":{"type":"string","description":"article/paragraph number, e.g. 2.3.B.1"},"text":{"type":"string","description":"the requirement as written"},"obligation":{"type":["string","null"],"description":"mandatory (shall/must) or advisory (should/may)"},"limits":{"type":"array","items":{"type":"object","properties":{"quantity":{"type":"string"},"min":{"type":["number","null"]},"max":{"type":["number","null"]},"unit":{"type":["string","null"]}}}},"standards":{"type":"array","items":{"type":"string"},"description":"e.g. ASHRAE 90.1, UL 181"}}}},"submittals":{"type":"array","items":{"type":"string"}}}}'
Get an API keyFull API docs