The NAE API lets you use the National Appraisal Estimator's replacement cost engine in your own application. This page covers the basics you need to get started.
☝️Before you start:
Want to try a request without writing code? Use the API Reference and Playground for full method documentation, sample requests for single-family and manufactured homes, and a place to test live requests.
Need an API key, or pricing for production access? Start with this form.
API overview
REST API. Standard GET and POST requests over HTTP, JSON in and out.
Send these headers with every request:
Header | Value |
API-Key | Your API key. See Authorization below. |
accept |
|
Content-Type |
|
This page covers the main workflow. The complete method list is in the API Reference.
Authorization
Every request needs an API key in the header:
API-Key: <your API key>
A missing or incorrect key returns 401 Unauthorized.
A complete request looks like this — a list of California areas supported by NAE:
GET https://nae-api.craftsman-book.com/Cities?state=CA
accept: application/json
API-Key: 4fe9edc9-e5fa-4d8f-bf5c-82085b93adbc # example only — replace with your own key
The key shown above is a placeholder and will not work.
Each environment needs its own key — a Sandbox key won't work in Production.
Environments
Sandbox is free and returns empty/demo valuation data. Use it to explore the API, test in the playground, or build your integration. Never use Sandbox calculation results in a live application.
Production returns real valuation data and is what your live application should use. It requires a paid data license — contact us to get set up.
These are base addresses for your code to call, not web pages to open:
Sandbox https://nae-api-sandbox.craftsman-book.com
Production https://nae-api.craftsman-book.com
Typical workflow
A valuation must be placed into a geographic area so NAE can apply the proper area modification factors. So a valuation takes two steps: get an area, then send the calculation. A third step downloads the result as a PDF.
1. Get a geographic area
Use /Cities to get supported areas. The optional state parameter filters by state.
GET https://nae-api.craftsman-book.com/Cities?state=NY
accept: application/json
API-Key: <your API key>
Capture the id of the area you want — you'll pass it as cityId in the next step.
[
{
"id": 71,
"name": "100-102 New York City",
"state": "NY"
},
{
"id": 72,
"name": "103 Staten Island",
"state": "NY"
},
...
]
2. Calculate a valuation
POST to /Valuations. The sample below is a single-family home, abbreviated — see the API Reference for all fields and for manufactured home examples.
POST https://nae-api.craftsman-book.com/Valuations
Content-Type: application/json
API-Key: <your API key>
{
"homeType": "SingleFamilyHome",
"cityId": 71,
"singleFamilyHome": {
"corners": 4,
"livingArea": 1200,
"stories": 1,
"yearBuilt": 1984,
...
}
}
Response, abbreviated:
{
"directCosts": [
{
"title": "Excavation",
"equipment": 671,
"labor": 2328,
"total": 2999
},
{
"title": "Foundation, Piers, Flatwork",
"equipment": 1688,
"labor": 9571,
"materials": 6979,
"total": 18238
},
...
],
"indirectCosts": [
{
"title": "Contractor Markup",
"materials": 34881,
"total": 34881
},
{
"title": "Final Cleanup",
"labor": 1918,
"total": 1918
},
...
],
"totalAppraisedValue": 259502.45,
"costToReplace": 305533,
"documentId": 10
}Keep the documentId if you want to download the PDF.
3. Download the valuation as a PDF
Pass the documentId from step 2 to /Valuations/Pdf:
GET https://nae-api.craftsman-book.com/Valuations/Pdf?documentId=10
accept: */*
API-Key: <your API key>
The API returns the PDF with these headers:
content-disposition: attachment; filename=valuation.pdf; filename*=UTF-8''valuation.pdf
content-length: 55376
content-type: application/pdf
<File content>
What next
Head to the API Reference and Playground for full documentation on every method and data type, sample requests for single-family and manufactured homes, and a playground for testing your own requests.