Moyo logo

Developers

APIs

Two products: start a Moyo Scan over HTTP, or license the public map corpus for programmatic read, snapshot, and training rights.

Scan API · Maps data API

Scan API

API access is part of Custom Research. Send a target, then poll until the one-pager, claims, and structured findings are ready.

Contact SenTeGuard Inc. for a key. The secret is shown once. Each scan deducts the key's price from its prepaid credit balance. A daily limit still caps scans per UTC day. API scans are not charged through the website checkout.

Start a scan

POST https://moyomap.com/api/v1/scans

curl -X POST https://moyomap.com/api/v1/scans \
  -H "Authorization: Bearer moyo_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "audience": "security",
    "target": { "organization": "Example Co", "domain": "example.com" },
    "idempotencyKey": "example-co-security-001"
  }'

audience is organization, competitive, security, or opposition. Opposition scans also need race (office, jurisdiction, and cycle). Optional focus adds a direction. Optional email sends the hosted copy when the scan finishes.

A new scan returns 202, a retrievalToken, and the remaining balanceCents. That token is shown once. Send the same idempotencyKey again to get the order id back without a second scan; the retrieval token is not repeated.

Read the result

Poll with the retrieval token, not the API key.

curl https://moyomap.com/api/v1/scans/ord_… \
  -H "Authorization: Bearer moyoret_…"

When status is generated, results links onePage, claims, and reportData. Download those URLs with the same retrieval token. Other statuses are ready_to_generate, generating, and failed. Insufficient balance returns 402 insufficient_credit.

Maps data API

Public map pages and /public-maps/{id}.md are for reading and citation. They are not a bulk or training license. Licensed keys return citations, source models, and contributor attribution, and are metered per calendar month.

Contact SenTeGuard Inc. for a moyodata_live_… key. The secret is shown once. Scopes are corpus_read (default), snapshot_export, and separately priced ai_training.

Auth: Authorization: Bearer moyodata_live_… or X-API-Key.

GET https://moyomap.com/api/moyomap/enterprise/maps — corpus index (corpus_read).

curl https://moyomap.com/api/moyomap/enterprise/maps \
  -H "Authorization: Bearer moyodata_live_…"

GET https://moyomap.com/api/moyomap/enterprise/maps/{id} — one licensed map.

curl https://moyomap.com/api/moyomap/enterprise/maps/map_… \
  -H "Authorization: Bearer moyodata_live_…"

GET https://moyomap.com/api/moyomap/enterprise/snapshot — full export (snapshot_export). Add ?purpose=ai_training only with the ai_training scope.

curl "https://moyomap.com/api/moyomap/enterprise/snapshot" \
  -H "Authorization: Bearer moyodata_live_…"

Free catalog HTML is at /public-maps. Agent index: /llms.txt and /llms-full.txt. Site terms: /terms.