Quickstart Guide
Get up and running with the North API in just a few minutes.
Prerequisites
Step 1: Test your connection
Let’s verify your API key works by fetching your account info:
curl -X GET \
"https://api.northreports.com/v1/users/me" \
-H "Authorization: Bearer north_sk_live_YOUR_API_KEY"
You should see your team information and API key details.
Step 2: List your reports
Fetch all your existing North reports:
curl -X GET \
"https://api.northreports.com/v1/reports" \
-H "Authorization: Bearer north_sk_live_YOUR_API_KEY"
Step 3: Create a new report
Let’s create a North report programmatically:
curl -X POST \
"https://api.northreports.com/v1/reports" \
-H "Authorization: Bearer north_sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "123 Main Street",
"city": "Austin",
"state": "TX",
"zip": "78701",
"price": 450000,
"bedrooms": 3,
"bathrooms": 2,
"square_feet": 1850,
"year_built": 2010,
"property_type": "Single Family"
}'
The report is created as a draft by default. You can update it or publish it later.
Step 4: Update the report
Add more details to your report:
curl -X PATCH \
"https://api.northreports.com/v1/reports/REPORT_ID" \
-H "Authorization: Bearer north_sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "Beautiful corner lot with mature trees",
"executive_summary": "This charming 3-bed home offers excellent value in a prime Austin location."
}'
Understanding rate limits
Every response includes rate limit headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 985
X-RateLimit-Reset: 1705774800
- Limit: Maximum requests per hour
- Remaining: How many you have left
- Reset: Unix timestamp when your quota resets
Error handling
Always check for errors in your code:
const response = await fetch('https://api.northreports.com/v1/reports', {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
if (!response.ok) {
const error = await response.json();
console.error(`Error ${error.error.status}: ${error.error.message}`);
return;
}
const data = await response.json();
// Process successful response
Next steps