Official SDKs

Start building in minutes

Official SDK libraries for JavaScript, Python, and Ruby. Drop-in integration with your existing stack.

🟨

JavaScript / TypeScript

Full TypeScript supportBrowser & Node.jsTree-shakeableZero dependencies
Installation
npm install truaddress
Quick Start Example
import TruAddress from 'truaddress';

const client = new TruAddress({
  apiKey: 'YOUR_API_KEY'
});

// Validate a US address
const results = await client.usStreet({
  street: '1600 Pennsylvania Ave NW',
  city: 'Washington',
  state: 'DC',
  zipcode: '20500'
});

if (results.length > 0 && TruAddress.isDeliverable(results[0])) {
  console.log('Valid address:', results[0].delivery_line_1);
  console.log('DPV Code:', results[0].analysis.dpv_match_code);
}
🐍

Python

Python 3.8+Type hintsDjango & Flask readyAsync support
Installation
pip install truaddress
Quick Start Example
from truaddress import TruAddress

client = TruAddress(api_key="YOUR_API_KEY")

# Validate a US address
results = client.us_street(
    street="1600 Pennsylvania Ave NW",
    city="Washington",
    state="DC",
    zipcode="20500"
)

if results and TruAddress.is_deliverable(results[0]):
    print("Valid address:", results[0]["delivery_line_1"])
    print("DPV Code:", results[0]["analysis"]["dpv_match_code"])
💎

Ruby / Rails

Ruby 2.7+Rails integrationThread-safeActiveRecord validators
Installation
gem 'truaddress'
Quick Start Example
require 'truaddress'

client = Truaddress::Client.new(api_key: "YOUR_API_KEY")

# Validate a US address
results = client.us_street(
  street: "1600 Pennsylvania Ave NW",
  city: "Washington",
  state: "DC",
  zipcode: "20500"
)

if results.any? && Truaddress::Client.deliverable?(results[0])
  puts "Valid address: #{results[0]['delivery_line_1']}"
  puts "DPV Code: #{results[0]['analysis']['dpv_match_code']}"
end

Need a different language?

Our REST API works with any language. Check out the documentation for cURL examples and OpenAPI spec that you can use to generate clients for any platform.