Guide
Get your first API key
The shortest path from discovery to your first authenticated request.
1. Check coverage first
Confirm available metros and compare monthly versus annual pricing before you request access or purchase anything.
curl
curl https://smartapis.net/v1/coverage/regions
curl https://smartapis.net/v1/billing/plans
2. Claim a first key after checkout
Self-serve customers should prefer the post-checkout claim flow on the pricing page. Admin keys remain the operator fallback for control-plane tasks.
curl
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"session_id": "cs_live_or_test_xxx",
"key_label": "first-client-key",
"scopes": ["places:read","products:read","regulatory:read"]
}' \
https://smartapis.net/v1/public/claim-checkout-session
curl (admin fallback)
curl -X POST \
-H "Content-Type: application/json" \
-H "X-API-Key: $SMARTAPIS_ADMIN_KEY" \
-d '{"label":"first-client-key","scopes":["places:read","products:read","regulatory:read"]}' \
https://smartapis.net/v1/organizations/me/api-keys
Python
import json, os, urllib.request
payload = json.dumps({
"label": "first-client-key",
"scopes": ["places:read", "products:read", "regulatory:read"],
}).encode("utf-8")
request = urllib.request.Request(
"https://smartapis.net/v1/organizations/me/api-keys",
data=payload,
headers={
"Content-Type": "application/json",
"X-API-Key": os.environ["SMARTAPIS_ADMIN_KEY"],
},
method="POST",
)
with urllib.request.urlopen(request, timeout=30) as resp:
print(resp.read().decode("utf-8"))
3. Use the returned raw key
The `raw_key` is only returned once, so use it immediately and store it securely.
curl
curl -H "X-API-Key: $SMARTAPIS_API_KEY" \
"https://smartapis.net/v1/places/search?region_id=new-york-city&q=pizza&limit=3"
JavaScript
const response = await fetch(
'https://smartapis.net/v1/places/search?region_id=new-york-city&q=pizza&limit=3',
{ headers: { 'X-API-Key': process.env.SMARTAPIS_API_KEY } }
);
console.log(await response.json());
Next good reads: Places V2, Products watch, and Regulatory watch.