REST API Reference
6.1 API Overview
The OTR REST API lets AI agents, developers, and platforms query trust scores for any domain. An anonymous tier is available with no API key required for light use. Higher-volume and production usage is served by the versioned v1 API atapi.orbexa.io.
Base URL (anonymous, main site): https://orbexa.io/api/otr/verify/:domain — 5 requests per IP per 24 hours.
Base URL (versioned, Bearer or x402): https://api.orbexa.io/v1/otr/* — per-endpoint USDC pricing. New accounts receive a one-time signup grant of 50 units + $5 credit valid for 90 days.
Key features:
- Anonymous tier: 5 requests per IP per 24 hours on the main site — no API key required
- Production usage via
api.orbexa.io/v1/*— Bearer key or x402 payment header (per-endpoint USDC on Base) - Subscription plans: Pro 499/mo, Scale 4,999/mo (see Pricing)
- Complete six-dimension scores with 77 verification signals
- All data derived from publicly verifiable, authoritative sources
- JSON response format
6.2 Verification Endpoint
GET /api/otr/verify/:domain
Query the OTR trust score for a specified domain. Request example:| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | The domain to query (without protocol prefix) |
Response Structure
The response is a JSON object containing the following top-level fields:Response Field Reference
| Field | Type | Description |
|---|---|---|
domain | string | The queried domain |
name | string | Merchant name (brand name takes priority) |
trust_score | number | Composite trust score from 0 to 100 |
badge | string | PLATINUM / GOLD / SILVER / BRONZE / UNRATED |
industry | string | Industry classification |
dimensions | object | Scores and signal details for all six dimensions |
entity_data | object | Third-party verified entity information |
agent_commerce | object | AI agent commerce capability declarations |
scanned_at | string | Timestamp of the most recent scan (ISO 8601) |
otr_id | string | Unique OTR identifier |
Dimension Signal Structure
Each dimension contains asignals array with all signals for that dimension:
| Field | Type | Description |
|---|---|---|
signal_name | string | Signal identifier |
status | string | detected / not_found / not_scanned / fetch_failed |
value | any | Signal value (boolean, string, or number) |
evidence | string | Human-readable evidence description |
source_url | string | Verifiable data source link |
6.3 Well-Known Endpoint
OTR also provides a standard.well-known endpoint that conforms to the Web service discovery specification:
GET /.well-known/otr/verify/:domain
Returns the same data structure as the primary API, following the.well-known URI specification (RFC 8615).
6.4 Rate Limiting
API Query Limits
| Endpoint | Limit | Window |
|---|---|---|
| API endpoints | 60 requests | Per minute |
| Batch queries | Recommended 1-second interval between calls |
Retry-After header. Implement exponential backoff for automated integrations.
Scan Request Limits
Submitting a new OTR scan request (via the scan submission form) is subject to stricter limits:| Scope | Limit | Window |
|---|---|---|
| Per domain | 3 requests | Rolling 7-day window |
| Per email | 10 requests | Rolling 24-hour window |
| Global | 100 requests | Per day |
- Exceeding the domain limit returns: “This domain has been submitted too many times. Please try again next week.”
- Exceeding the email limit returns: “Too many requests from this email. Please try again tomorrow.”
- If a scan does not complete within 2 hours, it is automatically marked as failed.
Common Scan Errors
| Error Code | HTTP | When It Occurs |
|---|---|---|
SCAN_IN_PROGRESS | 409 | Another scan is already running for this domain |
DOMAIN_NOT_FOUND | 404 | Domain has not been scanned yet, submit a scan request first |
RATE_LIMIT_EXCEEDED | 429 | Scan submission limits exceeded |
6.5 Integration Examples
JavaScript / Node.js
Python
cURL
6.6 Querying with AI Agents
You can ask AI assistants such as ChatGPT or Claude to query and analyze trust scores on your behalf. Example prompt:6.7 Self-Hosted Trust Assessment
If you want to build your own trust assessment system (for example, to evaluate only your own supply chain), the core logic of the OTR protocol is open-source:- OTR Protocol Specification: github.com/yb48666-ctrl/OTR-Protocol-by-orbexa
- All data sources are public: GLEIF, Wikidata, Finnhub, SEC EDGAR, DNS records, SSL certificates, and more
- You can customize weights and signals to fit your requirements
Next chapter: MCP Server — Trust Query Tool — Enable AI agents to invoke OTR trust queries directly via the MCP protocol