Skip to main content

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.
export PERMITCORE_API_KEY=pk_...

3. Make your first request

Fetch the cohort distribution for New York City:
curl https://api.permitcore.io/v1/jurisdictions/nyc/cohorts/distribution \
  -H "Authorization: Bearer $PERMITCORE_API_KEY" \
  -H "Accept: application/json"

4. Read the response

You’ll get back the jurisdiction’s canonical 18 cohort breakdown:
{
  "jurisdiction_slug": "nyc",
  "jurisdiction_display_name": "New York City, NY",
  "as_of_utc": "2026-05-24T02:00:00Z",
  "total_target_permits": 3218856,
  "cohort_distribution": {
    "multifamily_alteration": 2474522,
    "temporary_construction_support": 146420,
    "commercial_alteration": 119800,
    "multifamily_new": 73200,
    "commercial_demolition": 50100,
    "commercial_new": 38400,
    "commercial_mep": 27200,
    "commercial_signage": 18900,
    "residential_alteration": 14820,
    "residential_demolition": 9840,
    "residential_mep": 8400,
    "residential_new_sf": 6240,
    "commercial_pool": 3920,
    "industrial_new": 2840,
    "civic": 1820,
    "commercial_shell_only": 1200,
    "adu_qualifying": 380,
    "residential_foundation_only": 248
  }
}
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-id from the failing response for fastest triage.