Skip to main content
CityRuleLookup

Methodology

What this page covers

This page sets out how three things on CityRuleLookup are made: the restriction level shown on each rule page, the data tables on the data pages, and the rankings. It also gives the site’s coverage by state, the outcomes of reader corrections, and the known limits. It is written for anyone deciding whether to cite the site.

CityRuleLookup is run by one person, Martyn O'Neill, its founder and editor. How rule pages are produced, and which steps are done by software and which by the editor, is set out under How pages are produced on the editorial process page. That account is not repeated here.

Restriction levels

Every rule page carries one of five restriction levels. From the least restrictive to the most restrictive, they are:

  1. Few Restrictions
  2. Light Restrictions
  3. Some Restrictions
  4. Significant Restrictions
  5. Heavy Restrictions

A level is a label stored with the rule. It is drafted with AI assistance from the legal text quoted on the rule page. On a page first published before August 2026, the level may have been drafted before the quoted text was added. The same five labels are used for every topic.

A level is not a score. It is not calculated from fines, hours, fees or any other figure in the rule. The site publishes no rubric that says what each level means for a given topic, so two similar rules can carry different levels. The least restrictive level, Few Restrictions, includes places whose code sets no rule on the topic. A count of places at a level, or a difference in level between two places, is therefore not a measurement.

As counted on October 13, 2026, 140,874 rule pages carry a level. They are spread across the levels as follows.

Rule pages by restriction level, as counted on October 13, 2026
LevelRule pagesShare
Few Restrictions6,0214%
Light Restrictions8,2846%
Some Restrictions90,92365%
Significant Restrictions26,81919%
Heavy Restrictions8,8276%

Some Restrictions, the middle level, is the most common, with 65 percent of these rule pages. Any count of rule pages or places by level should be read against this spread.

One level is calculated, and only from other levels. It is shown wherever the site gives a single level for a group of rules. The state maps, the state cards on category pages and the Trend column on ranking pages that are grouped by level show one level for a whole state. The map pages for one state and one category show one level for each city or county, across that place’s rules in the category. In each case the five levels are numbered in order, the numbers are averaged across the rules counted, and the result is moved to the nearest level that at least one of those rules carries. A tie goes to the more restrictive level.

Data tables

The tables on the data pages are built by program. Each program is a fixed script that works by matching text patterns. No language model is used when a table is built. Except in the kind of table described at the end of this section, every value is read or worked out from the legal text quoted on a rule page. No value is taken from the summaries, key facts or other text written about a rule. The title of a rule page is read for one purpose only: to leave a row out when the title says the rule is about a single activity, kind of site or place.

The quoted text is the excerpt stored on the rule page. The rule pages were compiled by software with AI assistance from official sources, as the editorial process page sets out, and the editor does not read each one. A table is as good as the excerpts it is built from.

  • A value is published only when the quoted text states it, or states the values it is worked out from. Where the text is silent or unclear on a value, the cell is left empty. A place with no stated value is left out of the table and counted. Nothing is filled in from outside the quoted text.
  • The phrase that supports a row is shown in that row, copied word for word from the quoted text. Outside the worked-out columns described next, every number shown in the row appears in the phrase, as a figure or spelled out. The program checks both points for every row before it writes a table, and writes no table if any row fails.
  • Some columns are worked out from the values in the phrase and are not copied from it: a length of time worked out from a start and an end, or a count of the items a phrase lists. A number in such a column need not appear in the phrase, and the check on numbers does not apply to it. The values it is worked out from are held to that check. A data page names any such column above its table.
  • Where a code states a rule as the hours when something is prohibited and a table reports the hours when it is permitted, the permitted period is taken to run from the end of the prohibited one to its start. Both clock times are in the phrase. Which of them begins the permitted period is worked out, not quoted. The ranking of weekday construction hours does this for the codes that state a prohibited period.
  • A row is left out when the source link on its rule page is not on the list of allowed source domains; when that link goes to a state or federal law site, so that the quoted text is not the place’s own rule; when the place has no page on this site; when neither the citation nor the link names the place, because the section may then be another place’s code, unless the builder lists that code as the place’s own; or when the quoted text does not state the value in a form the program reads. A data page counts the rows left out, reason by reason.

A table describes the codes on this site where the quoted text states the value. It is not an estimate for the country, for a state, or for any place that is not listed in it.

Each row carries a link and a date. The link is the address stored on the rule page, or the address of the cited section where a link correction or a comparison with the live code recorded one. The build program does not open it, and it can open the front page of the code or a different part of the code, not the cited section. The date, under “Source last checked”, is the date recorded on a rule page when the page was last written or edited, or when a software re-check last found no newer edition of the code or no change to the source page, whichever is later. It is not a record of anyone comparing a rule page with its source.

Some tables and measured rankings also record a comparison with the live code. Each row is put beside the text of its cited section as the official site shows it on that day. A row that the live text does not bear out is left out. A row whose section cannot be opened is left out too where the page says every row was compared, and is kept and counted where only the first rows of a list were compared. The comparison is made by an AI system that reads the live section. It is not made by a person, and it is not a pattern match by the build program. The page that carries such a record gives its date, which rows it covered and how many rows were left out. A code can change after that date.

One kind of table is not built from the quoted text. It is built from the source link, the citation and the date stored on each rule page, for example a table of the website on which each place’s pages were read. No quoted text stands behind its values, so its rows show no supporting phrase.

Rankings

Most ranking pages are directories grouped by restriction level. Places are ordered by the level stored with their rule, starting from the most or the least restrictive level depending on the page. Within a level, places are listed alphabetically by name, so position inside a level carries no meaning.

Some rankings are ordered by a measured value instead. The value is read or worked out from the quoted text under the rules in the data tables section above, and the ranking page says that it is ordered this way. Places with the same value share a rank and are listed alphabetically by name within it, so a position inside a shared rank carries no meaning. A measured ranking lists only places whose quoted text states the value, or the values it is worked out from.

Either kind of ranking can list fewer places than its topic has rule pages, so a place that is not listed may still have a rule.

Coverage

As counted on October 13, 2026, the site holds:

Rule pages
140,874
Cities
947
Counties
510
States and DC
51
Categories
60
Topics
349

Coverage is uneven. The places on the site were not chosen as a sample of local governments in the United States, so nothing here supports a national rate or average. The three states with the most local rule pages, California, Florida and Texas, hold 36 percent of the local rule pages in the table below.

The table counts places and rule pages by state. A local rule page belongs to a city or county. A statewide rule page belongs to the state itself.

Places and rule pages by state, as counted on October 13, 2026
StateCitiesCountiesLocal rule pagesStatewide rule pages
California2014529,60992
Florida734110,92784
Texas96229,42371
Washington30205,21091
New Jersey41115,06071
Georgia15354,91960
North Carolina25384,47468
Illinois25184,41775
New York37174,21367
Colorado22103,34284
Wisconsin24193,34278
Arizona2473,27976
Virginia15173,15586
Michigan26103,04373
Indiana17192,57076
Pennsylvania20102,49465
Ohio2492,49286
Minnesota16122,43876
South Carolina7242,38266
Massachusetts2832,34681
Missouri1382,32076
Utah1562,26266
Maryland6151,99966
Oregon1271,92579
Tennessee1371,79271
Louisiana8111,68869
Connecticut1901,60478
Iowa1161,52667
Alabama1241,35361
Idaho871,32469
Nevada541,14373
Kansas741,13267
Oklahoma801,02561
New Mexico4593353
Kentucky4885069
Arkansas61072066
Nebraska4356863
Hawaii1449077
Rhode Island4046484
Mississippi3446367
Delaware1339271
South Dakota2235373
North Dakota2127270
Alaska1225452
New Hampshire3025467
Montana2124574
Wyoming2020158
Maine2018783
District of Columbia1016173
West Virginia1115671
Vermont101370

Reader corrections

Readers can report an error through the correction form. Every report is read by the editor and checked against the official source before a page changes. Reports by outcome, as counted on October 13, 2026:

Reader correction reports by outcome, as counted on October 13, 2026
OutcomeReports
Page corrected15
Checked against the official source, page left unchanged12
Not about a published rule4
Read, not yet decided1
Waiting to be read0

Known limits

  • Many pages first published before August 2026 were produced differently, and on some of them the summary states details that the quoted text does not contain. The paragraph on older pages on the editorial process page explains this.
  • The checks on rule pages confirm that a page carries an excerpt, a citation and a source link. They do not compare the excerpt with the source. The data tables are built from those excerpts, so an error in an excerpt carries into a table.
  • The program check on a data table confirms that each number shown appears in the supporting phrase, outside the columns that are worked out. It cannot confirm what the number refers to, for example that a 7 is an hour and not part of a section number.
  • The site records what a code says. It does not record how a rule is enforced.

Revision history

Each date is the day the text of this page was written or changed.

  • . First version written.