For AI Agents & LLMs

You don't have to write the integration yourself. Everything an AI coding assistant needs to build against the CarrierOk API is published at stable URLs — hand it the links (or the ready-made prompt below) and let it do the work.

Machine-readable docs

One rule that trips agents up

Authentication is a Bearer token on every request — Authorization: Bearer sk_live_... (or sk_test_ for the free sandbox). See Authentication.

Claude sandbox egress

Claude Code / Claude.ai sandboxes allowlist outbound hosts. Docs live on developers.carrierok.com; API calls hit api.carrierok.com — add bothto the environment's allowed domains, or the starter call fails with host_not_allowedeven when auth is correct. If you can't change the allowlist, run the curl yourself and paste the JSON into the chat.

Ready-made prompt

Paste this into Claude Code, ChatGPT, Cursor, or Codex. It points the assistant at the docs above, states the auth rule, and starts with a test call that works on a free sandbox key — grab one here if you don't have a key yet.

Build with AI

Not writing the code yourself? Paste this prompt into Claude Code, ChatGPT, Cursor, or Codex — it points the assistant at our docs and has it build your integration, starting with a working test call.

I want to integrate the CarrierOK API (FMCSA motor-carrier data: safety scores, operating authority, insurance, fleet).

Fetch and read these two docs first:
- OpenAPI 3.0 spec: https://developers.carrierok.com/openapi.json
- Full API reference (markdown): https://developers.carrierok.com/llms-full.txt

API facts:
- Base URL: https://api.carrierok.com
- Auth: send my key as a Bearer token on EVERY request:
  Authorization: Bearer YOUR_API_KEY   (find yours at https://developers.carrierok.com/keys)
- Keys starting sk_test_ are sandbox: free, real responses for 10 fixture carriers (including USDOT 818175). Keys starting sk_live_ return live data and bill per call.
- Prefer mid-size fixture DOTs for full /v2/profile smoke tests. Mega-carrier fixtures (e.g. Schneider 264184, Swift 54283) can exceed infrastructure response-size limits — use /v2/profile-lite for those, or pick USDOT 818175.

Starter task, to verify the integration works: call
GET https://api.carrierok.com/v2/profile?dot_number=818175
and summarize that carrier's safety profile — authority status, safety rating, BASIC percentiles, insurance on file, and fleet size.

If you can't reach api.carrierok.com (sandbox egress / host_not_allowed), either allowlist that host or ask me to run the curl and paste the JSON — then continue from the payload.

Once that works, ask me what I'm trying to build, then build it.

Replace YOUR_API_KEY with your sandbox key (free) from the Keys page. Swap in your live key once the integration works — never paste a live key into a chat.