How to Get the Funding Raised in Python

November 11, 2026
How to Get the Funding Raised in Python

Your team needs to automatically fetch the total funding raised for any company given its domain and plug that value into your Python data pipeline. By the end of this guide, you’ll call Klazify’s company endpoint, extract the raised field alongside core profile data (name, location, employeesRange, revenue, tags), and ship it with retries, caching, and fallbacks that fit production workloads.

Why Klazify is the right choice when you need funding raised data in Python

When your goal is to enrich domains with company information—especially the raised amount—Klazify’s domain intelligence API is designed to slot into developer workflows and deliver actionable, up-to-date data you can trust in production:

Illustration: How to Get the Funding Raised in Python
  • Accurate website categorization using AI: Klazify analyzes full website content (not just metadata), so when you enrich a domain for raised and company context, you also get precise IAB-aligned categories that help with audience modeling, lead scoring, and safety rules.
  • Global coverage: Multilingual site analysis lets you request funding raised and company attributes for domains across regions, which is essential if your CRM or analytics spans multiple markets.
  • Real-time classification: You aren’t stuck with stale lookups. When a company updates its content or metadata, you can re-enrich and detect changes quickly.
  • Industry-level categories (IAB taxonomy): Returned categories are mapped to IAB standards, which is useful when the same enrichment powers ad placement controls or brand safety alongside funding raised.
  • Simple API integration: A clean REST interface means you can POST a URL and read back structured company data—name, location, employeesRange, revenue, raised, and tags—in a few lines of Python.
  • Compliance and filtering: Combine funding raised with IAB categories to apply policy gates, e.g., accept signups from certain industries and require additional verification for others.

Bottom line: Klazify pairs the raised field your product needs with the categorization and business context most teams also require for filtering, routing, or scoring. Explore more at klazify.com or create a free account to try it yourself.

What you will call: the company data endpoint

Use the domain-to-company endpoint to extract funding raised and other company attributes from a URL or domain you already have. You’ll send a JSON body with the URL and authenticate with a Bearer token.

  • Endpoint: POST https://www.klazify.com/api/domain_company
  • Auth: Authorization: Bearer YOUR_API_KEY
  • Body: {"url":"https://example.com"}

From this call, expect to focus on these core fields under the returned company object:

  • name
  • city
  • stateCode
  • countryCode
  • employeesRange
  • revenue
  • raised
  • tags

Field-to-use mapping for enrichment

Field Purpose in your pipeline Typical handling
name Display name for UI and deduping across sources Normalize case; store as canonical company name
city, stateCode, countryCode Geo segmentation and regional routing Map to internal region codes; handle missing values
employeesRange Firmographic scoring (SMB vs. Enterprise) Bucket to your size tiers (e.g., 1–10, 11–50, 51–200, etc.)
revenue Revenue context for lead scoring and ICP fit Interpret per your model; store without converting units unless needed
raised Funding-based scoring, investor targeting, and GTM triggers Parse as a numeric value if present; handle nulls gracefully
tags Business descriptors for routing and policy checks Map to internal taxonomy; use for keyword and list-based matching

Make a test request with curl

Run this request to validate your credentials and see the structure of the returned company payload. Replace YOUR_API_KEY with your token.

curl -X POST "https://www.klazify.com/api/domain_company" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://cbsnews.com"}'

Notes:

  • Failed or unreachable calls are not billed.
  • Start on the Starter plan (USD $39.99/mo, 7-day trial) to validate the workflow, then parallelize within your pipeline as needed.

Parse funding raised in Python

This Python example shows how to request company data for a list of domains, extract raised and related fields, and cache results to avoid repeated lookups during the same run.

import os
import time
import json
import hashlib
import requests
from typing import Dict, Any, Optional

API_URL = "https://www.klazify.com/api/domain_company"
API_KEY = os.getenv("KLAZIFY_API_KEY", "YOUR_API_KEY")
SESSION = requests.Session()
SESSION.headers.update({
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
})

def cache_key_for(domain: str) -> str:
    return hashlib.sha256(domain.encode("utf-8")).hexdigest()

def get_company(domain_or_url: str, cache: Dict[str, Any]) -> Optional[Dict[str, Any]]:
    key = cache_key_for(domain_or_url)
    if key in cache:
        return cache[key]

    payload = {"url": domain_or_url}
    # Minimal retry loop for transient network errors
    for attempt in range(3):
        try:
            resp = SESSION.post(API_URL, data=json.dumps(payload), timeout=20)
            if resp.status_code == 200:
                data = resp.json()
                cache[key] = data
                return data
            # 4xx/5xx handling: backoff and continue
            time.sleep(1 + attempt)
        except requests.RequestException:
            time.sleep(1 + attempt)
    return None

def extract_company_fields(obj: Dict[str, Any]) -> Dict[str, Any]:
    """
    Extracts the fields typically used for enrichment.
    This function assumes the company data is nested under objects.company.
    """
    company = (obj or {}).get("objects", {}).get("company", {}) or {}
    return {
        "name": company.get("name"),
        "city": company.get("city"),
        "stateCode": company.get("stateCode"),
        "countryCode": company.get("countryCode"),
        "employeesRange": company.get("employeesRange"),
        "revenue": company.get("revenue"),
        "raised": company.get("raised"),
        "tags": company.get("tags") or []
    }

def enrich_domains(domains):
    cache: Dict[str, Any] = {}
    results = []
    for d in domains:
        raw = get_company(d, cache)
        if not raw:
            results.append({"domain": d, "error": "no_response"})
            continue
        fields = extract_company_fields(raw)
        # Example downstream normalization: ensure raised is a number or None
        raised = fields["raised"]
        if isinstance(raised, str):
            try:
                # Optional: parse if your pipeline expects numeric
                raised = float(raised)
            except ValueError:
                raised = None
        results.append({"domain": d, **fields, "raised": raised})
    return results

if __name__ == "__main__":
    domains = [
        "https://cbsnews.com",
        "https://www.example.org",
        "https://www.apple.com/"
    ]
    enriched = enrich_domains(domains)
    for row in enriched:
        print(json.dumps(row, ensure_ascii=False))

How to use the fields:

  • raised: Use directly for funding-based prioritization. Store as numeric if your warehouse expects numeric types; otherwise store as-is and normalize later.
  • employeesRange and revenue: Feed into lead scoring or ICP rules alongside raised.
  • tags: Use for heuristic matching (e.g., “B2B”, “E-commerce”) to separate consumer from enterprise signups.

The official categorization and company structure you may also receive

Alongside company attributes, Klazify can return categorization, logo, and related domain signals. This official example shows the structure, categories, and IAB mapping. Use these fields to combine funding raised with industry classification and brand-safety logic.


{
    "domain": {
        "categories": [
            {
                "confidence": 0.92,
                "name": "/Computers & Electronics/Consumer Electronics",
                "IAB-632-596": "Consumer Electronics/Technology & Computing/Consumer Electronics"
            },
            {
                "confidence": 0.89,
                "name": "/Internet & Telecom/Mobile & Wireless/Mobile Phones"
            }
        ],
        "social_media": null,
        "logo_url": "https://klazify.s3.amazonaws.com/2110787991611585019600ed5fb1d1300.04730104.png"
    },
    "success": true,
    "objects": {
        "company": {
            "url": "https://www.apple.com/",
            "name": "Apple",
            "city": "Cupertino",
            "stateCode": "CA",
            "countryCode": "US",
            "employeesRange": "100K+",
            "revenue": 274515000000,
            "raised": null,
            "tags": [
                "E-commerce",
                "Consumer Electronics",
                "Mobile",
                "B2C"
            ],
            "tech": [
                "omniture_adobe_analytics",
                "atlassian_confluence",
                "successfactors",
                "apache_apex",
                "talend",
                "oracle_peoplesoft",
                "salesforce",
                "stripe",
                "dell_boomi_atomsphere",
                "gigya",
                "sage_50cloud",
                "quickbooks",
                "webmethods",
                "apache_tomcat",
                "alteryx",
                "tibco_rendezvous",
                "atlassian_jira",
                "..."
            ]
        }
    },
    "domain_registration_data": {
        "domain_age_date": "1987-02-19",
        "domain_age_days_ago": "13026",
        "domain_expiration_date": "2030-02-20",
        "domain_expiration_days_left": "123"
    },
    "similar_domains": [
        "bestbuy.com",
        "icloud.com",
        "microsoft.com",
        "macrumors.com",
        "google.com",
        "samsung.com",
        "twitter.com",
        "hp.com",
        "bhphotovideo.com",
        "dell.com"
    ]
}

What to look for in this structure:

  • domain.categories: Hierarchical categories with confidence and IAB mapping. Useful for filtering, targeting, and brand safety.
  • objects.company: Where you’ll read name, city, stateCode, countryCode, employeesRange, revenue, raised, and tags.
  • domain_registration_data and similar_domains: Helpful for risk signals and discovery.

Additional JSON examples (structure reference)

Below are reference copies of the official example payload for quick comparison and testing matchers. Keep one handy when building your JSON parser and unit tests.

Example JSON A


{
    "domain": {
        "categories": [
            {
                "confidence": 0.92,
                "name": "/Computers & Electronics/Consumer Electronics",
                "IAB-632-596": "Consumer Electronics/Technology & Computing/Consumer Electronics"
            },
            {
                "confidence": 0.89,
                "name": "/Internet & Telecom/Mobile & Wireless/Mobile Phones"
            }
        ],
        "social_media": null,
        "logo_url": "https://klazify.s3.amazonaws.com/2110787991611585019600ed5fb1d1300.04730104.png"
    },
    "success": true,
    "objects": {
        "company": {
            "url": "https://www.apple.com/",
            "name": "Apple",
            "city": "Cupertino",
            "stateCode": "CA",
            "countryCode": "US",
            "employeesRange": "100K+",
            "revenue": 274515000000,
            "raised": null,
            "tags": [
                "E-commerce",
                "Consumer Electronics",
                "Mobile",
                "B2C"
            ],
            "tech": [
                "omniture_adobe_analytics",
                "atlassian_confluence",
                "successfactors",
                "apache_apex",
                "talend",
                "oracle_peoplesoft",
                "salesforce",
                "stripe",
                "dell_boomi_atomsphere",
                "gigya",
                "sage_50cloud",
                "quickbooks",
                "webmethods",
                "apache_tomcat",
                "alteryx",
                "tibco_rendezvous",
                "atlassian_jira",
                "..."
            ]
        }
    },
    "domain_registration_data": {
        "domain_age_date": "1987-02-19",
        "domain_age_days_ago": "13026",
        "domain_expiration_date": "2030-02-20",
        "domain_expiration_days_left": "123"
    },
    "similar_domains": [
        "bestbuy.com",
        "icloud.com",
        "microsoft.com",
        "macrumors.com",
        "google.com",
        "samsung.com",
        "twitter.com",
        "hp.com",
        "bhphotovideo.com",
        "dell.com"
    ]
}

Example JSON B


{
    "domain": {
        "categories": [
            {
                "confidence": 0.92,
                "name": "/Computers & Electronics/Consumer Electronics",
                "IAB-632-596": "Consumer Electronics/Technology & Computing/Consumer Electronics"
            },
            {
                "confidence": 0.89,
                "name": "/Internet & Telecom/Mobile & Wireless/Mobile Phones"
            }
        ],
        "social_media": null,
        "logo_url": "https://klazify.s3.amazonaws.com/2110787991611585019600ed5fb1d1300.04730104.png"
    },
    "success": true,
    "objects": {
        "company": {
            "url": "https://www.apple.com/",
            "name": "Apple",
            "city": "Cupertino",
            "stateCode": "CA",
            "countryCode": "US",
            "employeesRange": "100K+",
            "revenue": 274515000000,
            "raised": null,
            "tags": [
                "E-commerce",
                "Consumer Electronics",
                "Mobile",
                "B2C"
            ],
            "tech": [
                "omniture_adobe_analytics",
                "atlassian_confluence",
                "successfactors",
                "apache_apex",
                "talend",
                "oracle_peoplesoft",
                "salesforce",
                "stripe",
                "dell_boomi_atomsphere",
                "gigya",
                "sage_50cloud",
                "quickbooks",
                "webmethods",
                "apache_tomcat",
                "alteryx",
                "tibco_rendezvous",
                "atlassian_jira",
                "..."
            ]
        }
    },
    "domain_registration_data": {
        "domain_age_date": "1987-02-19",
        "domain_age_days_ago": "13026",
        "domain_expiration_date": "2030-02-20",
        "domain_expiration_days_left": "123"
    },
    "similar_domains": [
        "bestbuy.com",
        "icloud.com",
        "microsoft.com",
        "macrumors.com",
        "google.com",
        "samsung.com",
        "twitter.com",
        "hp.com",
        "bhphotovideo.com",
        "dell.com"
    ]
}

Example JSON C


{
    "domain": {
        "categories": [
            {
                "confidence": 0.92,
                "name": "/Computers & Electronics/Consumer Electronics",
                "IAB-632-596": "Consumer Electronics/Technology & Computing/Consumer Electronics"
            },
            {
                "confidence": 0.89,
                "name": "/Internet & Telecom/Mobile & Wireless/Mobile Phones"
            }
        ],
        "social_media": null,
        "logo_url": "https://klazify.s3.amazonaws.com/2110787991611585019600ed5fb1d1300.04730104.png"
    },
    "success": true,
    "objects": {
        "company": {
            "url": "https://www.apple.com/",
            "name": "Apple",
            "city": "Cupertino",
            "stateCode": "CA",
            "countryCode": "US",
            "employeesRange": "100K+",
            "revenue": 274515000000,
            "raised": null,
            "tags": [
                "E-commerce",
                "Consumer Electronics",
                "Mobile",
                "B2C"
            ],
            "tech": [
                "omniture_adobe_analytics",
                "atlassian_confluence",
                "successfactors",
                "apache_apex",
                "talend",
                "oracle_peoplesoft",
                "salesforce",
                "stripe",
                "dell_boomi_atomsphere",
                "gigya",
                "sage_50cloud",
                "quickbooks",
                "webmethods",
                "apache_tomcat",
                "alteryx",
                "tibco_rendezvous",
                "atlassian_jira",
                "..."
            ]
        }
    },
    "domain_registration_data": {
        "domain_age_date": "1987-02-19",
        "domain_age_days_ago": "13026",
        "domain_expiration_date": "2030-02-20",
        "domain_expiration_days_left": "123"
    },
    "similar_domains": [
        "bestbuy.com",
        "icloud.com",
        "microsoft.com",
        "macrumors.com",
        "google.com",
        "samsung.com",
        "twitter.com",
        "hp.com",
        "bhphotovideo.com",
        "dell.com"
    ]
}

How to act on the result: common patterns

  • Block or flag based on category: Combine raised with IAB categories to restrict certain industries from self-serve signups or to route them for manual review.
  • Enrich a signup: At signup, hit the endpoint with the user’s email domain, store raised, employeesRange, and tags, and feed them into your lead scoring immediately.
  • Audit where you run ads: If raised is high (indicating larger companies) and categories match your ICP, include domains on your allowlist for contextual campaigns.

Operational details: batching, caching, retries, and unknown domains

  • Batching: Parallelize requests in modest batches to meet your latency goals. If your job processes a large CSV, chunk the input and use a worker pool sized to your environment.
  • Caching: Cache by registrable domain (e.g., example.com) to avoid duplicate calls within a run. Use a TTL in your store (e.g., 7–30 days) and refresh on cache miss.
  • Retries: Implement short retry logic for transient network errors and brief backoffs for non-200 responses.
  • Unknown or new domains: If a domain returns no raised value or minimal company data, store nulls and recheck on a schedule. Do not fail the whole pipeline—log and continue.
  • Mapping to your taxonomy: Map tags and IAB categories to your internal labels. Keep a rules file (YAML/JSON) to translate source strings to your canonical categories.

How the categorization fields help with funding workflows

While your primary goal may be raised, categories and the IAB mapping provide the “why” behind scoring decisions. For example:

  • Combine raised with /Computers & Electronics categories to prioritize tech prospects for a developer product.
  • Use confidence thresholds (e.g., only accept categories above a given confidence) to minimize noisy routing rules.
  • Leverage tags to align data to your GTM segments (e.g., B2C vs. B2B), then apply tiered outreach sequences by raised and employeesRange.

End-to-end workflow example

  1. Trigger: A new lead signs up with email [email protected]. Extract domain.com.
  2. Enrich: POST to https://www.klazify.com/api/domain_company with {"url":"https://domain.com"} and store the response.
  3. Extract: Read objects.company.raised, employeesRange, revenue, tags; also store domain.categories for IAB mapping.
  4. Score: Apply your rules. Example—boost score if raised is not null and employeesRange indicates larger orgs.
  5. Route: Send qualified leads directly to sales; assign smaller, lower-raised leads to nurture. Optionally block categories you don’t serve.
  6. Cache: Save the enriched record keyed by domain.com with TTL. On repeat signups, read from cache.

Testing and monitoring

  • Unit tests: Use the official JSON example above in tests to confirm your JSON parsing logic for nested fields like objects.company.raised and domain.categories[].name.
  • Schema drift: Validate keys before use and default to null to keep your pipeline resilient.
  • Latency SLOs: If you enrich in-request (synchronous), add short timeouts and a fallback path. For bulk, prefer asynchronous batch jobs.

Where to go next

Read the full API reference and explore more features here: Documentation. If you need to operationalize internal usage with managed credentials and governance, see the MCP. You can also visit the homepage at klazify.com for an overview.

FAQ

How do I handle null raised values?
Treat null as “unknown” rather than “zero.” Keep your schema nullable, log unknowns for later backfill, and avoid discarding otherwise valuable enrichment fields.

Can I enrich both domain categorization and funding in one flow?
Yes. Use the same enrichment step to read company fields (including raised) and the categorization fields. Store both in your warehouse for scoring, filtering, and analytics.

What about rate limits and batching?
Implement modest parallelism and exponential backoff. If you process large lists, chunk inputs and maintain a cache to minimize duplicate lookups. Refer to the Documentation for current guidance.

Do failed calls count against my usage?
Failed or unreachable calls are not billed.

How do I start for free and test in Python?
Create an account, set KLAZIFY_API_KEY in your environment, and run the Python snippet in this guide. Sign up here: Register.

Ready to enrich funding raised and ship it to production? Create your account now at Register and start integrating Klazify in minutes. Learn more about the platform at klazify.com.

Ready to use Klazify?

Start classifying websites, enriching company data, and exploring web intelligence.

Get Started Free