Arcmira has five core entity types. Every reference in the API resolves to one of them: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.
| Type | Examples |
|---|---|
person | ”Lex Fridman”, “Marc Benioff” |
organization | ”OpenAI”, “Anthropic”, “Salesforce” |
product | ”ChatGPT”, “Claude”, “Cursor” |
topic | ”Artificial intelligence”, “Open source models” |
channel | ”TBPN”, “The Iced Coffee Hour”, “Lex Fridman Podcast” |
Only
person entities have appearances. For every other type, evidence flows through the mention endpoints. Calling an appearance route on a non-person entity returns 400 appearances_person_only. See Appearances vs. mentions.Stable IDs
Every entity is identified by an opaque string of the form:ent_ prefix is the only thing you should rely on shape-wise. IDs are stable across deploys and surface formatting changes.
When two entities are merged (for example, deduping a duplicate “Lex Fridman” record), the canonical ID wins and the merged-away ID continues to resolve. Lookup responses include merged_from_id whenever you hit a non-canonical entry.
Resolving names to IDs
If you have a human-readable name, use lookup. It follows merge chains and returns the canonical record:cURL
type parameter is optional but strongly recommended when there’s ambiguity (e.g. “Apple” the company vs. “Apple” the product).
You can also look up by ID — useful for sanity checks after caching:
404 entity_not_found.
Discovery search
GET /v1/entities/lookup resolves one exact entity. GET /v1/entities/search returns a ranked list — use it for autocomplete UIs, prospecting flows, or anything where the user is still narrowing in.
| Parameter | Description |
|---|---|
q | Required. Minimum 2 characters. Substring match on canonical entity names; merge-aware. |
type | Optional. Filter to person, organization, product, topic, or channel. |
has_recommendations_data | Optional. true to restrict to entities with at least one ad_read in brand_profiles. |
limit | 1–25. Default 10. Ordered by appearance_count descending, then name. |
- The
recommendations_summaryblock is included only for callers with Pro+ +recommendations:read. Other callers receive the same row without that field — no error, no403. - Search itself is free (0 rows). Pivot into
/v1/recommendationsor/v1/mentionsfor evidence. - For exact canonical resolution (e.g. caching
ent_*for downstream calls), use/v1/entities/lookupinstead — search is fuzzy and may return multiple plausible matches.
/v1/entities/lookup | /v1/entities/search | |
|---|---|---|
| Input | Exact id or name | Fuzzy q (min 2 chars) |
| Output | One canonical entity | Ranked list (up to 25) |
| Use for | Stable ID for downstream calls | Autocomplete, prospecting |
| Billing | Free | Free |
Reading entity metadata
The direct read returns canonical metadata in the same shape as lookup:Response (truncated)
appearance_count is always 0 and route is the web-app surface for the type.
Commercial summary (Pro+)
Onorganization and product entities, Pro+ callers with recommendations:read also receive a recommendations_summary block:
channels_as_sponsoris the number of distinct channels where this entity is registered as a known advertiser.total_ad_reads,total_endorsements,unique_shows, andfirst_seen_at/last_seen_atcome frombrand_profilesaggregations.- The block is omitted when the entity has no commercial signal. Persons, topics, and channels never receive it.
- The summary costs zero rows.
/v1/entities/{id}/recommendations.
Channel page teaser
GET /v1/channels/{slug} includes a recommendations_summary teaser:
sponsor_countis visible to every caller, regardless of tier or scope — it’s a discoverability signal so non-Pro+ integrators know that commercial data exists for the channel.top_sponsorsonly appears for Pro+ callers withrecommendations:read.
/v1/channels/{id}/sponsors.
Related entities
For deep dives, every entity exposes related lists. They use the samelimit/cursor pagination as everything else:
/v1/topics/{slug}/..., /v1/organizations/{slug}/..., /v1/products/{slug}/..., and /v1/channels/{slug}/.... Channels also expose /v1/channels/{slug}/guests.
See the API reference for the full schema.