AIRANKS — The Authoritative Rankings for AI Web Content

AIRANKS measures AI visibility: we ask AI models real product and service questions, capture the complete answers as immutable observations, and publish what they contain — which brands were mentioned, which domains were cited, and which exact pages were linked. Every domain gets an AIR score from 1–10 (a decile of visibility in the active dataset; 0 means insufficient data), with the methodology in the open.

AIR

DEVELOPERS

Skip to main content

start with the report · then build on the ledger

Developer tools

Start with your free AIR Report — see what the pages beating you are doing that you are not. Then reach the same ledger from code or your terminal — all open source at github.com/airanks-net. Each tool below talks to the same public API. The CLIs pair themselves with air login (browser device-code flow, nothing to paste); SDKs and direct API calls use an API key from airanks.net/tokens.

air nike.com in any of them answers the same question the site does: does the AI cite this domain, and how strongly?

start here — free

Your free AIR Report — see what the pages beating you are doing that you are not.

One page + the phrases you want it found for. We read every page the AI actually cites for those phrases and hand back a score with the exact list of what is missing from yours.

Get your free AIR Report

Free for any verified account · the same ledger behind every CLI, SDK & MCP call below.

Quickstart — from zero to a score

# install the CLI
$ npm install -g airanks

# pair it with your account — opens your browser, no key to paste
$ air login

# any domain's AI Rank
$ air nike.com

# not a domain? it searches domains, brands, and phrases instead
$ air "best crm software"

# who am I, and what tier?
$ air whoami

The API

  • REST API — OpenAPI 3.1

    API docsOpenAPI spec

    Everything below is a client for this. Interactive docs generated straight from the code on every deploy, so they cannot drift: domains, brands, phrases, search, and CLI pairing.

    curl -H "Authorization: Bearer $AIR_API_KEY" https://airanks.net/api/v1/domains/nike.com

Command line

  • air — Node CLI

    npm ↗README ↗

    The flagship CLI: any site's AI Rank, AI-file audit, and search from your terminal.

    npm install -g airanksair nike.com
  • Single-binary build of the same CLI, installable via Homebrew.

    brew install airanks-net/tap/airair nike.com
  • air — Rust CLI

    README ↗

    Rust build of the CLI. crates.io release coming; build from source today.

    cargo install --git https://github.com/airanks-net/rust-cliair nike.com

SDKs

  • JavaScript / TypeScript SDK

    npm ↗README ↗

    Typed API client for Node and the browser.

    npm install @airanks-net/sdkconst { data } = await new AirClient().domain('nike.com');
  • The AIR API client for Python.

    pip install airanksAirClient().domain("nike.com")
  • PHP client

    README ↗

    The AIR API client for PHP / Laravel. Packagist release coming.

    $client->domain('nike.com');

Agent integrations

  • air_rank / air_files / air_search tools for any MCP-speaking agent (Claude, Cursor, …).

    claude mcp add airanks -- npx -y airanks-mcp-serverthen ask: "what's the AI rank of nike.com?"
  • AIR as a callable agent over the BeeAI Agent Communication Protocol.

    pip install airanks-acp-agentairank-acp

optional · browser tool

Chrome toolbar — same AIR score, one click in your browser

Handy once you have used the report — any site's AIR score and AI-file audit without leaving the tab. Not the starting point; the free report is. No account required for the toolbar itself.

Inside the Tools AI Runs On

AIRANKS works inside the AI stack it measures. We build and run our own evaluation harnesses against frontier models, we write quantization tooling for running them on Apple Silicon, and we fine-tune image models ourselves.

Founder Jeremy Schoemaker has 16 merged pull requests across 7 AI organisations. The two named here fixed real correctness bugs rather than paperwork. In OpenAI's official Agents SDK, a turn limit was clobbering a tripped input guardrail in the streaming path, so a guardrail that fired could be silently replaced by a turn-limit error (openai/openai-agents-python #4606, 95 lines in core). In the Model Context Protocol's Rust SDK, a stack overflow was aborting the client process outright (modelcontextprotocol/rust-sdk #1146).

Read more →