Skip to main content

Authentication

The PadStats API uses API keys for authentication. Pass your key in the X-API-Key header on every request.

curl -X POST https://api.padstats.io/v1/avm/property \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ ... }'

Getting an API key

API keys are issued from the PadStats dashboard. Each key is tied to your account and plan tier.

Using your key

Python
import requests

response = requests.post(
"https://api.padstats.io/v1/avm/property",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"address": "123 Main St, Austin, TX 78701",
"total_bedrooms": 3,
"total_bathrooms": 2,
}
)
JavaScript
const response = await fetch("https://api.padstats.io/v1/avm/property", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
address: "123 Main St, Austin, TX 78701",
total_bedrooms: 3,
total_bathrooms: 2,
}),
});

Security best practices

  • Never expose your API key in client-side code or public repositories. Store it as an environment variable.
  • Use one key per environment (development, staging, production) so you can rotate or revoke each independently.
  • Rotate immediately if you suspect a key has been compromised — issue a new key from the dashboard and invalidate the old one.

Error responses

StatusMeaning
401 UnauthorizedKey is missing or malformed
403 ForbiddenKey is valid but does not have access to this endpoint or plan tier
422 Unprocessable EntityRequest body failed validation — check the detail field for field-level errors
429 Too Many RequestsRate limit exceeded for your plan tier