openapi: 3.1.0 info: title: Interzoid Get Business Info Domain API summary: Returns the primary internet domain for a business anywhere in the world. description: | Provide a company name, brand name, abbreviation, ticker symbol, or email address and receive the organization's primary internet domain in return, in the form domain.extension. Many variations of the same company resolve to a single consistent domain, which makes this API useful for data cleansing, record matching, deduplication, lead routing, and CRM enrichment. Coverage is global, including country-code domains such as `.com.br` and `.co.uk`. The value returned is the registered domain only, with no protocol, no `www` prefix, and no path. When a domain cannot be determined with confidence, the `Domain` field is returned as an empty string rather than a guess. Callers can treat an empty value as "not discovered" without further parsing. This is a Premium API. Each successful call consumes 10 Interzoid credits. Two payment paths are supported: 1. API key (license). Pass an Interzoid API key as the `license` query parameter or as the `x-api-key` request header. Credits are drawn from the account balance and the remaining balance is returned in the `Credits` response field. 2. x402. Call the endpoint with no credentials and the service replies with 402 Payment Required and machine-readable payment instructions, at 0.10 USDC per call on Base. Sign the payment authorization and retry the same request to receive the result. The challenge is returned before parameter validation, so a bare request with no parameters at all still produces a usable quote. See the `x-x402` extension objects in this document and the manifest at `/.well-known/x402`. Only the 200 and 402 responses carry a body. All other status codes are returned as bare HTTP errors with no response payload. version: 1.0.0 termsOfService: https://www.interzoid.com/api-terms-use contact: name: Interzoid Support url: https://www.interzoid.com/contact email: support@interzoid.com license: name: Interzoid API Terms of Use url: https://www.interzoid.com/api-terms-use # Non-standard extension. Not registered with the OpenAPI Initiative. # Declares that this API speaks x402 and where its manifest lives. x-x402: version: 2 protocol: https://x402.org discovery: https://api.interzoid.com/.well-known/x402 facilitator: https://api.cdp.coinbase.com/platform/v2/x402 networks: - eip155:8453 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' payTo: '0xdCEca23FF8A7145e1b5B35427C9886CF21A67566' price: 0.10 USDC per call externalDocs: description: Interzoid API documentation url: https://docs.interzoid.com servers: - url: https://api.interzoid.com description: Production tags: - name: Business Data description: Company name standardization and business data enrichment. security: - ApiKeyQuery: [] - ApiKeyHeader: [] - {} paths: /getbusinessinfodomain: get: tags: - Business Data operationId: getBusinessInfoDomain summary: Get the organization's internet domain description: | Returns the primary internet domain for the supplied lookup value, in the form domain.extension. Costs 10 credits per successful call when authenticated with an API key. A company whose domain cannot be determined returns an empty `Domain` value with a `Code` of Success. This is not an error condition and the call is still charged. Calling this operation with no credentials returns 402 Payment Required with x402 payment instructions rather than 401 Unauthorized. An invalid or expired API key returns 401 Unauthorized. # Non-standard extension. Mirrors the accepts array returned in the live # 402 Payment Required challenge so that agents and indexers can price the # call without sending a request first. Keep these values in sync with the # values the handler actually emits. x-x402: x402Version: 2 resource: url: https://api.interzoid.com/getbusinessinfodomain description: &resourceDescription >- Return the primary internet domain for a business anywhere in the world, in the form domain.extension. Resolves company names, brand names, abbreviations, ticker symbols, and email addresses to the organization's registered web domain. Returns an empty value when a domain cannot be determined. mimeType: application/json accepts: - scheme: exact network: eip155:8453 amount: '100000' resource: url: https://api.interzoid.com/getbusinessinfodomain description: *resourceDescription mimeType: application/json description: *resourceDescription mimeType: application/json payTo: '0xdCEca23FF8A7145e1b5B35427C9886CF21A67566' maxTimeoutSeconds: 60 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' extra: name: USD Coin version: '2' parameters: - name: license in: query required: false description: | Interzoid API key. Optional. Omit it to receive an x402 payment challenge instead. May also be supplied as the `x-api-key` header. schema: type: string example: fh5hs7***** - name: lookup in: query required: true description: | Company name, brand name, abbreviation, ticker symbol, or email address to resolve to the organization's internet domain. Works for companies worldwide. schema: type: string minLength: 1 maxLength: 256 examples: usTechnology: summary: United States technology company value: Microsoft tickerSymbol: summary: Ticker symbol value: ibm saudiEnergy: summary: Saudi energy producer value: Aramco brazilEnergy: summary: Brazilian oil and gas company value: Petrobras usRetail: summary: United States retailer value: Walmart - name: language in: query required: false description: | Optional language code for internationalized results. See https://docs.interzoid.com/entries/international-language-support schema: type: string example: es responses: '200': description: | Success. The lookup completed. The `Domain` field carries the organization's internet domain, or an empty string when no domain could be determined. On a call paid through x402, the response also carries the settlement receipt header. headers: PAYMENT-RESPONSE: $ref: '#/components/headers/PAYMENT-RESPONSE' content: application/json: schema: $ref: '#/components/schemas/BusinessInfoDomainResponse' examples: microsoft: summary: United States technology company value: Domain: microsoft.com Code: Success Credits: '4270' aramco: summary: Saudi energy producer value: Domain: aramco.com Code: Success Credits: '4240' petrobras: summary: Brazilian oil and gas company, country-code domain value: Domain: petrobras.com.br Code: Success Credits: '4230' wellsFargo: summary: United States bank value: Domain: wellsfargo.com Code: Success Credits: '4220' walmart: summary: United States retailer value: Domain: walmart.com Code: Success Credits: '4210' notDiscovered: summary: No domain could be determined value: Domain: '' Code: Success Credits: '4200' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/PaymentRequired' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/ServerError' components: securitySchemes: ApiKeyQuery: type: apiKey in: query name: license description: Interzoid API key supplied as a query parameter. ApiKeyHeader: type: apiKey in: header name: x-api-key description: Interzoid API key supplied as a request header. schemas: BusinessInfoDomainResponse: type: object title: BusinessInfoDomainResponse description: The organization's internet domain plus call status and remaining credits. required: - Domain - Code properties: Domain: type: string description: | The organization's primary internet domain, in the form domain.extension. No protocol, no `www` prefix, and no path are included. An empty string means no domain could be determined for the supplied lookup value. examples: - microsoft.com - petrobras.com.br - '' Code: type: string description: Status of the API call. examples: - Success Credits: type: string description: | Remaining API credits on the account after this call. Meaningful only for API key calls. Calls paid through x402 draw no account credits and return a value of 0. examples: - '4270' - '0' additionalProperties: false PaymentRequiredResponse: type: object title: PaymentRequiredResponse description: | The x402 version 2 challenge body. Lists the payment options the caller may satisfy in order to retry the request successfully. required: - x402Version - accepts properties: x402Version: type: integer description: The x402 protocol version this server speaks. examples: - 2 resource: $ref: '#/components/schemas/X402Resource' accepts: type: array description: One or more acceptable payment requirements. items: $ref: '#/components/schemas/PaymentRequirements' extensions: type: object description: | Protocol extensions declared by this resource. The `bazaar` key carries discovery metadata that facilitator catalogs index, describing the request shape and an example response. additionalProperties: true error: type: string description: Why payment is required. examples: - Payment Required X402Resource: type: object title: X402Resource description: Identifies and describes the resource being paid for. required: - url properties: url: type: string format: uri description: Canonical URL of the resource. examples: - https://api.interzoid.com/getbusinessinfodomain description: type: string description: Human-readable description of what the resource returns. mimeType: type: string description: Media type of the resource returned after payment. examples: - application/json PaymentRequirements: type: object title: PaymentRequirements description: A single acceptable way to pay for this resource. required: - scheme - network - amount - payTo - asset properties: scheme: type: string description: Payment scheme. examples: - exact network: type: string description: CAIP-2 network identifier. examples: - eip155:8453 amount: type: string description: | Amount required, in the smallest unit of the asset. USDC carries six decimals, so 100000 is 0.10 USD Coin. examples: - '100000' resource: # Canonical x402 v2 carries resource once, on the parent PaymentRequired # object. This server also repeats it inside each accepts entry, which is # where v1 clients and the Bazaar v1 extraction path look for it. Documented # here because it is emitted, but not required, so a future handler that # drops the duplication stays conformant to this schema. $ref: '#/components/schemas/X402Resource' description: type: string description: | Human-readable description of the resource. Duplicated from the parent object for v1 compatibility. Optional. mimeType: type: string description: | Media type of the resource returned after payment. Duplicated from the parent object for v1 compatibility. Optional. examples: - application/json payTo: type: string description: Address that receives the payment. examples: - '0xdCEca23FF8A7145e1b5B35427C9886CF21A67566' maxTimeoutSeconds: type: integer description: How long the server will wait for settlement. examples: - 60 asset: type: string description: Contract address of the asset used for payment. examples: - '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' extra: type: object description: Scheme-specific and asset-specific detail. additionalProperties: true headers: PAYMENT-REQUIRED: description: | Base64-encoded JSON payment requirements, as defined by x402 v2. Sent alongside the JSON challenge body, which carries the same information. Clients sign one of the listed requirements and retry the request with a PAYMENT-SIGNATURE header. required: false schema: type: string PAYMENT-RESPONSE: description: | Base64-encoded settlement receipt returned on a successful paid call. required: false schema: type: string responses: BadRequest: description: | Bad request. One or more parameters are missing or improperly formed. Check the lookup value and see the API documentation. No response body is returned. Unauthorized: description: | Unauthorized. The API key supplied is invalid, expired, or out of credits. No response body is returned. PaymentRequired: description: | Payment required. The request arrived without credentials, so the service replied with x402 payment instructions. Sign one of the listed payment requirements and retry the same request with a PAYMENT-SIGNATURE header to receive the result. This challenge is issued ahead of parameter validation, so it is returned even when the request carries no parameters. That lets discovery tools and agents obtain a quote without a valid lookup value. headers: PAYMENT-REQUIRED: $ref: '#/components/headers/PAYMENT-REQUIRED' content: application/json: schema: $ref: '#/components/schemas/PaymentRequiredResponse' example: x402Version: 2 resource: url: https://api.interzoid.com/getbusinessinfodomain description: *resourceDescription mimeType: application/json accepts: - scheme: exact network: eip155:8453 amount: '100000' resource: url: https://api.interzoid.com/getbusinessinfodomain description: *resourceDescription mimeType: application/json description: *resourceDescription mimeType: application/json payTo: '0xdCEca23FF8A7145e1b5B35427C9886CF21A67566' maxTimeoutSeconds: 60 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' extra: name: USD Coin version: '2' extensions: bazaar: info: input: type: http method: GET queryParams: lookup: ibm output: type: json example: Code: Success Credits: '0' Domain: ibm.com schema: $schema: https://json-schema.org/draft/2020-12/schema type: object required: - input properties: input: type: object additionalProperties: false required: - type - method properties: type: type: string const: http method: type: string enum: - GET queryParams: type: object required: - lookup properties: lookup: type: string description: >- Company name, brand name, abbreviation, ticker symbol, or email address to resolve to its internet domain output: type: object required: - type properties: type: type: string example: type: object error: Payment Required Forbidden: description: | Forbidden. The request is understood but access to this resource is not permitted for this account. No response body is returned. NotFound: description: | Not found. Check the spelling of the API name in the request path. No response body is returned. MethodNotAllowed: description: | Method not allowed. This operation must be called with HTTP GET. No response body is returned. TooManyRequests: description: | Too many requests. The caller has exceeded the allowed request rate. Slow down and retry. No response body is returned. ServerError: description: | Server error. The request could not be completed. Try again later. No response body is returned.