npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

arcmira

v0.6.2

Published

YouTube transcript search with timestamps, mentions, sponsors and recommendations. Official Arcmira TypeScript SDK and CLI.

Readme

Arcmira for TypeScript and JavaScript

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

npm install arcmira

Set ARCMIRA_API_KEY to your API key. The examples below work in TypeScript or JavaScript. Save one as example.mjs and run node example.mjs.

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.

import { ArcmiraClient } from "arcmira";

const client = new ArcmiraClient({ apiKey: process.env.ARCMIRA_API_KEY });
const hits = await client.transcripts.search({ q: "agent payments", limit: 5 });
for (const hit of hits.chunks) {
  console.log(hit.text);
  console.log(new URL(hit.watch_url, "https://arcmira.com").href);
}
console.log(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.

import { ArcmiraClient } from "arcmira";

const client = new ArcmiraClient({ apiKey: process.env.ARCMIRA_API_KEY });
const transcript = await client.transcripts.get({ video_id: "dQw4w9WgXcQ" });
if (transcript.state === "ready") {
  for (const line of transcript.lines ?? []) console.log(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 [email protected] with your alert address. External recipients must confirm before delivery.

import { ArcmiraClient } from "arcmira";

const client = new ArcmiraClient({ apiKey: process.env.ARCMIRA_API_KEY });
const { monitor } = await client.monitors.create({
  name: "Company watch",
  notify_frequency: "daily",
  notify_emails: ["[email protected]"],
});
const { results } = await client.monitors.entities.add({
  id: monitor.id,
  names: [{ name: "Ramp", type: "organization" }],
});
for (const result of results) {
  console.log(result.attached ? result.tracker_id : 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({ id: channel_id }) | | Separate recommendations from paid mentions | recommendations.list({ entity_id, class: "organic" }) | | Read alerts from a monitor | monitors.alerts.list({ id: 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.

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. It gives your agent the same API and task skills.

npx arcmira setup

Setup supports Claude Code, Codex, Cursor, VS Code, Gemini CLI, and Claude Desktop. The agent index links to current API and citation guidance.

Command line

npx arcmira search "agent payments" --limit 5
npx arcmira transcripts get dQw4w9WgXcQ
npx arcmira help

CLI commands and options. The CLI sends no telemetry. It makes the requests you ask for and checks npm for updates.

Reference

Zero runtime dependencies. Node.js 18+ supports ESM and CommonJS. Deno installation. For Workers, pass your API key from a server-side binding. Keep API keys on the server in browser applications.

Apache-2.0. Source · License.