> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cufinder.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Address Normalizer API

> Shipping errors and duplicate records multiply when addresses exist in inconsistent formats across your customer database. The Address Normalizer API standardizes physical addresses into USPS-compliant and international postal formats, returning cleaned addresses with validation status and component parsing that ensure delivery accuracy and database consistency. Built for logistics platforms, CRM systems, and data quality tools, this RESTful endpoint delivers normalized address data—including street corrections, postal code validation, and administrative region standardization—that power shipping automation, territory assignment accuracy, and duplicate contact consolidation workflows across your operations stack.

export const ReadMore = ({link, children, className = ""}) => {
  return <div className={`${className}`}>
      <h3>Read More</h3>
      <Button href={link} target="_blank" variant="outline" size="md" color="primary" className="mt-2">
        <Icon icon="code" size={24} className="!mint-bg-emerald-600 mr-2" />
        {children}
      </Button>
    </div>;
};

export const Button = ({variant = "fill", size = "md", color = "primary", href, target, children, className = "", style = {}}) => {
  const isLink = !!href;
  const variantClassname = {
    fill: "border-none mint-bg-[var(--color)] !mint-text-white hover:mint-bg-[var(--color-dark)]",
    outline: "border !mint-border-b border-solid mint-border-[var(--color)] !mint-text-[var(--color)] mint-bg-[var(--color-lightest)] hover:mint-bg-[var(--color-lighter)]",
    text: "border-none bg-transparent !mint-text-[var(--color)] hover:mint-bg-[var(--color-lighter)]"
  };
  const sizeClassname = {
    sm: "px-3 py-1 rounded-md text-sm",
    md: "px-6 py-2 rounded-lg text-base",
    lg: "px-8 py-2.5 rounded-xl text-lg"
  };
  const colors = {
    primary: "rgb(22 163 74)",
    info: "rgb(43 127 255)",
    warning: "rgb(254 154 0)",
    error: "rgb(251 44 54)"
  };
  const Comp = isLink ? "a" : "button";
  return <Comp href={isLink ? href : undefined} target={isLink ? target : undefined} className={`inline-block duration-150 transition-all font-medium ${variantClassname[variant]} ${sizeClassname[size]} ${className}`} style={{
    "--color": colors[color],
    "--color-lightest": `color-mix(in srgb, ${colors[color]}, white 90%)`,
    "--color-lighter": `color-mix(in srgb, ${colors[color]}, white 80%)`,
    "--color-light": `color-mix(in srgb, ${colors[color]}, white 10%)`,
    "--color-dark": `color-mix(in srgb, ${colors[color]}, black 10%)`,
    ...style
  }}>
      {children}
    </Comp>;
};

export const SDKsList = ({className = ""}) => {
  const sdks = [{
    href: "https://github.com/CUFinder/cufinder-ts",
    title: "Typescript",
    description: "The Official TypeScript SDK for CUFinder APIs",
    imgSrc: "/images/logos/typescript.svg"
  }, {
    href: "https://github.com/CUFinder/cufinder-py",
    title: "Python",
    description: "The Official Python SDK for CUFinder APIs",
    imgSrc: "/images/logos/python.svg"
  }, {
    href: "https://github.com/CUFinder/cufinder-go",
    title: "Go",
    description: "The Official Go SDK for CUFinder APIs",
    imgSrc: "/images/logos/go.svg"
  }, {
    href: "https://github.com/CUFinder/cufinder-rust",
    title: "Rust",
    description: "The Official Rust SDK for CUFinder APIs",
    imgSrc: "/images/logos/rust.svg",
    darkRevert: true
  }, {
    href: "https://github.com/CUFinder/cufinder-ruby",
    title: "Ruby",
    description: "The Official Ruby SDK for CUFinder APIs",
    imgSrc: "/images/logos/ruby.svg"
  }];
  return <div className={`divide-y divide-slate-200 divide-solid ${className}`}>
      <h2>CUFinder Official SDKs</h2>
      <ul className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-y-4">
        {sdks.map(sdk => <li key={sdk.title}>
            <a href={sdk.href} target="_blank" className="flex items-center gap-4">
              <img src={sdk.imgSrc} alt={sdk.title} noZoom width={100} height={100} className={`w-12 !my-0 ${sdk.darkRevert ? "dark:invert-100" : ""}`} />
              <div>
                <div>
                  <p className="text-sm text-gray-800 dark:text-gray-200">{sdk.title}</p>
                </div>
                <div>
                  <p className="text-xs text-gray-500 leading-[1.2rem]">
                    {sdk.description}
                  </p>
                </div>
              </div>
            </a>
          </li>)}
      </ul>
    </div>;
};

<div id="cuf-use-cases" className="cuf-use-cases">
  ## Common Use Cases

  Clean, consistent addresses keep deliveries, billing, and location reporting from breaking down.

  * **Data Hygiene:** Standardizing messy address records before they enter your CRM or database.
  * **Shipping and Logistics:** Validating delivery addresses to cut failed deliveries and returns.
  * **Deduplication:** Matching records that describe the same location written different ways.
  * **Billing and Compliance:** Keeping customer addresses consistent for invoicing and tax.
  * **Analytics:** Cleaning location data so regional reports and maps stay accurate.
</div>

<Badge color="blue" size="lg" icon="star" className="mt-3">
  Credit usage is 1 per record found.
</Badge>

## Attributes

<ParamField body="address" type="string" required>
  Optional Address
</ParamField>

## Response

<CodeGroup>
  ```json Response theme={null}
  {
      "status": 1,
      "data": {
          "confidence_level": 98,
          "query": "5340 alla rd, los angeles, ca 90066, united states",
          "address": "5340 ALLA RD LOS ANGELES CA 90066 UNITED STATES",
          "credit_count": 21
      }
  }
  ```
</CodeGroup>

<SDKsList className="mt-20" />

<div className="mt-20">
  ## Address Normalizer API Typescript SDK

  <CodeGroup>
    ```typescript Request theme={null}
    import { Cufinder } from '@cufinder/cufinder-ts';

    // Initialize the client
    const client = new Cufinder('your-api-key-here');

    // Initialize with more options
    const client = new Cufinder('your-api-key-here', { timeout: 60000 });

    const result = await client.naa('1095 avenue of the Americas, 6th Avenue ny 10036')
    console.log(result); 
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Address Normalizer API Python SDK

  <CodeGroup>
    ```python Request theme={null}
    from cufinder import Cufinder

    # Initialize the client
    client = Cufinder('your-api-key-here')

    # Initialize with more options
    client = Cufinder('your-api-key-here', timeout=60)

    result = client.naa('1095 avenue of the Americas, 6th Avenue ny 10036')
    print(result)
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Address Normalizer API Go SDK

  <CodeGroup>
    ```go Request theme={null}
    package main

    import (
        "fmt"
        "log"
        
        "github.com/cufinder/cufinder-go"
    )

    func main() {
        // Initialize the client
        sdk := cufinder.NewSDK("your-api-key-here")
        
        // Initialize with more options
        sdk := cufinder.NewSDKWithConfig(cufinder.ClientConfig{
            APIKey:     "your-api-key-here",
            BaseURL:    "https://api.cufinder.io/v2",
            Timeout:    60 * time.Second,
            MaxRetries: 3,
        })
    }
    result, err := sdk.NAA("1095 avenue of the Americas, 6th Avenue ny 10036")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(result)
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Address Normalizer API Ruby SDK

  <CodeGroup>
    ```ruby Request theme={null}
    require 'cufinder_ruby'

    # Initialize the client
    client = Cufinder::Client.new(api_key: 'your-api-key-here')

    # Initialize with more options
    client = Cufinder::Client.new(
        api_key: 'your-api-key-here',
        timeout: 60,
        max_retries: 3
    )

    result = client.naa(address: "1095 avenue of the Americas, 6th Avenue ny 10036")
    puts result
    ```
  </CodeGroup>
</div>

<div className="mt-12">
  ## Address Normalizer API Rust SDK

  <CodeGroup>
    ```rust Request theme={null}
    use cufinder_rust::CufinderSDK;

    #[tokio::main]
    async fn main() -> Result<(), Box<dyn std::error::Error>> {
        // Initialize the client
        let sdk = CufinderSDK::new("your-api-key-here".to_string())?;
        
        // Initialize with more options
        let sdk = CufinderSDK::with_config(ClientConfig {
            api_key: "your-api-key-here".to_string(),
            base_url: "https://api.cufinder.io/v2".to_string(),
            timeout: Duration::from_secs(60),
            max_retries: 3,
        })?;
        
        Ok(())
    }

    let result = sdk.naa("1095 avenue of the Americas, 6th Avenue ny 10036").await?;
    println!("{:?}", result);
    ```
  </CodeGroup>
</div>

## Related APIs

<CardGroup cols={2}>
  <Card title="Phone Number Normalizer" icon="phone-check" href="/apis/phone-number-normalizer">
    Standardize phone numbers to a clean format.
  </Card>

  <Card title="Company Normalizer" icon="building" href="/apis/company-name-normalizer">
    Clean and standardize company names.
  </Card>

  <Card title="Company Locations" icon="map-pin" href="/apis/company-locations">
    List a company's office locations.
  </Card>

  <Card title="Company Enrichment" icon="building" href="/apis/company-enrichment">
    Enrich a company with full firmographics.
  </Card>
</CardGroup>
