First things first: use YOUR Apify account, and Apify charges per use
X-Ray META pulls the data with Apify, an external service. You need your own Apify account and your own token: Blackdark doesn’t give you any key or pay for your usage, and every analysis is charged to your account. Apify’s free plan includes $5 of credit a month and 100 reels cost about $0.26 (prices from apify.com/pricing and the actor page, 12-Nov-2026; Apify sets them and they may change). You also need Node.js on your computer.
Why do some of that account’s reels blow up and others don’t? Eyeballing the profile doesn’t cut it: you need to see all the reels at once, with their numbers and their hook. That’s what X-Ray META does: you give it a public profile and it gives you back a page with an x-ray of its latest reels.
How it works
You give it an account
The name of a public Instagram profile, without the @.
Apify pulls the reels
With your token, on your Apify account: views, likes, comments, caption and thumbnail.
The hooks get tagged
With rules, with Claude Code or with your Claude API key.
You open the report
A single HTML file that opens with a double click and that you can save or share.
What you get
- A counter of analyzed reels.
- A performance map: each reel is its thumbnail, placed by its views (horizontal axis) and its likes per 1,000 views (vertical axis). The red line is the account average; the green zone shows the ones that blew up (more views than half of its reels and above the average likes).
- A card for each reel: views, likes, comments, likes per 1,000 views, the post caption and, if you transcribe it, the word-for-word script with the hook highlighted.
- Hook-type filters: result, story, direct, curiosity, contradiction, identification and mistake.
- A comparator: you pick two hooks and it tells you which one gets that account more views, likes and comments, with its best reel.
- A top 10 by views.
- All in a single HTML file (the thumbnails are embedded): you open it with a double click, save it or send it to whoever you want.
What you need
- Node.js 20 or later (free, Windows, Mac or Linux): download the “LTS” version from nodejs.org and install it like any other program.
- Your own Apify account: on apify.com → “Sign up” (Google or email both work). The free plan doesn’t ask for a card.
- Your Apify token: on console.apify.com → Settings → API & Integrations → copy the Personal API token. It’s yours: don’t share it or paste it into a chat.
What it costs (your Apify account pays)
X-Ray META uses the official apify/instagram-reel-scraper actor, which on the free plan charges $2.60 per 1,000 reels (≈ $0.0026 per reel):
| Reels analyzed | Approximate cost on Apify |
|---|---|
| 50 | ≈ $0.13 |
| 100 | ≈ $0.26 |
| $5 of free credit a month | ≈ 1,900 reels (about 19 accounts of 100 reels) |
- The script sets a spending cap on every run (the cost of the requested reels + $0.01): if something spikes, Apify stops.
- The option to have Apify transcribe every reel (
--con-guiones) is charged separately, per minute of audio, and comes out quite a bit more expensive. Check its price on the actor page before using it. - Apify sets the prices and they may change. If they don’t match this table, whatever apify.com/pricing says wins.
Download
X-Ray META is a free download from its card on the Tools page: leave your email and the link lands in your inbox.
Step by step
-
Unzip the file and open the
rayos-xfolder. -
Make a copy of
.env.ejemplo(the example file), name it.envand paste your token afterAPIFY_TOKEN=:APIFY_TOKEN=your_token_goes_hereOn Mac, files starting with a dot are hidden: press Cmd + Shift + . in Finder to see them.
-
Open the Terminal in that folder (Mac: right-click the folder → “New Terminal at Folder”; Windows: type
cmdin the folder’s address bar and press Enter). -
Type the account name, without the @:
node rayos.mjs accountname -
In a minute or two you’ll have
informe-accountname.html(the report) in the folder. Double-click it and you’re done.
Useful options
| Option | What it does | Does it cost? |
|---|---|---|
--reels 50 | Analyzes 50 reels instead of 100. | Less |
--refrescar | Asks Apify for the data again. Without it, the saved data is reused. | Yes (without it, nothing) |
--transcribir-top 10 | Transcribes the 10 most-viewed reels on your computer. Needs ffmpeg, whisper-cli and a whisper.cpp model (path in WHISPER_MODEL in the .env). | No (it’s local) |
--con-guiones | Apify transcribes every reel. | Yes, quite a bit more |
With Claude Code (the easiest way)
Open the rayos-x folder with Claude Code and paste this. You still need your Apify token in the .env:
Analyze the account @accountname with rayos.mjs (100 reels).
Then export the opening lines (--exportar-frases), classify the hook of each reel yourself (result, story, direct, curiosity, contradiction, identification or mistake), save it as JSON {"shortCode":"hook"} and import it with --importar-ganchos. Important: in the JSON use the exact Spanish labels the script expects (resultado, historia, directo, curiosidad, contradicción, identificación, error).
Then tell me which 3 hooks work best for that account and why.
Don’t ask me to paste my token into the chat: it’s already in the .env.If you have a Claude API key (ANTHROPIC_API_KEY in the .env, which you pay for on your Anthropic account), the script tags the hooks on its own with Claude. Without either option it tags them with rules: less precise, but it works and it’s free.
What each hook type means
| Hook | How the reel starts |
|---|---|
| Result | With a number or an achievement. |
| Story | Telling something that happened. |
| Direct | Gets straight to the point. |
| Curiosity | Opens a question. |
| Contradiction | Breaks a belief (“stop paying for X”). |
| Identification | “If you’re…”. |
| Mistake | Warns about a mistake or a danger. |
How to read the map
- Top right: lots of views and lots of people liking it. This is what you copy: the format, not the video.
- Bottom right: lots of views but few likes. A hook that grabs, content that doesn’t convince.
- Top left: the people who see it love it, but it didn’t travel. Good content with a bad hook or a bad cover.
- Filter by one hook and see whether its thumbnails land above or below the red line.
- Use the comparator with the two most-used hooks. Careful: one giant reel can inflate a group’s average; check it under “Best reel”.
If something fails
- “Falta APIFY_TOKEN” (APIFY_TOKEN missing): you haven’t created the
.envor the token is empty. - “Apify rechaza el token” (Apify rejects the token): you copied it wrong; copy it again from Settings → API & Integrations.
- “No te queda saldo” (no balance left): you’ve used up the month’s $5; wait for next month or upgrade your plan on Apify.
- “Apify no devolvió reels” (Apify returned no reels): the account is private, doesn’t exist or is misspelled.
Notes
- Public profiles only. It’s not an official Instagram or Meta tool: Apify reads the profile’s public data.
- You won’t always get every reel: Instagram doesn’t hand over the full history and Apify returns the most recent ones up to the number you ask for. Reels with under 100 views are hidden from the map to keep it clean (untick the box to see them).
- Instagram video links expire within a few days: if
--transcribir-topfails, run--refrescarfirst. - The views Apify reports are the reel’s public plays.
- Your token stays on your computer, in the
.env. It isn’t sent to Blackdark or to anyone other than Apify.
Checklist
- Node.js installed.
- Your own Apify account and token copied into
.env. - X-Ray META downloaded from the Tools page.
- First report with
node rayos.mjs accountname. - Hooks tagged (rules, Claude Code or Claude API).
- Spending checked in your Apify console.