---
title: "Identify a User-Agent and pay per lookup in USDC (x402), no account needed"
method: GET
path: "/api/x402/atlas/lookup"
tags: ["Atlas"]
---

# Identify a User-Agent and pay per lookup in USDC (x402), no account needed

`GET /api/x402/atlas/lookup`

## Request

- Base URL: `https://overwing.ai`
- URL: `https://overwing.ai/api/x402/atlas/lookup`
- Auth: none required

## Query parameters

- `user_agent` string, required

## Response `200`

Lookup result

- AtlasLookup
  - `user_agent` string
  - `identified` boolean
  - `claims` object, nullable
    - `agent` string
    - `operator` string, nullable
    - `purpose_class` string, nullable
    - `verification` string, nullable
    - `matched_token` string
  - `trust_note` string
  - `matches` object[]
    - `matched_token` string
    - `strength` 'exact' | 'token'
    - `agent` AtlasAgent
      - `slug` string
      - `agent` string
      - `operator` string, nullable
      - `sources` string, nullable
      - `cloudflare_category` string, nullable
      - `cloudflare_kind` string, nullable
      - `user_agents` string, nullable
      - `user_agent_tokens` string[]
      - `web_bot_auth_key_directory` string, nullable
      - `key_revocation` 'keys_expire' | 'removal_only' | 'directory_unreachable' | 'null', nullable: How a withdrawn signing key would stop working. keys_expire: the directory gives each key a validity period (nbf/exp), the rotation path in the directory draft. removal_only: bare keys; a verifier learns of a withdrawal only when it refetches the directory. directory_unreachable: the directory could not be fetched at review. Null without a directory
      - `key_directory_max_age_seconds` integer, nullable: The directory's Cache-Control max-age: how long a verifier may keep trusting a copy, so how long a withdrawn key can keep working
      - `key_revocation_checked` string, nullable: The day the directory was last reviewed (YYYY-MM-DD)
      - `follows_robots_txt_cloudflare` string, nullable
      - `respects_robots_txt_ai_robots_txt` string, nullable
      - `description` string, nullable
      - `purpose_class` string, nullable: Pro/Team
      - `verification` string, nullable: Pro/Team and lookups: 'Web Bot Auth signature', 'User-agent string only (spoofable)', 'Unattributable / spoofed'
      - `evasion_or_compliance_flag` string, nullable: Pro/Team
      - `published_traffic_share` string, nullable: Pro/Team

## Other responses

- `400`: user_agent missing or too long
- `402`: Payment required

---

[API](https://skmtc.dev/overwing/apis/overwing-api.md) · [All operations](https://skmtc.dev/overwing/apis/overwing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/overwing/apis/overwing-api/revisions/ff1282d31438?raw)
