Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.arcmira.com/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks through the canonical Arcmira API loop:
  1. Create a scoped API key.
  2. Search entities with /v1/search.
  3. Resolve a name to a stable ent_<id> with /v1/entities/lookup.
  4. Pull evidence rows with /v1/mentions.
The whole flow is read-only and lives under the read scope.

1. Create a key

Sign in to arcmira.com, open Dashboard → API Keys (or Settings → API Keys), and click Create key. You will see the key exactly once. It looks like:
arc_sk_a1b2c3d4e5f6...
Store it in your secrets manager. Treat it like a password — never ship it in browser code.
Need write access for watchlists or trackers? Tick Manage watchlists or Manage trackers when creating the key. All keys include read by default. On Pro+ plans, you’ll also see Recommendations read / Recommendations write toggles for Commercial intelligence. See Scopes.
cURL
curl 'https://api.arcmira.com/v1/search?q=lex%20fridman&limit=5' \
  -H "Authorization: Bearer $ARCMIRA_API_KEY"
Node 20+
const res = await fetch(
  'https://api.arcmira.com/v1/search?q=lex%20fridman&limit=5',
  { headers: { Authorization: `Bearer ${process.env.ARCMIRA_API_KEY}` } },
);
const json = await res.json();
console.log(res.headers.get('X-Request-Id'));
Python 3.10+
import os, httpx

r = httpx.get(
    'https://api.arcmira.com/v1/search',
    params={'q': 'lex fridman', 'limit': 5},
    headers={'Authorization': f"Bearer {os.environ['ARCMIRA_API_KEY']}"},
)
r.raise_for_status()
print(r.headers['X-Request-Id'])
The response contains ranked entities with type, route, and basic stats. Note the X-Request-Id header — include it whenever you contact support.

3. Resolve to a canonical ID

Search is a discovery tool. Production integrations should pin to a canonical ent_<id>. Use lookup to follow merges:
cURL
curl 'https://api.arcmira.com/v1/entities/lookup?name=OpenAI&type=organization' \
  -H "x-api-key: $ARCMIRA_API_KEY"
Response (truncated)
{
  "entity": {
    "id": "ent_123881",
    "name": "OpenAI",
    "type": "organization",
    "merged_from_id": null,
    "route": "/organizations/openai"
  }
}
merged_from_id is populated when the lookup chain ends at a different canonical ID than the input. Cache the resolved id and use it for subsequent calls.

4. Pull mentions

Mentions are the evidence layer. Each row links one entity to one piece of media:
cURL
curl 'https://api.arcmira.com/v1/mentions?entity_id=ent_123881&limit=25' \
  -H "x-api-key: $ARCMIRA_API_KEY"
Node 20+
const res = await fetch(
  'https://api.arcmira.com/v1/mentions?entity_id=ent_123881&limit=25',
  { headers: { 'x-api-key': process.env.ARCMIRA_API_KEY } },
);
const { data, has_more, next_cursor } = await res.json();
You can also pivot off the entity:
curl 'https://api.arcmira.com/v1/entities/ent_123881/mentions?sentiment=positive&limit=10' \
  -H "x-api-key: $ARCMIRA_API_KEY"
The response uses cursor pagination — see Pagination.