TechLookup

Look up company profiles for many domains

Takes up to 100 domains and returns the company behind each one, in a single request. Built for enriching a CRM: one call replaces one call per record.

Costs 1 Bulk Lookup Credit per domain that RESOLVES. Domains with no data cost nothing, and malformed domains are reported in invalid rather than failing the batch, because real CRM exports always contain some junk. If the balance runs out partway through, the domains that could not be paid for are listed in skipped_insufficient_credits and returned without data. You are never charged for data you did not get, and never given data you did not pay for.

Duplicate and equivalent domains (stripe.com, www.stripe.com, https://stripe.com/pricing) collapse to one entry and are charged once.

Rate limit: 30 requests per minute, counted per API token. Going over returns 429 with error_code: rate_limited and a Retry-After header in seconds. A 429 costs no credits. Traffic is also subject to a higher shared ceiling per network address, applied before authentication.

post/v1/tech-lookup/companies/batch

Request

  • Base URL: https://api.stackscan.com/api
  • URL: https://api.stackscan.com/api/v1/tech-lookup/companies/batch
  • Auth: HTTP bearer and API key in header X-Tenant-Id

Request body

domainsstring[] required
freshboolean

Response

Per-domain company profiles. Always 200 on a well-formed request, including partial success. Deducts 1 Bulk Lookup Credit per RESOLVED domain; domains with no data, malformed domains, and domains skipped for lack of credits are free.

successboolean required
requestedinteger required
resolvedinteger required
servedinteger required
credits_chargednumber required
not_foundstring[] required
invalidstring[] required
skipped_insufficient_creditsstring[] required

Example response

{
  "success": true,
  "requested": 4,
  "resolved": 2,
  "served": 2,
  "credits_charged": 2,
  "results": [
    {
      "success": true,
      "domain": "google.com",
      "last_updated": "2026-05-22T14:30:00Z",
      "company": {
        "name": "Google LLC",
        "industry": "Internet",
        "city": "Mountain View",
        "country": "United States",
        "address": "Mountain View, CA",
        "linkedin_url": "https://www.linkedin.com/company/google",
        "estimated_revenue_band": "1b_plus"
      },
      "total_technologies_tracked": 142
    },
    {
      "success": true,
      "domain": "shopify.com",
      "last_updated": "2026-05-22T14:30:00Z",
      "company": {
        "name": "Shopify",
        "industry": "Software Development",
        "city": "Ottawa",
        "country": "Canada",
        "address": "Ottawa, Ontario",
        "linkedin_url": "https://www.linkedin.com/company/shopify",
        "estimated_revenue_band": "1b_plus"
      },
      "total_technologies_tracked": 88
    },
    {
      "success": false,
      "domain": "example-with-no-data.com",
      "error": "No data available"
    },
    {
      "success": false,
      "domain": "not a domain",
      "error": "Invalid domain"
    }
  ],
  "not_found": [
    "example-with-no-data.com"
  ],
  "invalid": [
    "not a domain"
  ],
  "skipped_insufficient_credits": []
}

Changes

No recorded changes to this operation across all 1 revision of this API.