{
  "info": {
    "name": "ZIP Codes API v2",
    "description": "Complete collection for the ZIP Codes API v2 — US ZIP codes, Canadian postal codes, address validation, radius search, autocomplete, distance calculation, and 500+ enrichment fields.\n\n**Getting started:**\n1. Set the `api_key` variable to your API key\n2. Optionally change `base_url` if testing locally\n3. Start with the Quick ZIP folder to verify your key works\n\n**Free tier:** 2,500 credits/day — no credit card required.\n\n**Docs:** https://api.zip-codes.com/docs\n**Demo:** https://www.zip-codes.com/api/Demo\n**Portal:** https://www.zip-codes.com/api/",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "base_url", "value": "https://api.zip-codes.com", "type": "string" },
    { "key": "api_key", "value": "YOUR_API_KEY_HERE", "type": "string" }
  ],
  "auth": {
    "type": "apikey",
    "apikey": [
      { "key": "key", "value": "X-Api-Key", "type": "string" },
      { "key": "value", "value": "{{api_key}}", "type": "string" },
      { "key": "in", "value": "header", "type": "string" }
    ]
  },
  "item": [
    {
      "name": "Health Check",
      "item": [
        {
          "name": "Health Check (no auth required)",
          "request": {
            "auth": { "type": "noauth" },
            "method": "GET",
            "url": "{{base_url}}/v2/health",
            "description": "Returns 200 if the API is operational. No API key required."
          }
        }
      ]
    },
    {
      "name": "Quick ZIP Lookup",
      "description": "Lightweight ZIP/postal code lookup — base info + timezone. Fast and cheap (1 credit).",
      "item": [
        {
          "name": "US ZIP — Beverly Hills",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=90210&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "90210" },
                { "key": "include", "value": "timezone" }
              ]
            }
          }
        },
        {
          "name": "US ZIP — Manhattan",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=10001&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "10001" },
                { "key": "include", "value": "timezone" }
              ]
            }
          }
        },
        {
          "name": "US ZIP+4 — Beverly Hills",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=90210-1234&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "90210-1234" },
                { "key": "include", "value": "timezone" }
              ]
            },
            "description": "ZIP+4 lookup returns additional delivery-point detail."
          }
        },
        {
          "name": "CA FSA — Toronto",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=M5V&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "M5V" },
                { "key": "include", "value": "timezone" }
              ]
            },
            "description": "Canadian Forward Sortation Area (first 3 characters of postal code)."
          }
        },
        {
          "name": "CA Postal Code — Ottawa",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=K1A0A1&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "K1A0A1" },
                { "key": "include", "value": "timezone" }
              ]
            },
            "description": "Full 6-character Canadian postal code."
          }
        },
        {
          "name": "Coordinates — Times Square",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=40.7580,-73.9855&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "40.7580,-73.9855" },
                { "key": "include", "value": "timezone" }
              ]
            },
            "description": "Pass lat,lon coordinates to reverse-geocode to the nearest ZIP code."
          }
        },
        {
          "name": "Not Found — 99999",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=99999&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "99999" },
                { "key": "include", "value": "timezone" }
              ]
            },
            "description": "Example of a not-found response (404)."
          }
        }
      ]
    },
    {
      "name": "Full ZIP Lookup (Enrichments)",
      "description": "Full ZIP lookup with opt-in enrichments — ACS demographics, census boundaries, congressional districts, school districts, and more. 500+ fields available.",
      "item": [
        {
          "name": "90210 — All Enrichments",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=90210&include=acs_demographic,acs_social,acs_economic,acs_housing,census,cd,state_leg,school_district,timezone,demographics",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "90210" },
                { "key": "include", "value": "acs_demographic,acs_social,acs_economic,acs_housing,census,cd,state_leg,school_district,timezone,demographics" }
              ]
            },
            "description": "Full response with all enrichment flags enabled. This is the kitchen sink — 500+ fields."
          }
        },
        {
          "name": "90210 — Census Boundaries + CD",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=90210&include=census,cd,school_district,timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "90210" },
                { "key": "include", "value": "census,cd,school_district,timezone" }
              ]
            },
            "description": "Census core boundaries, congressional districts, and school districts."
          }
        },
        {
          "name": "90210 — ACS Demographics Only",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=90210&include=acs_demographic,timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "90210" },
                { "key": "include", "value": "acs_demographic,timezone" }
              ]
            },
            "description": "ACS demographic profile — population, age, sex, race, ethnicity."
          }
        },
        {
          "name": "90210 — Historical ACS (2018)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=90210&include=acs_demographic_2018,acs_economic_2018,timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "90210" },
                { "key": "include", "value": "acs_demographic_2018,acs_economic_2018,timezone" }
              ]
            },
            "description": "Historical ACS data — append _YYYY (2011-2023) to any ACS profile flag. 14 years of normalized data."
          }
        },
        {
          "name": "M5V — Toronto FSA (All Enrichments)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/zip/?code=M5V&include=acs_demographic,acs_social,acs_economic,acs_housing,census,cd,state_leg,school_district,timezone,demographics",
              "host": ["{{base_url}}"],
              "path": ["v2", "zip", ""],
              "query": [
                { "key": "code", "value": "M5V" },
                { "key": "include", "value": "acs_demographic,acs_social,acs_economic,acs_housing,census,cd,state_leg,school_district,timezone,demographics" }
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Address Validation",
      "description": "Validate and standardize US street addresses. Accepts messy input — typos, missing ZIPs, abbreviations, ATTN lines, PO Boxes — and returns clean, USPS-standardized output with ZIP+4.",
      "item": [
        {
          "name": "White House",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=1600 Pennsylvania Ave NW, Washington DC",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "1600 Pennsylvania Ave NW, Washington DC" }
              ]
            }
          }
        },
        {
          "name": "Empire State Building",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=350 Fifth Avenue, New York NY 10118",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "350 Fifth Avenue, New York NY 10118" }
              ]
            }
          }
        },
        {
          "name": "MIT (with ATTN line)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=ATTN Admissions, 77 Massachusetts Ave, Cambridge MA 02139",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "ATTN Admissions, 77 Massachusetts Ave, Cambridge MA 02139" }
              ]
            },
            "description": "ATTN lines are automatically stripped — the parser finds the real address."
          }
        },
        {
          "name": "Willis Tower (ATTN + Suite)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=ATTN Leasing Office, 233 S Wacker Dr Ste 4700, Chicago IL 60606",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "ATTN Leasing Office, 233 S Wacker Dr Ste 4700, Chicago IL 60606" }
              ]
            },
            "description": "Complex input: attention line + suite number. Parser extracts both the street address and secondary unit."
          }
        },
        {
          "name": "Apple HQ (city only, no state/ZIP)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=1 Infinite Loop, Cupertino",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "1 Infinite Loop, Cupertino" }
              ]
            },
            "description": "No state, no ZIP — the parser resolves it from city name alone."
          }
        },
        {
          "name": "Denver (no state, just ZIP)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=200 E Colfax Ave, Denver 80203",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "200 E Colfax Ave, Denver 80203" }
              ]
            },
            "description": "State omitted — ZIP code is enough to resolve."
          }
        },
        {
          "name": "PO Box — Beverly Hills",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=PO Box 1142, Beverly Hills CA 90213",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "PO Box 1142, Beverly Hills CA 90213" }
              ]
            },
            "description": "PO Boxes are validated and ZIP+4 matched just like street addresses."
          }
        },
        {
          "name": "Puerto Rico — La Fortaleza",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=150 Calle de la Fortaleza, San Juan PR 00901",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "150 Calle de la Fortaleza, San Juan PR 00901" }
              ]
            },
            "description": "Full US territory support including Puerto Rico."
          }
        },
        {
          "name": "Messy — typos, no punctuation",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=1600 pensylvania ave nw washingtn dc",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "1600 pensylvania ave nw washingtn dc" }
              ]
            },
            "description": "Misspelled street and city, no commas, no state abbreviation — parser handles it."
          }
        },
        {
          "name": "Messy — all lowercase, abbreviations",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=350 5th ave apt 101 new york ny",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "350 5th ave apt 101 new york ny" }
              ]
            },
            "description": "All lowercase, ordinal street number, apartment — standardized to USPS format."
          }
        },
        {
          "name": "Messy — sloppy PO Box",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=p.o. box 1234 beverly hills ca 90210",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "p.o. box 1234 beverly hills ca 90210" }
              ]
            },
            "description": "Non-standard PO Box format with periods — normalized to USPS standard."
          }
        },
        {
          "name": "Messy — extra spaces, mixed case",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address/?address=  400   BROAD   st   seattle   WA  ",
              "host": ["{{base_url}}"],
              "path": ["v2", "address", ""],
              "query": [
                { "key": "address", "value": "  400   BROAD   st   seattle   WA  " }
              ]
            },
            "description": "Extra whitespace, mixed case, no ZIP — parser normalizes everything."
          }
        }
      ]
    },
    {
      "name": "Address",
      "description": "Validate and standardize US street addresses against USPS ZIP+4 data. Returns the matched address in clean USPS format with ZIP+4, delivery details, and confidence level. Accepts messy input — typos, missing ZIPs, abbreviations.",
      "item": [
        {
          "name": "Address Lookup — Empire State Building",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address?address=350 5th Ave, New York, NY 10118",
              "host": ["{{base_url}}"],
              "path": ["v2", "address"],
              "query": [
                { "key": "address", "value": "350 5th Ave, New York, NY 10118" }
              ]
            },
            "description": "Validate and standardize a US address. Returns ZIP+4, delivery details, and confidence level."
          },
          "response": [
            {
              "name": "200 OK — Matched",
              "status": "OK",
              "code": 200,
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "body": "{\n  \"success\": true,\n  \"request\": {\n    \"address\": \"350 5th Ave, New York, NY 10118\"\n  },\n  \"results\": [\n    {\n      \"input\": \"350 5TH AVE, NEW YORK, NY 10118\",\n      \"success\": true,\n      \"data\": {\n        \"confidence\": \"high\",\n        \"formatted_address\": \"350 5TH AVE, NEW YORK, NY 10118-0110\",\n        \"address_line1\": \"350 5TH AVE\",\n        \"address_line2\": \"NEW YORK, NY 10118-0110\",\n        \"recipient_name\": null,\n        \"attention_line\": null,\n        \"address_components\": {\n          \"number\": \"350\",\n          \"pre_directional\": null,\n          \"street\": \"5TH\",\n          \"street_pre_type\": null,\n          \"suffix\": \"AVE\",\n          \"post_directional\": null,\n          \"secondary_type\": null,\n          \"secondary_number\": null,\n          \"city\": \"NEW YORK\",\n          \"state\": \"NY\",\n          \"zip\": \"10118\",\n          \"plus4\": \"0110\",\n          \"country\": \"US\"\n        },\n        \"details\": {\n          \"record_type\": { \"code\": \"H\", \"description\": \"Highrise\" },\n          \"carrier_route\": { \"code\": \"C009\", \"description\": \"City Delivery\" },\n          \"facility\": { \"code\": \"P\", \"description\": \"Post Office\" },\n          \"county\": { \"fips\": \"061\", \"name\": \"New York\" },\n          \"congressional_district\": \"12\",\n          \"location_block_group\": null,\n          \"finance_number\": null,\n          \"building_name\": \"EMPIRE STATE BUILDING\",\n          \"government_building\": false,\n          \"base_alternate_code\": null,\n          \"lacs_status\": null,\n          \"municipality_key\": null,\n          \"urbanization_key\": null,\n          \"preferred_last_line_key\": null\n        }\n      },\n      \"notices\": [\n        {\n          \"code\": \"MATCHED\",\n          \"message\": \"Address matched.\",\n          \"class\": \"match\"\n        }\n      ]\n    }\n  ],\n  \"meta\": {\n    \"request_id\": \"req_abc123\",\n    \"version\": \"2.0.0\",\n    \"timing_ms\": 12,\n    \"credits\": {\n      \"used\": 1,\n      \"source\": \"daily\",\n      \"remaining\": 2499,\n      \"breakdown\": {\n        \"base\": 1,\n        \"enrichments\": {}\n      }\n    }\n  }\n}"
            }
          ]
        },
        {
          "name": "Address with Coordinates — Pensacola",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address?address=4034 Elmcrest Dr, Pensacola, FL 32504&include=coordinates",
              "host": ["{{base_url}}"],
              "path": ["v2", "address"],
              "query": [
                { "key": "address", "value": "4034 Elmcrest Dr, Pensacola, FL 32504" },
                { "key": "include", "value": "coordinates" }
              ]
            }
          },
          "response": [
            {
              "name": "200 OK — Matched with coordinates",
              "status": "OK",
              "code": 200,
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "body": "{\n  \"success\": true,\n  \"request\": {\n    \"address\": \"4034 Elmcrest Dr, Pensacola, FL 32504\",\n    \"include\": \"coordinates\"\n  },\n  \"results\": [\n    {\n      \"input\": \"4034 ELMCREST DR, PENSACOLA, FL 32504\",\n      \"success\": true,\n      \"data\": {\n        \"confidence\": \"high\",\n        \"formatted_address\": \"4034 ELMCREST DR, PENSACOLA, FL 32504-8726\",\n        \"address_line1\": \"4034 ELMCREST DR\",\n        \"address_line2\": \"PENSACOLA, FL 32504-8726\",\n        \"recipient_name\": null,\n        \"attention_line\": null,\n        \"address_components\": {\n          \"number\": \"4034\",\n          \"pre_directional\": null,\n          \"street\": \"ELMCREST\",\n          \"street_pre_type\": null,\n          \"suffix\": \"DR\",\n          \"post_directional\": null,\n          \"secondary_type\": null,\n          \"secondary_number\": null,\n          \"city\": \"PENSACOLA\",\n          \"state\": \"FL\",\n          \"zip\": \"32504\",\n          \"plus4\": \"8726\",\n          \"country\": \"US\"\n        },\n        \"location\": {\n          \"latitude\": 30.4812,\n          \"longitude\": -87.2134\n        },\n        \"details\": {\n          \"record_type\": { \"code\": \"S\", \"description\": \"Street\" },\n          \"carrier_route\": { \"code\": \"R014\", \"description\": \"Rural Route\" },\n          \"facility\": { \"code\": \"P\", \"description\": \"Post Office\" },\n          \"county\": { \"fips\": \"033\", \"name\": \"Escambia\" },\n          \"congressional_district\": \"01\",\n          \"location_block_group\": null,\n          \"finance_number\": null,\n          \"building_name\": null,\n          \"government_building\": false,\n          \"base_alternate_code\": null,\n          \"lacs_status\": null,\n          \"municipality_key\": null,\n          \"urbanization_key\": null,\n          \"preferred_last_line_key\": null\n        }\n      },\n      \"notices\": [\n        {\n          \"code\": \"MATCHED\",\n          \"message\": \"Address matched.\",\n          \"class\": \"match\"\n        }\n      ]\n    }\n  ],\n  \"meta\": {\n    \"request_id\": \"req_def456\",\n    \"version\": \"2.0.0\",\n    \"timing_ms\": 14,\n    \"credits\": {\n      \"used\": 1,\n      \"source\": \"daily\",\n      \"remaining\": 2498,\n      \"breakdown\": {\n        \"base\": 1,\n        \"enrichments\": {}\n      }\n    }\n  }\n}"
            }
          ]
        },
        {
          "name": "Address — No Match",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/address?address=999 Nonexistent St, Beverly Hills, CA 90210",
              "host": ["{{base_url}}"],
              "path": ["v2", "address"],
              "query": [
                { "key": "address", "value": "999 Nonexistent St, Beverly Hills, CA 90210" }
              ]
            },
            "description": "Example of an address that doesn't match. Returns error code and message."
          },
          "response": [
            {
              "name": "200 OK — No match",
              "status": "OK",
              "code": 200,
              "header": [{ "key": "Content-Type", "value": "application/json" }],
              "body": "{\n  \"success\": false,\n  \"request\": {\n    \"address\": \"999 Nonexistent St, Beverly Hills, CA 90210\"\n  },\n  \"results\": [\n    {\n      \"input\": \"999 NONEXISTENT ST, BEVERLY HILLS, CA 90210\",\n      \"success\": false,\n      \"error\": {\n        \"code\": \"STREET_NOT_FOUND\",\n        \"message\": \"Street not found in this ZIP code.\"\n      }\n    }\n  ],\n  \"meta\": {\n    \"request_id\": \"req_ghi789\",\n    \"version\": \"2.0.0\",\n    \"timing_ms\": 8,\n    \"credits\": {\n      \"used\": 1,\n      \"source\": \"daily\",\n      \"remaining\": 2497,\n      \"breakdown\": {\n        \"base\": 1,\n        \"enrichments\": {}\n      }\n    }\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Radius Search",
      "description": "Find ZIP codes within a radius. Two modes: centroid (fast, haversine) and spatial (polygon intersection with boundary percentages).",
      "item": [
        {
          "name": "Beverly Hills — 10mi centroid",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/radius/?code=90210&max=10&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "radius", ""],
              "query": [
                { "key": "code", "value": "90210" },
                { "key": "max", "value": "10" },
                { "key": "include", "value": "timezone" }
              ]
            }
          }
        },
        {
          "name": "Beverly Hills — 50mi spatial",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/radius/?code=90210&max=50&mode=spatial&include=census,timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "radius", ""],
              "query": [
                { "key": "code", "value": "90210" },
                { "key": "max", "value": "50" },
                { "key": "mode", "value": "spatial" },
                { "key": "include", "value": "census,timezone" }
              ]
            },
            "description": "Spatial mode — uses actual boundary polygons. Each result includes pct_inside showing what percentage of the ZIP falls within the radius."
          }
        },
        {
          "name": "Manhattan — 10mi + ACS",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/radius/?code=10001&max=10&include=acs_demographic,acs_economic,timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "radius", ""],
              "query": [
                { "key": "code", "value": "10001" },
                { "key": "max", "value": "10" },
                { "key": "include", "value": "acs_demographic,acs_economic,timezone" }
              ]
            },
            "description": "Radius + ACS enrichments — get demographics for every ZIP in range."
          }
        },
        {
          "name": "NYC — Auto Radius",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/radius/?code=10001&max=auto&include=acs_demographic",
              "host": ["{{base_url}}"],
              "path": ["v2", "radius", ""],
              "query": [
                { "key": "code", "value": "10001" },
                { "key": "max", "value": "auto" },
                { "key": "include", "value": "acs_demographic" }
              ]
            },
            "description": "Auto radius — automatically selects a radius based on population density. Urban areas get smaller radii, rural areas get larger."
          }
        },
        {
          "name": "Beverly Hills — 50-100mi donut",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/radius/?code=90210&max=100&min=50&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "radius", ""],
              "query": [
                { "key": "code", "value": "90210" },
                { "key": "max", "value": "100" },
                { "key": "min", "value": "50" },
                { "key": "include", "value": "timezone" }
              ]
            },
            "description": "Donut search — min/max radius to exclude the inner circle."
          }
        },
        {
          "name": "Toronto FSA — 10mi",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/radius/?code=M5V&max=10&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "radius", ""],
              "query": [
                { "key": "code", "value": "M5V" },
                { "key": "max", "value": "10" },
                { "key": "include", "value": "timezone" }
              ]
            },
            "description": "Canadian FSA radius search. Returns both US and CA results for border areas."
          }
        },
        {
          "name": "Cross-border — Buffalo 75mi",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/radius/?code=14201&max=75&include=timezone",
              "host": ["{{base_url}}"],
              "path": ["v2", "radius", ""],
              "query": [
                { "key": "code", "value": "14201" },
                { "key": "max", "value": "75" },
                { "key": "include", "value": "timezone" }
              ]
            },
            "description": "Cross-border radius — returns both US ZIP codes and Canadian FSAs within range."
          }
        }
      ]
    },
    {
      "name": "Suggest (Autocomplete)",
      "description": "Real-time typeahead for ZIP codes, cities, counties, and places. Fuzzy matching handles typos — type 'bevery' and get 'Beverly Hills'.",
      "item": [
        {
          "name": "Fuzzy city — 'bevery' → Beverly Hills",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/suggest/?q=bevery&country=US&types=place&limit=10",
              "host": ["{{base_url}}"],
              "path": ["v2", "suggest", ""],
              "query": [
                { "key": "q", "value": "bevery" },
                { "key": "country", "value": "US" },
                { "key": "types", "value": "place" },
                { "key": "limit", "value": "10" }
              ]
            },
            "description": "Misspelled city name — fuzzy matching resolves it."
          }
        },
        {
          "name": "ZIP prefix — '902'",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/suggest/?q=902&country=US&types=zip&limit=10",
              "host": ["{{base_url}}"],
              "path": ["v2", "suggest", ""],
              "query": [
                { "key": "q", "value": "902" },
                { "key": "country", "value": "US" },
                { "key": "types", "value": "zip" },
                { "key": "limit", "value": "10" }
              ]
            },
            "description": "Partial ZIP code — returns matching ZIP codes as you type."
          }
        },
        {
          "name": "Canadian FSA — 'M5'",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/suggest/?q=M5&country=CA&types=fsa&limit=10",
              "host": ["{{base_url}}"],
              "path": ["v2", "suggest", ""],
              "query": [
                { "key": "q", "value": "M5" },
                { "key": "country", "value": "CA" },
                { "key": "types", "value": "fsa" },
                { "key": "limit", "value": "10" }
              ]
            },
            "description": "Canadian FSA autocomplete."
          }
        },
        {
          "name": "County search — 'los ang'",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/suggest/?q=los ang&country=US&types=county&limit=10",
              "host": ["{{base_url}}"],
              "path": ["v2", "suggest", ""],
              "query": [
                { "key": "q", "value": "los ang" },
                { "key": "country", "value": "US" },
                { "key": "types", "value": "county" },
                { "key": "limit", "value": "10" }
              ]
            },
            "description": "County name autocomplete."
          }
        },
        {
          "name": "With proximity bias",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/suggest/?q=spring&country=US&types=place&limit=10&proximity=true",
              "host": ["{{base_url}}"],
              "path": ["v2", "suggest", ""],
              "query": [
                { "key": "q", "value": "spring" },
                { "key": "country", "value": "US" },
                { "key": "types", "value": "place" },
                { "key": "limit", "value": "10" },
                { "key": "proximity", "value": "true" }
              ]
            },
            "description": "Proximity bias — results are ranked by distance to the caller's IP-geolocated position."
          }
        }
      ]
    },
    {
      "name": "Distance",
      "description": "Calculate the distance between any two US ZIP codes, Canadian postal codes, or a mix of both.",
      "item": [
        {
          "name": "LA to NYC",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/distance/?from=90210&to=10001",
              "host": ["{{base_url}}"],
              "path": ["v2", "distance", ""],
              "query": [
                { "key": "from", "value": "90210" },
                { "key": "to", "value": "10001" }
              ]
            }
          }
        },
        {
          "name": "Same code (zero distance)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/distance/?from=90210&to=90210",
              "host": ["{{base_url}}"],
              "path": ["v2", "distance", ""],
              "query": [
                { "key": "from", "value": "90210" },
                { "key": "to", "value": "90210" }
              ]
            }
          }
        },
        {
          "name": "Same city (short distance)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/distance/?from=10001&to=10118",
              "host": ["{{base_url}}"],
              "path": ["v2", "distance", ""],
              "query": [
                { "key": "from", "value": "10001" },
                { "key": "to", "value": "10118" }
              ]
            }
          }
        },
        {
          "name": "Cross-border — Seattle to Vancouver",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/distance/?from=98101&to=V6B",
              "host": ["{{base_url}}"],
              "path": ["v2", "distance", ""],
              "query": [
                { "key": "from", "value": "98101" },
                { "key": "to", "value": "V6B" }
              ]
            },
            "description": "Cross-border distance — US ZIP to Canadian FSA."
          }
        },
        {
          "name": "CA to CA — Toronto to Montreal",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/distance/?from=M5V&to=H3A",
              "host": ["{{base_url}}"],
              "path": ["v2", "distance", ""],
              "query": [
                { "key": "from", "value": "M5V" },
                { "key": "to", "value": "H3A" }
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Batch Endpoints",
      "description": "Process multiple lookups in a single request. Requires a subscription-tier API key.",
      "item": [
        {
          "name": "Quick ZIP Batch — Mixed Types",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/v2/zip/batch",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"codes\": [\"90210\", \"10001-2828\", \"M5V\", \"K1A0A1\", \"34.103131,-118.416253\"],\n  \"include\": [\"timezone\"]\n}"
            },
            "description": "Batch lookup — mix of US ZIP, ZIP+4, Canadian FSA, postal code, and coordinates in one request."
          }
        },
        {
          "name": "Address Batch — Famous Landmarks",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/v2/address/batch",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"addresses\": [\n    \"1600 Pennsylvania Ave NW, Washington DC\",\n    \"300 Alamo Plaza, San Antonio TX 78205\",\n    \"400 Broad St, Seattle WA 98109\",\n    \"4 Jersey St, Boston MA 02215\",\n    \"1 Infinite Loop, Cupertino\"\n  ]\n}"
            },
            "description": "Validate multiple addresses in one request."
          }
        },
        {
          "name": "Radius Batch — Two Searches",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/v2/radius/batch",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"searches\": [\n    { \"code\": \"90210\", \"max\": 10 },\n    { \"code\": \"10001\", \"max\": 10 }\n  ],\n  \"include\": [\"timezone\"]\n}"
            }
          }
        },
        {
          "name": "Distance Batch — Varied Combos",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/v2/distance/batch",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"pairs\": [\n    { \"from\": \"90210\", \"to\": \"10001\" },\n    { \"from\": \"98101\", \"to\": \"V6B\" },\n    { \"from\": \"M5V\", \"to\": \"H3A\" },\n    { \"from\": \"33139\", \"to\": \"30301\" }\n  ]\n}"
            },
            "description": "Batch distance — US-to-US, US-to-CA, and CA-to-CA pairs in one request."
          }
        }
      ]
    },
    {
      "name": "Account",
      "description": "Manage your account — check info, usage, and API keys.",
      "item": [
        {
          "name": "Account Info",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/v2/account/info",
            "description": "Returns your account details, tier, and credit balance."
          }
        },
        {
          "name": "Usage — Last 7 Days",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v2/account/usage?days=7",
              "host": ["{{base_url}}"],
              "path": ["v2", "account", "usage"],
              "query": [
                { "key": "days", "value": "7" }
              ]
            },
            "description": "Credit usage breakdown for the last 7 days."
          }
        },
        {
          "name": "List API Keys",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/v2/account/keys",
            "description": "List all API keys on your account."
          }
        }
      ]
    }
  ]
}
