Developers
Developer API
Pull multi-domain, geo-joined civic data with the same lineage and attribution as the InMyCity app. Connect from curl, your stack, or MCP hosts (Cursor, Claude Desktop).
Quick start
- Sign up and upgrade to Analyst Solo or Analyst Team.
- Create an API key in your dashboard.
- Call any endpoint with
Authorization: Bearer imc_….
curl "https://inmycity-api-staging.onrender.com/api/v1/data/products/neighborhood-safety?\ scope=city&scopeId=2507000&start=2024-01-01&end=2024-12-31" \ -H "Authorization: Bearer imc_YOUR_API_KEY"
MCP (Model Context Protocol)
Connect InMyCity from Cursor, Claude Desktop, or any MCP host. We ship two stdio servers — both thin clients over the same REST API, with the same auth, quotas, and attribution.
Combined Cursor config
{
"mcpServers": {
"inmycity": {
"command": "npx",
"args": ["-y", "@inmycity/mcp"],
"env": {
"INMYCITY_API_URL": "https://inmycity-api-staging.onrender.com",
"INMYCITY_API_TOKEN": "imc_YOUR_API_KEY"
}
},
"inmycity-oracle": {
"command": "npx",
"args": ["-y", "@inmycity/oracle-mcp"],
"env": {
"INMYCITY_API_URL": "https://inmycity-api-staging.onrender.com",
"INMYCITY_API_TOKEN": "imc_YOUR_BUSINESS_API_KEY",
"INMYCITY_ORACLE_ATTESTATION": "prohibited-use-accepted-v1"
}
}
}
}Create keys in Dashboard → API keys. Monorepo contributors: copy .cursor/mcp.json.example to .cursor/mcp.json and run npm run build:mcp:all for local node packages/*/dist paths.
Civic data MCP — @inmycity/mcp
Requires Pro, Analyst, or Platform Developer tier. Tools:
search_places— resolveplace_idfrom address or neighborhoodquery_civic_data— per-domain counts for a scope and date rangeget_neighborhood_safety_bundle— multi-domain safety product in one calllist_domains— domain catalog
Resources: API docs index, model cards, source freshness.
Oracle MCP — @inmycity/oracle-mcp
Separate server for the Civic Oracle API. Requires Business tier, a passing fairness audit on the API deployment, and explicit acceptable-use attestation before the server will start.
Read and accept the Oracle acceptable-use policy before setting INMYCITY_ORACLE_ATTESTATION=prohibited-use-accepted-v1 in your MCP config (REST clients use header X-InMyCity-Attestation).
Tools:
search_places— resolveplace_idlist_oracle_products— product catalog and attestation requirementsget_place_index— decomposed Neighborhood Trajectory Index + lineageget_place_trajectory— current index + historical valuesget_index_validity— O2 out-of-sample backtest report
REST equivalents: GET /api/v1/oracle/index, /trajectory, /validity. Oracle rate limit: 60 requests/min (Business), 120/min (Enterprise).
Documentation
Rate limits
Responses include X-RateLimit-Limit-Monthly and X-RateLimit-Remaining-Monthly headers. Every payload includes per-domain attribution (source, method, warehouse table).
Packaged products
Neighborhood Safety Bundle v1.1
Crime, fire, FIO, 311, permits, and property assessment counts for a scope and date/fiscal range — one call, full lineage. Available via REST and @inmycity/mcp.
Domains also available individually via GET /api/v1/data/export (Analyst+ CSV download, up to 25k rows) and GET /api/v1/data/query including assessments and city-level payroll.
GET /api/v1/data/products/neighborhood-safety
Neighborhood Trajectory Index (Oracle)
Decomposed place trajectory score — safety, opportunity, momentum, volatility, and displacement pressure — with provenance, confidence, and prohibited-use notices. Business tier.
REST: GET /api/v1/oracle/index, /trajectory, /validity. MCP: @inmycity/oracle-mcp.
Custom data & connectors
Professional services for Analyst & Platform
Need a jurisdiction we do not cover yet, a bespoke dataset, or a connector into your warehouse or internal stack? We offer scoped onboarding, custom builds, and milestone-based delivery — priced to your requirements.
See custom data & connectors on pricing →