Ingramdomains.ingram.tech
Developer reference

Drive Ingram Domains from code.

Three programmatic surfaces, one set of operations. Pick whichever fits the tool you're working in.

REST API

HTTP for everything

partial

Public, no-auth endpoints today; authenticated endpoints (register, transfer, manage) ship with API tokens. The namespace is /api/v1.

Check availability

curl 'https://domains.ingram.tech/api/v1/check?q=example'

Pass a bare name to fan out across popular TLDs, or a fully-qualified domain to check just that one.

Example response
{
  "query": "example",
  "results": [
    {
      "domain": "example.com",
      "tld": ".com",
      "result": "NOT AVAILABLE",
      "price": 9.20,
      "currency": "EUR",
      "source": "fastly"
    },
    {
      "domain": "example.io",
      "tld": ".io",
      "result": "AVAILABLE",
      "price": 39.00,
      "currency": "EUR",
      "source": "fastly"
    }
  ]
}

Full machine-readable spec at /api/v1/openapi.json (OpenAPI 3.1).

MCP server

Plug Ingram into any MCP client

shipped

Streamable HTTP transport at /api/mcp. SSE transport at /api/sse for legacy clients. Public tools work without a token; mutations require an API token sent as Authorization: Bearer ingram_live_….

Claude Desktop / Cursor

{
  "mcpServers": {
    "ingram-domains": {
      "url": "https://domains.ingram.tech/api/mcp",
      "headers": {
        "Authorization": "Bearer ingram_live_..."
      }
    }
  }
}

Tools available

  • check_domain — availability + price (public).
  • get_tld_pricing — register/renew/transfer prices across every supported TLD (public).
  • list_domains — every domain in your portfolio (read scope).
  • register_domain — register, with confirm_price guard rail (write scope).
  • transfer_domain — initiate inbound transfer with auth code (write scope).
  • renew_domain — renew, with confirm_price guard rail (write scope).
  • delete_domain — schedule deletion (write scope).
  • request_auth_code — email the EPP code to the registrant for outbound transfers (write scope).

CLI

One command from your terminal

partial

A single npm-distributed binary (domains) that wraps the REST API. Authenticate via domains login (paste a token from /settings/tokens), then drive every operation from a terminal or shell script.

# install
npm i -g @ingram-tech/domains

# log in (saves to ~/.config/domains/credentials.toml)
domains login --token ingram_live_…

# check availability
domains check example

# register, agent-safe (refuses to spend without a price guard)
domains register example.com --confirm-price 9.20

# list your portfolio
domains ls

# DNS records
domains dns ls example.com
domains dns add example.com A www 1.2.3.4

# request the EPP code to transfer away
domains transfer-out example.com

Auto-detects TTY: pretty tables when interactive, JSON to stdout when piped. Spending verbs require --confirm-price or --max-price; destructive verbs require --confirm <domain> --yes. Stable exit codes for scripting. Set INGRAM_API_TOKEN to skip the login step.

Status

Roadmap

API tokens, authenticated REST endpoints (POST /api/v1/domains, transfer, renew, DNS), expanded MCP tools, and the CLI are next. Pre-launch — surfaces ship rough and iterate. The dashboard's signup is open if you want an account waiting.