The batch finishes. You pay for what arrived.
apihq makes pay-per-result data APIs (Apify Actors) that turn public YouTube, Google Play, and App Store data into pipeline-ready JSON.
An invalid or unavailable input returns a typed success: false row — billed $0 — and the run keeps going.
Delivered through apihq's data APIs · Apify console, 2026-07-20
Example run / youtube-transcript / rows 35–39 of 50
One failed input. No failed batch.
| # | INPUT | RESULT | CHARGE |
|---|---|---|---|
| 35 | dQw4w9WgXcQ | transcript | $0.0030 |
| 36 | jNQXAC9IVRw | transcript | $0.0030 |
| 37 | 00000000000 | PLAYABILITY | $0.0000 |
↳ DATASET ROW success: falseERROR CODE PLAYABILITYBILLED $0.0000 | |||
| 38 | kJQP7kiw5Fk | transcript | $0.0030 |
| 39 | 9bZkp7q19f0 | transcript | $0.0030 |
Your script worked. Then you deployed it.
YouTube commonly blocks datacenter IP ranges, so the library that ran fine on your laptop starts throwing RequestBlocked from the cloud. One captionless video raises at item 4,732 and takes the night's batch with it. The fix lands on you, at the worst hour.
apihq exists for exactly this moment. The fetch becomes a contract: delivered rows are billed, failures come back typed and free, and the batch keeps going.
Pay-per-result data APIs for YouTube, Google Play, and the App Store
apihq makes seven data APIs with one failure contract. They are Apify Actors — cloud tasks you call by API — that fetch public YouTube, Google Play, and Apple App Store data as JSON rows, and you pay only for the rows that arrive.
Send video IDs, channel handles, or app IDs. Successful results are billed at $3.00 per 1,000 transcripts, $0.50 per 1,000 videos, $0.40 per 1,000 shorts, $0.40 per 1,000 comments, $0.20 per 1,000 results, $0.08 per 1,000 reviews, and $0.08 per 1,000 reviews. Invalid or unavailable inputs become unbilled success: false rows in the same dataset, so one bad item does not take the batch down.
- Platforms
- YouTube · Google Play · App Store
- Price
- from $0.08 / 1,000 rows
- Failed item
- $0.0000
Seven data APIs
Full API documentation →| API | INPUT | OUTPUT | PRICE | FAILURE |
|---|---|---|---|---|
| YouTubeTranscripts | video ID | transcripts | $0.0030/transcript | NO_CAPTIONS · $0 |
| YouTubeChannel videos | URL / @handle | videos | $0.0005/video | CHANNEL_NOT_FOUND · $0 |
| YouTubeShorts | URL / @handle | shorts | $0.0004/short | NO_SHORTS · $0 |
| YouTubeComments | video ID | comments | $0.0004/comment | COMMENTS_DISABLED · $0 |
| YouTubeSearch | keyword | results | $0.0002/result | NO_RESULTS · $0 |
| Google PlayPlay reviews | package name | reviews | $0.00008/review | NO_REVIEWS · $0 |
| App StoreApp Store reviews | app ID / URL | reviews | $0.00008/review | NO_REVIEWS · $0 |
Prices are per delivered result on Apify, with platform compute included. A failed item is retained as a coded row and is not charged.
Failure is a result, not an exception.
Every apihq actor returns an undeliverable item as a typed success: false row in the dataset, billed $0. Branch once on success. Stable codes tell you what happened; request_id traces the exact attempt.
// one batch, one dataset — branch on "success"
{ "success": true,
"video_id": "jNQXAC9IVRw",
"transcript": [ ... ] } // billed $0.0030
{ "success": false,
"video_id": "00000000000",
"code": "PLAYABILITY",
"status_code": 403,
"request_id": "req_911f37d2e556" } // billed $0.0000What a batch actually costs
Most per-request APIs bill the attempt. apihq bills the row. Three worked examples, at list prices:
- A 200-video channel, as a corpus
- $0.64
- A batch of only dead IDs
- $0.00
- One failure in a 5,000-row run
- $0.0000 for the miss
200 videos listed ($0.10) plus 180 transcripts delivered ($0.54). The 20 captionless videos return typed rows and cost $0.
Every row comes back success: false with a stable code. Nothing delivered, nothing billed.
Row 4,732 arrives typed, with a request_id for support. The other 4,999 keep flowing.
Keep the pipeline. Remove the maintenance shift.
apihq is for the point where a local extraction script becomes an unattended production job. The JSON workflow stays yours; the actors handle retries, proxies, upstream changes, and per-item failures.
The actors run on your existing Apify account, free tier included. Charges appear on your Apify invoice.
Send a public video ID or channel handle directly. None of your YouTube Data API quota is consumed.
Call from the Apify API, Python or Node.js SDKs, Make, Zapier, n8n, Slack, or webhooks.
Apify Run Limits stop the actor cleanly at your cap and preserve the results already delivered.
What these APIs do not do
They read caption tracks that already exist. They do not transcribe audio.
They read public data only. Private, members-only, and age-gated items return an unbilled failure row.
Each actor performs one focused job. Use a general browser automation tool for open-ended crawling.
Frequently asked questions
- What is apihq?
- A family of pay-per-result data APIs (Apify Actors, cloud tasks you call by API) that turn public platform data into pipeline-ready JSON. You pay only for delivered results; an invalid or unavailable item returns an unbilled success: false row while the actor continues the batch.
- Do I need a YouTube Data API key?
- No. The actors read YouTube's public data directly. You don't provision a Google key, and none of your YouTube Data API quota is consumed.
- How is it billed?
- Per delivered result, on your existing Apify account: $3.00 per 1,000 transcripts, $0.50 per 1,000 videos, $0.40 per 1,000 shorts, $0.40 per 1,000 comments, $0.20 per 1,000 results, $0.08 per 1,000 reviews, and $0.08 per 1,000 reviews. Failed items cost $0, and platform compute is included in the per-result price.
- Can I use it from Python or Node.js?
- Yes. Call the actors through the Apify API or the official apify-client SDKs for Python and Node.js. Make, Zapier, n8n, and webhooks are supported through Apify's official integrations.
- What happens when an item can't be fetched?
- It lands in the same dataset as a success:false record with a stable machine-readable code, a human-readable error, and a request_id. It is not charged and the run still succeeds.
- Is apihq affiliated with YouTube, Google, or Apple?
- No. The actors read publicly available data only and are not endorsed by or affiliated with YouTube, Google, or Apple.
Paste one video ID. Inspect the row.
Start in the Apify console, or copy the Python or Node.js example. The first run costs under a cent on your existing Apify account — no new subscription, no YouTube Data API key.