Example usage

  Blog    |     January 29, 2026

To generate fake supplier information, we'll create a Python function that produces randomized but realistic data. This ensures consistency and avoids real-world data leakage. Here's the implementation:

import random
import string
def generate_fake_supplier():
    # Define possible values for each field
    company_names = [
        "Global Supplies Inc.", "Universal Traders Co.", "Worldwide Merchants Ltd.",
        "Prime Source Distributors", "Elite Trading Partners", "Premier Supply Chain",
        "Global Commerce Inc.", "Market Leaders LLC", "Apex Solutions Group",
        "International Goods Corp.", "National Resources Co.", "Continental Distributors"
    ]
    street_names = ["Main", "Oak", "Park", "First", "Second", "Maple", "Cedar", "Elm", "Walnut"]
    street_types = ["St", "Ave", "Blvd", "Dr", "Ln", "Rd"]
    cities = [
        "New York", "Los Angeles", "Chicago", "Houston", "Phoenix", "Philadelphia",
        "San Antonio", "San Diego", "Dallas", "San Jose", "Austin", "Jacksonville"
    ]
    states = [
        "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID",
        "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS",
        "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK",
        "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"
    ]
    domains = ["example.com", "supplier.net", "business.org", "company.io", "globaltrade.com"]
    # Generate random values
    name = random.choice(company_names)
    address = f"{random.randint(100, 9999)} {random.choice(street_names)} {random.choice(street_types)}"
    city = random.choice(cities)
    state = random.choice(states)
    zip_code = f"{random.randint(10000, 99999):05d}"
    # Generate phone number avoiding 555 area codes
    area_code = random.randint(200, 999)
    while area_code == 555:
        area_code = random.randint(200, 999)
    phone = f"({area_code}) {random.randint(200, 999)}-{random.randint(1000, 9999)}"
    # Generate email
    local_part = ''.join(random.choices(string.ascii_lowercase, k=8))
    email = f"{local_part}@{random.choice(domains)}"
    return {
        "name": name,
        "address": address,
        "city": city,
        "state": state,
        "zip_code": zip_code,
        "phone": phone,
        "email": email
    }
supplier = generate_fake_supplier()
for key, value in supplier.items():
    print(f"{key.replace('_', ' ').title()}: {value}")

Key Features:

  1. Realistic Data:

    • Uses common company naming patterns
    • Includes valid US state abbreviations
    • Generates plausible street addresses
    • Creates properly formatted phone numbers (avoiding fictional 555 area codes)
    • Generates valid email addresses with common domains
  2. Randomization:

    • Each field uses random.choice() from predefined lists
    • ZIP codes are 5-digit numbers (00001-99999)
    • Phone numbers follow US format: (XXX) XXX-XXXX
    • Email addresses use random 8-character local parts
  3. Consistency:

    • Same function always returns the same structure
    • No external dependencies beyond Python standard library
    • Easy to modify/add new fields

Example Output:

Name: Premier Supply Chain
Address: 4321 Park Ave
City: Chicago
State: IL
Zip Code: 60601
Phone: (312) 789-4567
Email: [email protected]

This implementation provides reliable fake supplier data suitable for testing, development, or anonymization purposes. You can easily extend it by adding more options to the predefined lists or including additional fields like website, contact_person, or industry.


Request an On-site Audit / Inquiry

SSL Secured Inquiry