CostCatch
Docs/ Connectors/ OpenAI
Available AI

Connect OpenAI

Cost Catch reads your OpenAI organization cost from OpenAI's Cost API. OpenAI spend lives in several separate billing systems, so the one thing to get right is which product you're connecting — pick the one that matches how you buy.

Before you start

Two things, and the app generates the technical parts:

  • An OpenAI Admin key for the product you're connecting (details below). Already have one? Reuse it.
  • A Snowflake ACCOUNTADMIN to store the key as a secret and allow outbound calls to api.openai.com. The app generates the SQL.

Choose your options

Choose the product that matches your billing — the keys are created in different places and aren't interchangeable. Not sure which you have? If you pay for API usage on platform.openai.com, that's the API Platform; if your organization uses ChatGPT Enterprise / Edu managed from the Admin Console, that's the ChatGPT side.

  • OpenAI API platform (platform.openai.com) — real-dollar cost from the invoice-reconcilable Cost API. Create an Admin key (Settings → Organization → Admin keys; you must be an org owner). Starts sk-admin-….
  • ChatGPT Enterprise / Edu — usage credits with an estimated dollar value, from the Global Admin Console Cost API. Create a workspace Admin key (Global Admin Console → Credentials → Admin keys) with analytics/cost read access. Starts sk-admin-….

Not ingestable: ChatGPT Business (formerly Team) exposes only PDF invoices — connect your API Platform usage instead. Individual plans (Free / Plus / Pro / Go) have no billing API. Using OpenAI via Azure OpenAI? That's billed by Microsoft — the Azure connector already covers it.

Create the key

Both products use an Admin key, but they're created in different consoles and aren't interchangeable — follow the branch that matches your product.

OpenAI API Platform (platform.openai.com)

You must be an organization owner:

  1. Go to Settings → Organization → Admin keys on platform.openai.com.
  2. Select Create new admin key, name it (e.g. cost-catch), and create it.
  3. Copy the key (it starts sk-admin-… and is shown only once) and paste it into the wizard.

Reference: OpenAI Admin APIs guide.

ChatGPT Enterprise / Edu

You must be a workspace owner or admin:

  1. Open the Global Admin Console and go to Credentials → Admin keys.
  2. Create a workspace Admin key, granting it analytics/cost read access (the workspace.analytics.read permission).
  3. Copy the key (it starts sk-admin-… and is shown only once) and paste it into the wizard.

Reference: Managing your tenant in Admin Console. These are usage credits with an estimated dollar value, not invoice-reconcilable dollars.

Refresh cadence

Pick how often Cost Catch checks for new data. Every connection offers the same menu; we suggest a default that matches how often OpenAI actually publishes.

Cadence option Good for
Every hourTightest freshness; more runs
Every 6 hours Recommended OpenAI's cost data lags a few hours and is daily-grain; this keeps the current day current and catches late Batch API charges.
Every 12 hoursTwice a day; low cost
DailyA once-a-day snapshot; lowest cost
CustomAny schedule you like, on your own cron

The app pre-selects Every 6 hours and shows this reasoning right next to the picker — override it any time.

What to expect

  • API Platform: usually final within a day or two. The last couple of days show as estimates (late Batch API charges land within 24h). Figures are dollars from the invoice-reconcilable Cost API.
  • ChatGPT Enterprise: estimates revised through the monthly close (~34 days), reported as credits with an estimated dollar value. Newly added by OpenAI and still being validated — confirm the first run against the Global Admin Console.
  • Settled figures: query ANALYTICS.OPENAI_BILLING_FINAL. The app also offers a Test connection button so a bad key is caught during setup, not hours later.

Connect it

Open OpenAI in the setup wizard, pick your product, and it generates the Snowflake secret and network access for you — with a one-click connection test before you commit.

Stuck on a step? Email [email protected].