{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/api-ninjas-com/json-schema/api-ninjas-com-zip-code-response-schema.json",
  "title": "ZipCodeResponse",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/api-ninjas-com-openapi.json#/components/schemas/ZipCodeResponse",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "zip_code": {
        "type": "string"
      },
      "valid": {
        "type": "boolean"
      },
      "city": {
        "type": "string"
      },
      "state": {
        "type": "string"
      },
      "county": {
        "type": "string"
      },
      "timezone": {
        "type": "string"
      },
      "area_codes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "country": {
        "type": "string"
      },
      "lat": {
        "type": "string"
      },
      "lon": {
        "type": "string"
      },
      "population": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Population of the nearest populated place to the ZIP centroid. Premium field: the Free tier receives a notice string in place of the value."
      },
      "elevation_m": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Elevation in metres of the nearest populated place. Premium field: the Free tier receives a notice string in place of the value."
      },
      "climate_zone": {
        "type": [
          "string",
          "null"
        ],
        "description": "Köppen-Geiger climate classification code, e.g. Csa. Premium field: the Free tier receives a notice string in place of the value."
      },
      "urbanisation": {
        "type": [
          "string",
          "null"
        ],
        "description": "Degree of urbanisation, from URBAN_CENTRE to VERY_LOW_DENSITY_RURAL. Premium field: the Free tier receives a notice string in place of the value."
      },
      "nearest_airport": {
        "type": [
          "object",
          "null"
        ],
        "description": "Nearest IATA-coded airport with distance and bearing. Premium field: the Free tier receives a notice string in place of the value.",
        "properties": {
          "name": {
            "type": "string"
          },
          "iata": {
            "type": "string"
          },
          "icao": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "municipality": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "scheduled_service": {
            "type": "boolean"
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "elevation_m": {
            "type": [
              "integer",
              "null"
            ]
          },
          "distance_km": {
            "type": "number"
          },
          "bearing_degrees": {
            "type": "number"
          }
        }
      },
      "zcta": {
        "type": [
          "string",
          "null"
        ],
        "description": "ZIP Code Tabulation Area."
      },
      "land_area_sqmi": {
        "type": [
          "number",
          "null"
        ],
        "description": "Land area of the ZCTA in square miles."
      },
      "water_area_sqmi": {
        "type": [
          "number",
          "null"
        ],
        "description": "Water area of the ZCTA in square miles."
      },
      "state_fips": {
        "type": [
          "string",
          "null"
        ],
        "description": "2-digit state FIPS code."
      },
      "county_fips": {
        "type": [
          "string",
          "null"
        ],
        "description": "5-digit FIPS code of the predominant county."
      },
      "tract_fips": {
        "type": [
          "string",
          "null"
        ],
        "description": "11-digit FIPS code of the predominant Census tract."
      },
      "counties": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "fips": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "land_share": {
              "type": "number",
              "description": "Share of the ZIP Code’s land area falling in this area."
            }
          }
        },
        "description": "Every county the ZIP Code overlaps. ~30% span more than one."
      },
      "cbsa_code": {
        "type": [
          "string",
          "null"
        ],
        "description": "Core Based Statistical Area code (OMB 2023)."
      },
      "cbsa_title": {
        "type": [
          "string",
          "null"
        ],
        "description": "CBSA name."
      },
      "cbsa_type": {
        "type": [
          "string",
          "null"
        ],
        "description": "Either metro or micro.",
        "enum": [
          "metro",
          "micro"
        ]
      },
      "csa_code": {
        "type": [
          "string",
          "null"
        ],
        "description": "Combined Statistical Area code."
      },
      "csa_title": {
        "type": [
          "string",
          "null"
        ],
        "description": "CSA name."
      },
      "timezones": {
        "type": "array",
        "description": "IANA timezones covering the ZIP Code. More than one means the county is split.",
        "items": {
          "type": "string"
        }
      },
      "observes_dst": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether daylight saving is observed."
      },
      "timezone_is_split": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "True when the county is divided by a timezone or DST boundary."
      },
      "utc_offset_std": {
        "type": [
          "string",
          "null"
        ],
        "description": "Standard-time UTC offset."
      },
      "utc_offset_current": {
        "type": [
          "string",
          "null"
        ],
        "description": "UTC offset in effect now, resolved per request."
      },
      "is_dst_now": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Whether daylight saving is currently in effect."
      },
      "school_districts": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "leaid": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "land_share": {
              "type": "number",
              "description": "Share of the ZIP Code’s land area falling in this area."
            }
          }
        },
        "description": "Every overlapping school district. 61% of ZIP Codes touch more than one."
      },
      "primary_school_district": {
        "type": [
          "string",
          "null"
        ],
        "description": "District covering the largest share."
      },
      "primary_school_district_leaid": {
        "type": [
          "string",
          "null"
        ],
        "description": "NCES LEAID of the primary district."
      },
      "congressional_districts": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "district": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "land_share": {
              "type": "number",
              "description": "Share of the ZIP Code’s land area falling in this area."
            }
          }
        },
        "description": "Every overlapping congressional district. ~15% of ZIP Codes span more than one."
      },
      "congressional_district_vintage": {
        "type": [
          "string",
          "null"
        ],
        "description": "Which congressional boundary set the districts reflect."
      },
      "state_legislative_upper": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "district": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "land_share": {
              "type": "number",
              "description": "Share of the ZIP Code’s land area falling in this area."
            }
          }
        }
      },
      "state_legislative_lower": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "district": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "land_share": {
              "type": "number",
              "description": "Share of the ZIP Code’s land area falling in this area."
            }
          }
        },
        "description": "State house districts. Nebraska is unicameral and returns none."
      },
      "demographics": {
        "type": [
          "object",
          "null"
        ],
        "description": "ACS 2020-2024 5-year estimates for the ZCTA.",
        "properties": {
          "population": {
            "type": "integer"
          },
          "median_age": {
            "type": "number"
          },
          "median_household_income": {
            "type": [
              "integer",
              "null"
            ]
          },
          "per_capita_income": {
            "type": [
              "integer",
              "null"
            ]
          },
          "median_home_value": {
            "type": [
              "integer",
              "null"
            ]
          },
          "median_gross_rent": {
            "type": [
              "integer",
              "null"
            ]
          },
          "housing_units": {
            "type": "integer"
          },
          "owner_occupied_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "poverty_rate": {
            "type": [
              "number",
              "null"
            ]
          },
          "unemployment_rate": {
            "type": [
              "number",
              "null"
            ]
          },
          "bachelors_or_higher_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "mean_commute_minutes": {
            "type": [
              "number",
              "null"
            ]
          },
          "estimate_flags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Names any median that fell in an open-ended top or bottom category, where the value is the category bound rather than a true median."
          }
        }
      }
    }
  }
}