Skip to main content
Every search returns a single JSON object. All top-level fields are always present — disabled features return null rather than being omitted.

Top-level shape

{
  "meta": { ... },
  "businesses": [ ... ],
  "regulatory": { ... },
  "sanctions": null,       // null when sanctionsScreening is false
  "website": null,         // null when websiteAnalysis is false
  "errors": null           // null when all sources succeeded
}

meta

Metadata about the search itself. Your original query is nested under submitted.
{
  "meta": {
    "searchId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "searchedBy": "user@example.com",
    "searchedAt": "2024-01-15T10:30:00Z",
    "submitted": {
      "name": "Shopify Inc",
      "website": "https://shopify.com",
      "params": {
        "businessRegistry": true,
        "regulatoryRegistry": true,
        "sanctionsScreening": false,
        "sanctionsThreshold": 85,
        "websiteAnalysis": false
      }
    },
    "status": "completed",
    "duration": 24318
  }
}
FieldDescription
searchIdUUID — use with GET /search/{id} to retrieve this result later
searchedByEmail of the user who ran the search (may be null for API keys)
searchedAtISO 8601 timestamp of when the search was executed
submitted.nameThe company name you submitted
submitted.websiteWebsite URL if provided (null otherwise)
submitted.paramsThe parameters that were used, with defaults applied
statuscompleted, completed-with-errors, or error
durationTotal time in milliseconds
completed-with-errors means at least one data source succeeded. Check the errors object to see which sources failed.

businesses

An array of business registry matches, sorted by match confidence.
{
  "businesses": [
    {
      "legalName": {
        "name": "Shopify Inc.",
        "matchScore": 0.98
      },
      "entityType": "Corporation",
      "jurisdiction": "Federal",
      "status": "Active",
      "incorporationDate": "2011-09-14",
      "registrationNumbers": [
        { "label": "Federal Corporation Number", "value": "796223-2" },
        { "label": "Business Number (CRA)", "value": "837620872" }
      ],
      "addresses": [
        {
          "label": "Registered Office Location",
          "street": "151 O'Connor Street",
          "city": "Ottawa",
          "province": "Ontario",
          "postalCode": "K2P 2L8",
          "country": "Canada"
        }
      ],
      "alternateNames": ["Shopify", "Shopify Commerce"]
    }
  ]
}
FieldDescription
legalName.matchScoreConfidence that this result matches your query (0–1)
jurisdictionFederal, Ontario, British Columbia, etc.
statusActive, Dissolved, Cancelled, etc.
registrationNumbersAll registration IDs with human-readable labels
alternateNamesOperating names, DBA names, and aliases

regulatory

Flat arrays of regulatory registry matches. Empty arrays when no matches are found.
{
  "regulatory": {
    "craCharities": [],
    "fintracMsb": [],
    "agcoCannabis": [],
    "healthCanadaCannabis": [],
    "mohServiceProviders": []
  }
}
KeyRegistryRegulator
craCharitiesRegistered charitiesCanada Revenue Agency
fintracMsbMoney Services BusinessesFINTRAC
agcoCannabisCannabis retail licencesAGCO (Ontario)
healthCanadaCannabisCannabis production licencesHealth Canada
mohServiceProvidersHealth service providersOntario Ministry of Health
Each item includes legalName ({name, matchScore}), registrationNumber, status, addresses, and a sourceUrl linking to the official registry record.

sanctions

Always present in the response. null when sanctionsScreening is false. When enabled, an object with query, totalMatches, and matches. See Sanctions screening for full documentation.
This describes the sanctions field within a search response. For the standalone POST /sanctions endpoint, which has its own meta, screening, and sourceCounts structure, see Standalone screening.
{
  "sanctions": {
    "query": "Shopify Inc",
    "totalMatches": 1,
    "matches": [
      {
        "legalName": {
          "name": "SHOPIFY INC",
          "matchScore": 0.91,
          "matchedName": "SHOPIFY INC",
          "nameScores": [{ "name": "SHOPIFY INC", "score": 0.91 }]
        },
        "alternateNames": [],
        "addresses": [],
        "details": {
          "source": "us-sanctions-ofac-sdn",
          "datasets": ["us-sanctions-ofac-sdn"],
          "countries": ["US"],
          "programs": [],
          "identifiers": [],
          "listingDate": null,
          "dateOfBirth": null,
          "remarks": null
        },
        "sourceUrls": []
      }
    ]
  }
}

website

Always present in the response. null when websiteAnalysis is false and no website URL was provided.
{
  "website": {
    "status": "success",
    "url": "https://shopify.com",
    "scrapedAt": "2024-01-15T10:30:00Z",
    "extracted": {
      "legalName": "Shopify Inc.",
      "descriptions": ["Shopify is a commerce platform..."],
      "addresses": [],
      "people": [{ "name": "Tobias Lütke", "title": "CEO" }],
      "contactInfo": { "emails": [], "phoneNumbers": [] },
      "registrations": []
    },
    "industry": {
      "naicsCode": "454110",
      "naicsDescription": "Electronic Shopping and Mail-Order Houses"
    },
    "domain": {
      "url": "https://shopify.com",
      "createdAt": "1996-04-28T00:00:00Z"
    }
  }
}
FieldDescription
statussuccess, skipped, error, or empty
extracted.legalNameLegal name found on the website
extracted.peopleNamed individuals with titles
extracted.contactInfoEmails and phone numbers (E.164)
industry.naicsCode6-digit NAICS classification code
domain.createdAtDomain registration date
See Website analysis for full field documentation.

errors

Always present in the response. null when all sources succeeded. The search can still succeed (completed-with-errors) even if some sources fail.
{
  "errors": {
    "businessRegistry": {
      "code": "TIMEOUT",
      "message": "Business registry request timed out",
      "retryable": true
    }
  }
}
Keys correspond to data sources: businessRegistry, regulatoryRegistry, sanctionsScreening, websiteAnalysis. Only failed sources appear — a key’s absence means that source succeeded. See Error handling for the full list of error codes.