Documentation Index
Fetch the complete documentation index at: https://docs.permitcore.io/llms.txt
Use this file to discover all available pages before exploring further.
1. Sign up for an API key
Magic-link signup at permitcore.io/signup. No credit card required for the free tier. After signing in, your API key lives at Account → API Keys.Bucket 2 status: programmatic key generation ships in ~3 weeks. Until
then, keys are issued on signup and managed via the account dashboard.
2. Set up your environment
Export your key. Never commit it — treat it like a database password.3. Make your first request
Fetch the cohort distribution for New York City:4. Read the response
You’ll get back the jurisdiction’s canonical 18 cohort breakdown:total_target_permits is the buyer-targeted matview slice for the
jurisdiction — lifetime accumulation (no time window) of permits that
match PermitCore’s matview filter (commercial / mixed / industrial work
classes, OR ≥5 residential units, OR explicit multifamily, OR qualifying
ADU). The sum of cohort_distribution values is less than
total_target_permits by the implicit NULL-segment count: permits that
pass the matview filter but didn’t match any of the 18 cohort CASE
branches. For NYC, the full silver permit table holds ~7.63M permits
across all work types; the matview targets ~3.22M of those as the
buyer-relevant slice — see the explainer in the API reference
for the full data model.
All 18 canonical cohorts are always present (zero-filled if a jurisdiction
has no rows in that cohort).
5. What next
Cohort taxonomy
The canonical 18 cohorts + what each one covers.
Authentication
Key formats, header conventions, security best practices.
Rate limits
Per-tier quotas + how to handle 429 responses.
Data licensing
Commercial-use terms + attribution for paid tiers.
API reference
Full endpoint catalog with request/response shapes.
Need help
- Open the API reference for endpoint shapes + the errors page for retry semantics.
- For account, billing, or integration support, email
kian@permitcore.io — include
your key prefix (first 12 characters) and the
x-permitcore-request-idfrom the failing response for fastest triage.