Kadrin Docs Kadrin Batch

AI connector tools

Kadrin for AI is a connector for AI assistants, using the Model Context Protocol (MCP, a standard way for assistants to use outside tools). It lives at https://mcp.kadrindata.com/mcp and takes the same API keys. To set it up, see the quickstart.

What the assistant is told

Kadrin answers questions about any place in the United States (the 50 states, DC and Puerto Rico) with numbers from public sources such as the U.S. Census Bureau: people, income, housing, jobs, businesses, health, schools, getting around, tax incentive zones, internet service, spending, time use, environmental hazards and oil and gas wells, for a point, a radius, a drive-time area, an outline or an official area. Use find_geography to turn a place name into an official area, and search_variables to find measures. For a site report or a submarket report, ask enrich_area or compare_areas for that preset. Report each number with its source and years, and its margin of error when it matters. Oil and gas wells are counts and distances, not a measure of health risk: say "people living within 1 km of an active or idle well", never "at risk"; where a state isn't covered there's no number, not zero, and coverage says how much of a place is covered. Flood zones, regulated sites, fuel tanks and drinking water records say where something is mapped or recorded, never the risk to a person or a home; health measures describe an area's residents, never one person. Calls with numbers cost credits (one per group of measures per place, plus 2 to draw a drive-time area); dry_run says what a call would cost for free, and a call over 200 credits needs the person's confirmation first.

find_geography

Finds official US areas by name, ZIP code, GEOID (the official ID number the government gives each area) or location, with their GEOIDs, so enrich_area and compare_areas can use them. A name finds states, counties and cities or towns (add a state after a comma: "Springfield, IL"); a point finds every area it falls in, from its state down to its census block group. Up to 10 matches. Free.

What it takes

FieldTypeWhat it is
querystring

A name ("Cook County, IL"), a 5-digit ZIP code or a GEOID.

latnumber
lonnumber
levelsarray of string

Only these kinds of area: state, county, tract (a census tract, a neighborhood-sized area of about 4,000 people), block_group (a smaller piece of a tract), place (a city or town) or zcta (a ZIP code area).

Send at least one of query or lat and lon.

What it answers

FieldTypeWhat it is
matches
required
array of object

search_variables

Searches the measures Kadrin has (such as median household income or jobs located in an area) by keyword, topic or group, with their IDs, what they count and where they come from. Use the IDs with enrich_area. Credits are charged per group, so measures in the same group cost one credit together. Free.

What it takes

FieldTypeWhat it is
querystring

Words to look for, such as "rent" or "jobs".

topicstring

One of demographics, income, housing, labor, businesses, health, environment, incentives, transportation, spending, timeuse, education, broadband.

groupstring

A group, such as income.household.

limitinteger

Default 20.

What it answers

FieldTypeWhat it is
variables
required
array of object
more
required
boolean

True if more measures match than were returned.

enrich_area

Returns numbers for one US place: a point, a radius, a drive-time area, your own outline, or an official area such as a county (by GEOID). Ask for a ready-made report (preset), or for whole topics, groups or single measures (find them with search_variables). Each number comes with its margin of error (how far the true number could reasonably be from the estimate), its unit, and its source and years; cite the source when you report a number. Costs one credit per group of measures, plus 2 to draw a drive-time area; a call over 200 credits asks for confirmation first, and a place that fails costs nothing.

What it takes

FieldTypeWhat it is
area
required
object

The place. Set kind, then the fields that kind needs.

presetstring

A ready-made report, on its own or with topics, groups or measures: site_report (who lives and works there, what they earn and the businesses nearby; 8 groups, usually for a 10-minute drive-time area, so 10 credits a place) or submarket_report (growth, jobs and workers, income and housing costs; 7 groups, usually for a 3-mile radius, so 7 credits a place). Both add county, state and US comparisons. The place is still the one you send: when the person hasn't said what area, suggest the report's usual one.

topicsarray of string

Whole topics: demographics (population, age, households, education), income (income and poverty), housing (homes, owners and renters, values and rents), labor (jobs located in the area, residents' employment, and job growth over 5 and 10 years), businesses (counts of places such as grocery stores), environment (oil and gas wells by status, people and homes within 1 km of an active or idle well, and new drilling permits, in the states we have them for). One credit for each group in the topic. One of demographics, income, housing, labor, businesses, health, environment, incentives, transportation, spending, timeuse, education, broadband.

groupsarray of string

Groups of related measures, such as housing.costs. One credit each. search_variables shows each measure's group.

variablesarray of string

Single measures by ID, such as income.household.median, from search_variables. You pay for the group each one belongs to, once.

benchmarksarray of string

Also return each number for the county, state or whole country, for comparison, and for rates and medians where the place ranks among census tracts (neighborhood-sized areas). Free.

releasestring

A data release (a frozen snapshot of our data), such as 2026.11.1, to get the same answer every time. The newest unless you name one. Default "latest".

dry_runboolean

Only say what the call would cost. Free. Default false.

confirm_costboolean

Needed to run a call that would cost more than 200 credits. Ask the person first. Default false.

Send at least one of preset, topics, groups or variables.

What it answers

FieldTypeWhat it is
status
required
string

done: the answer is here. estimate: only the cost (dry_run). needs_confirmation: the call would cost more than 200 credits; ask the person, then call again with confirm_cost.

release
required
string
areaobject
valuesarray of object
warningsarray of object
sourcesarray of object
credits
required
object
citationstring

compare_areas

Returns the same numbers for 2 to 10 US places side by side, each measure ranked from highest to lowest, such as candidate sites or nearby towns. Places, presets and measures are given as in enrich_area. Costs the same as enrich_area for each place; a call over 200 credits asks for confirmation first, and places that fail cost nothing.

What it takes

FieldTypeWhat it is
areas
required
array of object

The places. Give each a name so the comparison is easy to read.

presetstring

A ready-made report, on its own or with topics, groups or measures: site_report (who lives and works there, what they earn and the businesses nearby; 8 groups, usually for a 10-minute drive-time area, so 10 credits a place) or submarket_report (growth, jobs and workers, income and housing costs; 7 groups, usually for a 3-mile radius, so 7 credits a place). Both add county, state and US comparisons. The place is still the one you send: when the person hasn't said what area, suggest the report's usual one.

topicsarray of string

Whole topics: demographics (population, age, households, education), income (income and poverty), housing (homes, owners and renters, values and rents), labor (jobs located in the area, residents' employment, and job growth over 5 and 10 years), businesses (counts of places such as grocery stores), environment (oil and gas wells by status, people and homes within 1 km of an active or idle well, and new drilling permits, in the states we have them for). One credit for each group in the topic. One of demographics, income, housing, labor, businesses, health, environment, incentives, transportation, spending, timeuse, education, broadband.

groupsarray of string

Groups of related measures, such as housing.costs. One credit each. search_variables shows each measure's group.

variablesarray of string

Single measures by ID, such as income.household.median, from search_variables. You pay for the group each one belongs to, once.

benchmarksarray of string

Also return each number for the county, state or whole country, for comparison, and for rates and medians where the place ranks among census tracts (neighborhood-sized areas). Free.

releasestring

A data release (a frozen snapshot of our data), such as 2026.11.1, to get the same answer every time. The newest unless you name one. Default "latest".

dry_runboolean

Only say what the call would cost. Free. Default false.

confirm_costboolean

Needed to run a call that would cost more than 200 credits. Ask the person first. Default false.

Send at least one of preset, topics, groups or variables.

What it answers

FieldTypeWhat it is
status
required
string

done: the answer is here. estimate: only the cost (dry_run). needs_confirmation: the call would cost more than 200 credits; ask the person, then call again with confirm_cost.

release
required
string
areasarray of object
measuresarray of object
warningsarray of object
sourcesarray of object
credits
required
object
citationstring

get_isochrone

Draws a drive-time area (everywhere you can reach from a point within a set number of minutes by car, on foot or by bike, without traffic delays) and returns its outline as GeoJSON and its size, without any numbers. To get numbers for one, use enrich_area with kind isochrone instead. Costs 2 credits; nothing if it fails. Wherever you show the outline, credit "© OpenStreetMap contributors".

What it takes

FieldTypeWhat it is
lat
required
number

Latitude. Needed for point, buffer and isochrone.

lon
required
number

Longitude. Needed for point, buffer and isochrone.

modestring

One of drive, walk, bike. Default "drive".

minutes
required
integer

Needed for isochrone: travel time, 1 to 60 minutes (walking and biking up to 30). The starting point must be within 3 miles (5 km) of a road.

releasestring

A data release (a frozen snapshot of our data), such as 2026.11.1, to get the same answer every time. The newest unless you name one. Default "latest".

What it answers

FieldTypeWhat it is
status
required
string

One of done.

release
required
string
centerobject
mode
required
string
minutes
required
integer
km2
required
number
outline
required
object

A GeoJSON Polygon or MultiPolygon.

attributionstring
credits
required
object

check_usage

Shows the credits used today, the free credits left today, the balance, and how much more this connection may use today before its daily limit. Free.

It takes nothing.

What it answers

FieldTypeWhat it is
test_key
required
boolean
balance
required
integer
free_left_today
required
integer
used_today
required
integer
account_daily_capinteger or null
connection
required
object