How to look up a building permit in Kansas City (and find out what's being built on that lot)
Kansas City publishes every permit it issues in a free database, 1,529,255 of them, and it will answer for any address in under a minute. Read it the way it looks and it will also tell you that 300,863 permits are 'Issued' when three-quarters of them are more than five years old, that the newest permit was issued in the year 3036, and that four commercial permits from 2006 are each worth $6.4 billion. Here is how to search it, how to match it to the county parcel viewer, and where the file the city stopped updating in 2025 kept the contractor's name.
A fence goes up around the lot at the end of the block. A backhoe arrives. Nobody has said what it is, and the sign, if there is one, gives a permit number and nothing else. In Kansas City, Missouri, the answer to what is going on there is a public record, it is free, and it is online. The database that holds it also has a few habits that will hand you a confident wrong answer if you read it the way it looks.
The good news first. Kansas City publishes every permit its departments issue in one open-data table, no account and no records request required: 1,529,255 rows as of the city’s update on September 8, 2026, covering building, electrical, plumbing, mechanical, demolition, water-service, street-excavation, and event permits, each with an address, a parcel number, a status, the dates, and, when somebody typed one in, a dollar valuation.
The catch is that the file was built for the city’s permit system, not for you, and it carries that system’s quirks intact. Here is how to search it, how to match what you find to the parcel viewer, and what it will not tell you.
The thirty-second version
To look up one address: go to data.kcmo.org, dataset w8jz-wjgn, “City Issued Permits.” The street address is in a column called main_address_line1, written in title case with no city or ZIP; those sit in main_address_line2. Filter or search that column for the house number and street name. Each matching row is one permit, with a permit_type, a work_class that says what kind of work, a permit_status, an issue_date, and a last_inspection_date.
To read what you found: trust issue_date and last_inspection_date over permit_status. A permit marked Issued in 1996 is not under construction. See trap one.
To see the permit itself: the city’s portal is CompassKC, at compasskc.kcmo.org. The open-data file does not link to it; the permit number is the handle.
Do not assume the file’s parcel number is the one on the county parcel viewer, and do not add up the valuation column without looking at it first. Both are explained below.
What is actually in the file
First, the file’s shape.
The name says permits; most of them are not building permits. Of the 64 permit types in the file, the largest by a wide margin is PW - Excavation, the Public Works permit for digging up a street or a right of way: 290,939 rows, 19.0 percent of everything. The two types most people mean when they say building permit, CPPU - Building (Residential) and CPPU - Building (Commercial), are 95,885 and 54,428 rows, together 9.8 percent of the file.
| Permit type, as the city labels it | Permits |
|---|---|
PW - Excavation | 290,939 |
CPPU - Electrical (Residential) | 193,432 |
CPPU - Plumbing (Residential) | 105,426 |
PW - Traffic Control | 102,598 |
CPPU - Building (Residential) | 95,885 |
CPPU - Mechanical (Residential) | 89,011 |
CPPU - Electrical (Commercial) | 80,271 |
WS - New Service | 67,987 |
CPPU - Certificate of Occupancy | 59,135 |
CPPU - Building (Commercial) | 54,428 |
The prefixes are the departments the description names: CPPU and CPLD for City Planning and Development, PW for Public Works, WS for Water Services, PR for Parks and Recreation, NSD for Neighborhood Services. The same permit can appear under two of them. Short-term rental registration is CPDM - Short Term Rental Registration on 809 permits, issued from October 16, 2018 to September 28, 2023, and NSD - Short Term Rental Registration on 2,995, issued from August 14, 2022 onward; the two labels ran side by side for 410 days. Sidewalk cafes are PW - Sidewalk Cafe on 131 permits and PR - Sidewalk Cafe on 22. Filter on the name, not the prefix.
For the lot at the end of the block, work_class is the column that answers the question. On residential building permits it takes one of 16 values, and the two biggest are Single Family - New (40,295 permits) and Single Family - Interior Remodel (39,841). On commercial ones it is one of 13, most often Renovation (33,829), New (8,590), Site Improvement (5,552), or Addition (3,543). That is the whole description of the work the file gives you. There is no free-text description column. The project field, which sometimes carries a label like SINGLE FAMILY or TRAFFIC CONTROL, is empty on 556,906 rows and reads as a single closing bracket, ], on 9,980 more.
The file also reaches further back than its description lets on. One permit carries an issue date in 1902; the volume becomes continuous in 1986, with 13,406 permits issued that year; from 1993 on, the file holds between 27,859 and 51,477 permits a year. Half of it does not know which county it is in: district reads <NONE> on 760,254 rows, 49.7 percent, against Jackson on 500,240, Clay on 188,914, Platte on 79,680, and Cass on 148. A county filter silently drops half the permits.
Trap one: “Issued” is not “under construction”
The permit_status column has 25 values, and, unlike the city’s 311 file, none of them is written twice with different capitalization. The trap is in what the biggest live status means.
Closed accounts for 1,055,878 rows. Issued is next, at 300,863. Read naturally, that is 300,863 active permits, and it is nothing of the kind. The Kansas City Stare counted, on September 12, 2026:
- 276,248 of the 300,863 (91.8 percent) were issued more than a year ago;
- 224,276 (74.5 percent) more than five years ago;
- the oldest was issued on November 1, 1960;
- 185,160 (61.5 percent) have no inspection date at all;
- 242,875 (80.7 percent) have no expiration date, and 51,181 have an expiration date that has already passed;
- 4,504 carry a finaled date and are marked Issued anyway.
It is the same on the permits that matter for the empty lot. Of 20,875 residential building permits marked Issued, 19,150 are older than a year and 15,972 older than five years; 8,800 have never had an inspection recorded. Of 9,924 commercial building permits marked Issued, 9,207 are older than a year and 8,156 older than five. The oldest Issued residential building permit dates to March 26, 1986.
The innocent explanation is available and probably right. The file says Expired on 83,742 permits and Work Completed on 7,236, so the system has ways to close a permit out, and a status migrated in from older permit systems along with the permits and never revisited would look exactly like this. The Stare has not established why it reads this way. For a reader the consequence is simple: the status tells you the permit was granted. The issue_date tells you when. The last_inspection_date tells you whether anyone from the city has been out since. Sort on those two.
Trap two: the parcel number is not the county’s parcel number
The natural next move, after this paper’s piece on the parcel viewer, is to take the permit’s parcel number to the county map and read the owner. Do not paste it. It will not match.
The permit file’s main_parcel_number is a bare integer, one to six digits long, on every one of the 1,462,100 rows that carry one; none contains a hyphen. Jackson County’s parcel viewer keys on a different number entirely, a hyphenated string in eight groups, and the county’s own data service returns it in that form on all 300,626 parcels it holds. The Stare tested the two obvious shortcuts on the county’s table, its integer property_id and link_id fields, against two of the most-permitted parcel numbers in the city file, and neither matched.
The city number is the city’s own parcel key, the one Kansas City’s systems call a KIVA PIN. It joins to a different dataset on the same portal: 6g4y-sh3m, “Parcels,” the city’s own parcel layer, which carries a kivapin column and, beside it, an apn column holding the county’s parcel number with the hyphens removed and a two-letter county prefix in front. Three of three parcel numbers The Stare tested matched on address across the two city files. So the path from a permit to the county viewer runs permit, then city parcel file, then county number, and it works. Two cautions. The city’s parcel file has had no rows updated since December 30, 2023, and its newest assessment date is December 13, 2022, so use it for the key, not the values. The parcel viewer itself, as this paper reported on September 3, carries the 2024 tax year on every record.
The other way to join is by address, and there is a trap there too. The county writes every situs address in capitals: 300,626 of 300,626 on its public table. The city writes them in title case: 299 of the 1,486,629 permit addresses in the file are in capitals. An exact-match join on the address string returns nothing, on case alone. Uppercase the city side first, then expect the city’s habit of appending floors and levels to the street line (FL 2, LVL A) to split one parcel across several address strings; the file holds 274,482 distinct address strings against 194,749 distinct parcel numbers. Beyond that, 42,626 permits carry no street address at all, 67,155 carry no parcel number, and 77,920 have Kansas City, MO on the second line with no ZIP code.
Trap three: the calendar runs to the year 3036
Ask the file for its newest permit and it answers with one issued on March 4, 3036, a commercial elevator permit, status Issued. It is not alone. On September 12, 2026, 222 permits carried issue dates in the future: 220 of them between 2084 and 2090, one on October 1, 2026, and the elevator. Another 208 application dates are in the future, the latest in 2091; 189 finaled dates are, the latest in the year 2323; two expiration dates fall after 2100, the latest in 2999. Going the other way, 3,955 permits were applied for on exactly January 1, 1900, which is what a blank date looks like in some systems, and five were issued before 1970.
Then there is the order of events. 94,503 permits were issued before they were applied for, and 31,896 were finaled before they were issued. Whatever those dates mean inside the city’s system, they are not the sequence a reader would assume.
None of this is a scandal. Typing 2088 for 2008 is a human error, and the file is 1.5 million rows of human entry across four decades and at least two permit systems. The consequence is only for anyone who counts: the file’s own maximum issue date is not the date of its newest permit, and any tally of permits per year has to clip the calendar first.
The real newest data, once clipped: the file’s last full working day is Friday, September 4, 2026, with 147 permits issued; September 5 through 8 hold 13 rows between them. The city updated the dataset on Tuesday, September 8, at 1:10 in the morning Central time, and its metadata gives the update frequency as weekly. On the day of this paper’s pull, the newest business day in the file was eight days old. That is what weekly means. Plan on it.
Trap four: the dollar figures
Every permit has a valuation column, and it looks like the most useful column in the file. Handle it with tongs.
It is populated on 1,325,599 of the 1,529,255 rows, and 621,716 of those, 46.9 percent, are exactly zero. On the permits that matter for a new building, zero is about a quarter of the answers: 24,050 of the 95,546 residential building permits with a valuation carry $0, as do 11,634 of 54,298 commercial ones, and 17,276 of 17,655 residential demolitions.
At the other end, six permits carry valuations of $1 billion or more, and together they are worth $27.6 billion, which is 26.5 percent of the $104.0 billion the entire column sums to. Four of them are commercial permits, one each for electrical, mechanical, building renovation, and fire-sprinkler work, issued on September 12 and 13, 2006, each at exactly $6.4 billion. The other two are a traffic-control permit from 2007 and a residential electrical permit, still marked Open-Active, at $1 billion each. Drop those six and the file’s summed valuation is $76.4 billion. Any “total construction value” figure computed from this file without that step is a quarter air.
The square_feet column is worse: populated on 434,703 rows, zero on 417,551 of them, and positive on 17,152 permits, 1.1 percent of the file. The cpi_vested_map_date column is empty on every row.
What the file will not tell you, and the file that used to
Here is what is not in the 19 columns: who applied, who the contractor is, who owns the property, what the work is beyond a work-class label, the fee, the plans, the inspection results (only the date of the last inspection, on 45.8 percent of rows), and where the parcel sits on a map.
All of it used to be published. Search the city’s portal for “permit” and 23 results come back. Two of them describe themselves as “Permits from the CompassKC system”: ntw8-aacc, “Permits - CPD Dataset,” and 6h9j-mu65, the “Status Change Dataset.” Both say in their metadata that they are updated daily or nightly. The first has no permit newer than May 9, 2025; the second has nothing newer than October 10, 2024. On September 12, 2026, that is 491 and 702 days, respectively, and neither description mentions the file that replaced them, which was created on May 19, 2026, 375 days after the older file’s last row.
The older file is the one a person looking at an empty lot would want. It has 42 columns to the new file’s 19, and among them: contractorcompanyname, filled on 660,283 of its 681,036 rows; description, filled on 680,980; estprojectcost; housingunits; proposeduse; latitude and longitude; and a link on every row to the permit’s own page on CompassKC. The new file has none of those. The Stare is not asserting that the city meant to drop them, and there is a plain innocent reading: a new export was built from a different report in the same system and carried a different set of columns. The effect for a reader is that the description of the work and the name of the company doing it moved from a file that updated nightly to a file that has not updated in 16 months.
The decade-by-decade “Building Permit Listing” files further down the same search, from 1970 through 2020, carry an applicant_name column. The 2020 file was last updated on June 21, 2021.
For anything after May 2025, then, an owner, a contractor, or a description of the work, the route is the permit number and the city’s portal.
The city’s own portal
CompassKC is the city’s permit and plan system. Its public face is at compasskc.kcmo.org, which redirects to a Tyler Technologies self-service site; the page answered an ordinary request on September 12, 2026, and its own labels include a “Public Information” search, “Today’s Inspections,” “Estimate Permit Fees,” and a “Permit Number” field. The older open-data file’s links show that each permit has its own page there, at an address beginning compasskc.kcmo.org/EnerGov_Prod/SelfService#/permit/. The search itself runs in the browser, so this paper has not machine-tested the click path. The city’s main website, kcmo.gov, refuses automated requests, so the help pages that explain the portal could not be archived.
Across the state line
Kansas City, Kansas is a different government with its own doors. The Unified Government of Wyandotte County runs a permit search on Accela Citizen Access, at aca-prod.accela.com/UG, whose building-permits page answered a plain request on September 12, 2026 and describes itself as a search of “the Kansas City, Kansas NRC permit database”; the Unified Government’s own website refused automated requests, so nothing beyond that page is described here. In Johnson County, the county’s Building Codes division publishes its permit requirements at jocogov.org, takes applications through a portal called MGOconnect, required for all building permit applications since January 1, 2020 by the county’s own page, lists 913-715-2200 for questions, and quotes seven to 10 business days for a residential permit and 10 to 14 for a commercial one. The county’s mapping service, AIMS, at aims.jocogov.org, answered as well; this paper did not walk it for permits. Neither Kansas door was tested past its front page.
Check us
Everything above came from unauthenticated requests to the city’s own endpoint, and any reader with a terminal can re-run them. To look up an address, with a placeholder where the address goes (this one is not a real address and returns nothing):
Every permit at one address, newest firstOptional — for people who use a terminal
# Every permit at one address, newest first
curl -s -G 'https://data.kcmo.org/resource/w8jz-wjgn.json' \
--data-urlencode "\$query=SELECT permit_number, permit_type, work_class, permit_status, issue_date, last_inspection_date, valuation WHERE upper(main_address_line1) LIKE '1234 EXAMPLE ST%' ORDER BY issue_date DESC"The Issued permits older than five years, in one line:
Count the Issued permits older than five yearsOptional — for people who use a terminal
# Count the Issued permits older than five years
curl -s -G 'https://data.kcmo.org/resource/w8jz-wjgn.json' \
--data-urlencode "\$query=SELECT count(*) AS n WHERE permit_status = 'Issued' AND issue_date < '2021-09-12T00:00:00'"The newest permit, according to the file:
The newest permit the file admits toOptional — for people who use a terminal
# The newest permit the file admits to
curl -s -G 'https://data.kcmo.org/resource/w8jz-wjgn.json' \
--data-urlencode "\$query=SELECT max(issue_date) AS latest"The Stare keeps a script that re-derives every number in this story from the saved captures and, on request, from the live endpoint, and fails loudly if one has moved. It ran clean on September 12, 2026.
The one habit worth keeping
Write down the date, and sort by it. The permit file is a ledger of what the city granted, not a live feed of what is happening on the ground, and the gap between those two things is exactly where a permit “Issued” in 1986 comes from. The backhoe at the end of the block has a permit number on it. Start there.
Sourcing: all figures are from the City of Kansas City's open-data portal, dataset w8jz-wjgn, "City Issued Permits," queried by The Kansas City Stare on September 12, 2026, together with the city's own published description and column metadata for that dataset and for the related datasets named above (ntw8-aacc, 6h9j-mu65, 6g4y-sh3m, and the "Building Permit Listing" files). Jackson County figures are from the county's own ArcGIS service behind the public Parcel Viewer, queried the same day. The CompassKC description is from the portal's own home page and from the link column of the city's older permits dataset; the Kansas descriptions are from pages at aca-prod.accela.com, jocogov.org, and aims.jocogov.org that answered ordinary requests the same day. kcmo.gov and wycokck.org refuse automated requests and are not quoted. The full captures, the queries that produced every number, and a script that re-derives them are archived at editorial/_sources/permits-lookup-2026-09/. No applicant, contractor, owner, private business, or real address from the data is identified in this piece; the address in the example command is a placeholder. Where this story reports an inconsistency in the city's data, it reports it as a measured fact and does not assert a cause; The Stare has not established one.
Quick answers
- How do I look up a building permit in Kansas City, Missouri?
- Open the city's open-data portal at data.kcmo.org and find dataset w8jz-wjgn, 'City Issued Permits'. The street address is in the column main_address_line1, written in title case with the city and ZIP in a separate column, so search on the house number and street name. Each row is one permit with a type, a work class describing the kind of work, a status, an issue date, and the date of the last inspection. It is free and needs no account. The permit number is what you take to the city's portal, CompassKC, to see the permit itself.
- Is there a free database of Kansas City building permits?
- Yes. The City of Kansas City, Missouri publishes 'City Issued Permits' on its Socrata open-data portal, dataset w8jz-wjgn, and it answers ordinary unauthenticated requests. The Kansas City Stare counted 1,529,255 permits in it on September 12, 2026, from a single permit dated 1902 through the week of September 4, 2026, with continuous volume from 1986. The largest permit type is not building at all: street excavation permits from Public Works are 290,939 rows, 19.0 percent of the file, while residential and commercial building permits together are 150,313, or 9.8 percent.
- What does 'Issued' mean on a Kansas City permit?
- Only that the permit was granted. It does not mean work is under way. The Kansas City Stare counted 300,863 permits marked Issued on September 12, 2026, of which 276,248 were issued more than a year earlier, 224,276 more than five years earlier, and 185,160 had no inspection recorded at all; the oldest was issued November 1, 1960. On residential building permits specifically, 19,150 of 20,875 Issued permits were older than a year. To tell whether a permit is live, read issue_date and last_inspection_date rather than the status.
- How current is Kansas City's permit data?
- About a week behind. The dataset's metadata gives its update frequency as weekly, and the city's last update before The Stare's pull was Tuesday, September 8, 2026 at 1:10 a.m. Central. Inside the file, the last full working day was Friday, September 4, with 147 permits issued; September 5 through 8 hold 13 rows between them. Do not read the file's own maximum issue date as its newest permit: that returns March 4, 3036, because 222 permits carry issue dates in the future.
- Does the Kansas City permit database show who the contractor is?
- Not the current one. The 19-column file the city updates now has no applicant, contractor, owner, description, fee, or map coordinate. Those fields were in the older file, ntw8-aacc, 'Permits - CPD Dataset', which has 42 columns including contractorcompanyname (filled on 660,283 of 681,036 rows), description, estprojectcost, housingunits, latitude and longitude, and a link to each permit's CompassKC page, but that file's newest permit is dated May 9, 2025, and its metadata still says it updates nightly. For a contractor's name on anything newer, the route is the permit number and the CompassKC portal.
- Can I match a Kansas City permit to the county parcel viewer?
- Yes, with a step in between. The permit file's main_parcel_number is the city's own parcel key, a bare number with no hyphens on all 1,462,100 rows that have one, and it does not match Jackson County's hyphenated parcel number or the integer keys on the county's data table. It does match the kivapin column in the city's own Parcels dataset on the same portal, 6g4y-sh3m, which carries the county number beside it; three of three parcels The Stare tested matched on address. That city parcel file has had no rows updated since December 30, 2023, so use it for the key, not the values. Joining by address instead means uppercasing the city's title-case addresses first, because the county writes all 300,626 of its addresses in capitals.
- How many building permits does Kansas City issue a year?
- Counting only the two types most people mean, residential and commercial building permits, and clipping the file's future-dated rows, Kansas City issued between 2,839 (in 2019) and 3,724 (in 2022) a year from 2016 through 2025, with 3,376 in 2025 and 2,635 in 2026 through the week of September 4. Counting every permit type, the file holds 27,859 to 51,477 permits a year from 1993 on. Any count from this file has to exclude the 222 permits whose issue dates fall after September 12, 2026, most of them between 2084 and 2090.
- How do I look up a building permit in Kansas City, Kansas?
- That is a different government. The Unified Government of Wyandotte County runs a permit search on Accela Citizen Access at aca-prod.accela.com/UG, whose building-permits page describes itself as a search of the Kansas City, Kansas NRC permit database; the Unified Government's own website refuses automated requests, so The Stare describes only that page. In Johnson County, the county's Building Codes division takes applications through a portal called MGOconnect, required for all building permit applications since January 1, 2020 by the county's own page, and lists 913-715-2200 for questions. Neither Kansas door was tested past its front page.
- What is CompassKC?
- CompassKC is Kansas City, Missouri's permit and plan system. Its public site at compasskc.kcmo.org redirects to a Tyler Technologies self-service portal whose own page labels include a 'Public Information' search, 'Today's Inspections', 'Estimate Permit Fees', and a 'Permit Number' field. Each permit has its own page there, at an address beginning compasskc.kcmo.org/EnerGov_Prod/SelfService#/permit/. The search runs in the browser and The Kansas City Stare has not machine-tested the click path; the city's main website, kcmo.gov, refuses automated requests, so its help pages for the portal could not be archived.