Arcmira for Python
Pull YouTube transcripts, search spoken passages, and monitor company mentions with Arcmira. Results include timestamps and source links for research, citations, and agent workflows.
Get an API key · API docs · Pricing
Install
uv add arcmira
pip install arcmira works too. Set ARCMIRA_API_KEY to your API key. Save an example as example.py and run python example.py in your environment.
Find quotes with source links
Search YouTube and podcast transcripts by topic. Keep the source link beside each quote so readers can check the original.
from urllib.parse import urljoin
from arcmira import Arcmira
client = Arcmira()
hits = client.transcripts.search(q="agent payments", limit=5)
for hit in hits.chunks:
print(hit.text)
print(urljoin("https://arcmira.com", hit.watch_url))
print(hits.note)
Search covers indexed transcripts within your plan's date window. Check window, search_index, and note before treating an empty result as evidence that nobody said it.
Pull a YouTube transcript
Read available captions with timestamps. Replace the video id with the video you need.
from arcmira import Arcmira
client = Arcmira()
transcript = client.transcripts.get("dQw4w9WgXcQ")
if transcript.state == "ready":
for line in transcript.lines or []:
print(line.start, line.text)
For a Premium transcript with speaker labels, first call client.transcripts.quote(video_id) for a free quote, then read with quality="premium". A Premium read uses credits from your plan, then your on-demand budget. It may return pending; poll after job.next_poll_seconds. A failed result needs an explicit retry. Premium states and polling.
Monitor company mentions
Follow an exact name in newly analyzed media, even before it is indexed. Replace you@example.com with your alert address. External recipients must confirm before delivery.
from arcmira import Arcmira
from arcmira.monitors import AddEntitiesRequestNamesItem
client = Arcmira()
created = client.monitors.create(
name="Company watch",
notify_frequency="daily",
notify_emails=["you@example.com"],
)
added = client.monitors.entities.add(
created.monitor.id,
names=[AddEntitiesRequestNamesItem(name="Ramp", type="organization")],
)
for result in added.results:
print(result.tracker_id if result.attached else result.reason)
This creates a monitor and tracker in your account. Creation is free; delivered alerts use credits from your plan, then your on-demand budget. Check each attached result because a name may already belong to another monitor. For retries of writes, reuse the same idempotency_key.
Choose the next task
| Task | SDK call |
|---|---|
| Find a company, person, or show | entities.resolve(q=..., context=...) |
| Read mentions of an entity | mentions.list(entity_id=...) |
| Find a channel's sponsors | channels.sponsors.list(channel_id) |
| Separate recommendations from paid mentions | recommendations.list(entity_id=..., class_="organic") |
| Read alerts from a monitor | monitors.alerts.list(monitor_id) |
Entity filters take ids. Resolve names first; explain a suggested match and ask the user when the resolver returns ask. Use after inclusive and before exclusive for date windows. Paginated methods fetch more rows as you iterate, so stop when you have enough.
AsyncArcmira provides the same methods asynchronously. Await the first page, then use async for for paginated results.
Use with an AI agent
For tasks such as "pull YouTube transcripts", "find quotes with timestamps", "research podcast sponsors", or "monitor company mentions", connect the Arcmira MCP server. The agent index links to current API and citation guidance.
Reference
- SDK guide: async examples, typed errors, pagination, and Premium polling.
- Method reference: request and response types for every method.
- TypeScript and JavaScript SDK.
- Release notes.
Metadata
Release files for arcmira 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arcmira-0.6.2.tar.gz | 140.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arcmira-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 474.6 kB
Release files / arcmira-0.6.2.tar.gz
| Download URL | arcmira-0.6.2.tar.gz |
|---|---|
| Size | 140.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7aba4d88a02088b237b925f5a8c3e44ec496aca4e82efb560cd224d74bced7db
|
|
BLAKE2b-256 checksum How to use checksums |
94dfe99ac5ff89d74bdea5160d7a63fb90e92016c05ce6404e04ba61b62343a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / arcmira-0.6.2-py3-none-any.whl
| Download URL | arcmira-0.6.2-py3-none-any.whl |
|---|---|
| Size | 334.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff606bb2c4e1ce1a22d28e2ba5545d9261b36a4678b47215087cf67ecea3ceb5
|
|
BLAKE2b-256 checksum How to use checksums |
ef0a5159534f8bc236d67889a413506d1b67c912325dfc6f4c0022390cf3cd7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|