BizVerify in OpenAI.

Tool definitions live at api.bizverify.co/tools/openai.json. One fetch, no schema maintenance.

Tool JSON at api.bizverify.co/tools/openai.json

Install.

  1. 01

    Fetch the hosted tool definitions

    BizVerify maintains the canonical OpenAI tool schema at a public JSON endpoint. Fetch it once at startup and pass the array directly into chat.completions.create.

    const tools = await fetch("https://api.bizverify.co/tools/openai.json").then(r => r.json());
  2. 02

    Route function calls back to the API

    When the model emits a function call, dispatch it to the BizVerify SDK using the function name. The hosted schema's function names map 1:1 to SDK methods.

  3. 03

    Store the API key as a header

    Authorize every BizVerify request with the X-API-Key header. The same key works across the SDK, REST API, MCP server, and the n8n node.

What OpenAI exposes.

Nine operations. The same nine across every integration on this site.

  • verify_business

    Quick or deep verification of an entity in one jurisdiction.

  • search_entities

    Find entities matching a name in a jurisdiction.

  • check_job_status

    Poll a long-running verification job by id.

  • get_entity

    Fetch a previously verified entity from cache.

  • get_entity_history

    Return the verification history for an entity.

  • get_account

    Read account info and credit balance.

  • get_config

    Read public service config and supported jurisdictions.

  • list_jurisdictions

    List active jurisdictions and their status.

  • purchase_credits

    Buy additional credits from your agent loop.

One real example.

Pass the hosted tool definitions into chat.completions.create

import OpenAI from "openai";
import { BizVerify } from "@bizverify/sdk";

const openai = new OpenAI();
const biz = new BizVerify({ apiKey: process.env.BIZVERIFY_API_KEY! });

const tools = await fetch("https://api.bizverify.co/tools/openai.json")
  .then(r => r.json());

const completion = await openai.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Is Acme Corp registered in Delaware?" }],
  tools,
});

const call = completion.choices[0].message.tool_calls?.[0];
if (call?.function.name === "verify_business") {
  const args = JSON.parse(call.function.arguments);
  const result = await biz.verification.verify(args);
  // feed result back into the conversation as a tool message
}

Why BizVerify for OpenAI.

  • No schema in your codebase

    Tool definitions are fetched, not vendored. When BizVerify adds or refines a parameter, your agent picks it up on next deploy.

  • Function names map to SDK methods

    verify_business in the schema is biz.verification.verify in the SDK. Routing function calls is a switch on call.function.name.

  • Same key everywhere

    One BIZVERIFY_API_KEY environment variable works across the SDK, the REST API, MCP, and the n8n node. No per-integration credentials.

What verification is, and isn't.

We confirm what the official registry currently says about an entity. We don't claim more than that.

BizVerify does

  • Confirms the entity is registered with the official government registry
  • Returns the current registry status (active, dissolved, suspended, etc.)
  • Returns canonical entity name, type, and jurisdiction id

BizVerify does not

  • Verify solvency, credit, or financial standing
  • Verify beneficial ownership or directors/officers (quick check)
  • Verify that the model's user is authorized by the entity
  • Flag sanctions or PEP exposure

Start verifying inside OpenAI.

Fifty free credits on signup. No card. Same key across every integration on this site.