New Home Feed API
The New Home Feed API gives you a flexible means of accessing and posting listing data to New Home Feed. Whether you wish to synchronize your listings on a daily basis, push incremental changes, or fetch your listings in a variety of popular industry formats, the API can help. We've made our API as easy to use as possible, but if term such as "API", "Webservies", and "XML" make your head spin, it's probably time to get your code monkeys involved.
In order to use the API, you'll need your API key which can be found on your connections page.
Understanding Methods
The API methods are organized by categories such as accounts, batch, divisions, and test. Each category contains related methods, like batch.upload (to upload your data in XML format) and batch.download (to download your data in XML format).
Methods are referred to in dot notation: batch.download refers to the download method in the batch category of methods.
For more detailed information on each method, see the API Methods documentation.
API Keys
Every call made to the New Home Feed API must include the "api_key" parameter. This parameter identifies you and ensures that no one else can see your data. Your API key can be found on your connections page. If you do not have an account with us or have trouble locating your API key, please contact support.
Making an API Call
The base path to the API is:
http://api.newhomefeed.com/v1
To call a specific method, add the method category and name as follows:
http://api.newhomefeed.com/v1/$method_category/$method_name?$parameter_list
Examples
To fetch all your listings in New Home Feed formatted XML, use:
http://api.newhomefeed.com/v1/batch/download?api_key=your_api_key&builder_id=123
To fetch all your listings in New Home Source (BDX) formatted XML, use:
http://api.newhomefeed.com/v1/batch/download?api_key=your_api_key&builder_id=123&format=bdx
To post your listings to New Home Feed using New Home Source (BDX) formatted XML, use:
http://api.newhomefeed.com/v1/batch/upload?api_key=your_api_key&format=bdx&data=...
HTTP Methods
The API accepts calls sent as both HTTP GET and POST. However, due to GET's data size limits, any calls sending significant amounts of data should use POST.
Encoding
The New Home Feed API expects all data to be UTF-8 encoded. Checks are made for valid UTF-8 sequences. If an invalid sequence is found, the data is presumed to be ISO-8859-1 and converted accordingly to UTF-8. Sending data in any other encoding will result in garbage into New Home Feed. It won't be dangerous garbage (we will always store valid UTF-8) but it may have unintended consequences.
Dates
Each inventory item in New Home Feed has two dates - the 'created' date and the 'updated' date. These are system-generated read-only values and can't be changed by the user. The 'created' date represents the time at which the inventory item was added to New Home Feed. The 'updated' date represents the time at which the inventory item was last changed in New Home Feed. This is set at the time the item is saved. Dates are supplied in GMT as a unix timestamp, which is an unsigned integer specifying the number of seconds since Jan 1st 1970 GMT.
Error Reference
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Generic request error |
| 2 | The requested format is invalid |
| 3 | The requested method is invalid |
| 4 | The New Home Feed data packet could not be parsed |
| 5 | The BDX data packet could not be parsed |
| 6 | The proprietary format data packet could not be parsed |
| 98 | One or more parameters has an invalid value |
| 99 | One or more required parameters were not included |
| 100 | Generic response error |
| 101 | The requested item was not found |
| 200 | Generic security error |
| 201 | Invalid API key |
| 202 | Insufficient permissions to manage the requested item |
| 203 | Disabled API key |
| 204 | The caller is not allowed to access the given method |
| 205 | The caller is calling a write method but only has read permissions |
| 404 | The requested method does not exist for the requested version of the API |
| 405 | The requested file was not found |
| 500 | Unknown system error |
| 501 | The requested method is currently unavailable |
| 503 | The API is currently unavailable |
| 504 | A proprietary format was requested, but has not been configured |