YouTube Region Restriction Checker avatar

YouTube Region Restriction Checker

Pricing

from $1.35 / 1,000 checked videos

Go to Apify Store
YouTube Region Restriction Checker

YouTube Region Restriction Checker

Check where YouTube videos can be viewed. Export allowed countries, blocked countries, counts, target-country availability, canonical video IDs, titles, channels, and thumbnails without YouTube login, cookies, or API keys.

Pricing

from $1.35 / 1,000 checked videos

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

🌍 YouTube region restriction checker

Use YouTube Region Restriction Checker to check where public YouTube videos can be watched by country. Paste YouTube watch URLs, Shorts URLs, youtu.be links, embed URLs, or raw video IDs, and get one clean dataset row per unique video with allowed countries, blocked countries, target-country status, canonical video IDs, and source-exposed video metadata.

It is built for rights, localization, marketing, creator operations, and QA teams that need a fast answer to a simple question: can this YouTube video be viewed in the markets we care about? You do not need a YouTube login, cookies, OAuth setup, or a YouTube API key.

For an easy first run, keep the prefilled videos and target countries. The Actor checks global availability when YouTube exposes country lists, adds focused answers for countries such as US, GB, DE, and JP, and saves successful checks to the dataset during the run.

✅ What this Actor does

  • Checks public YouTube videos for regional availability data.
  • Accepts watch URLs, Shorts URLs, youtu.be links, embed URLs, live/v path URLs, and raw 11-character video IDs.
  • Deduplicates repeated targets by canonical YouTube video ID during the run.
  • Returns allowed and blocked countries with both country codes and country names.
  • Adds target-country answers so you can see whether selected markets are allowed, blocked, or unknown_country.
  • Adds video metadata such as title, channel ID, channel title, duration, thumbnail, playability status, and playability reason when YouTube exposes it.
  • Saves one dataset row only for videos with usable availability data.
  • Works with Apify dataset exports, API access, schedules, webhooks, and integrations.

📦 Data you can export

Each output row represents one successful YouTube video availability check. Fields include:

  • videoId
  • title, channelId, channelTitle, durationSeconds, and thumbnailUrl
  • playabilityStatus and playabilityReason
  • allowedCountries with countryCode and countryName
  • blockedCountries with countryCode and countryName
  • totalAllowedCountries and totalBlockedCountries
  • isGloballyAvailable
  • targetCountries with the submitted input, normalized country code, country name, and availability

The dataset intentionally does not include deterministic watch URLs, submitted-input echoes, run timestamps, status rows, or duplicate parallel country-code arrays. Use videoId as the compact YouTube source identifier.

You can export results as JSON, CSV, Excel, XML, RSS, or HTML, or read them through the Apify API.

🎯 Common use cases

  • Check whether music videos, trailers, sports clips, lessons, or branded videos are blocked in key markets.
  • Build a YouTube video region availability report for rights, localization, or campaign planning.
  • Verify target-country access before embedding or sharing YouTube links.
  • Compare allowed and blocked countries across a batch of public videos.
  • Feed normalized country availability into a spreadsheet, BI report, QA workflow, or internal tool.

▶️ How to run it

  1. Add one YouTube video target per row in YouTube video targets.
  2. Optionally add Target countries as ISO country codes or country names.
  3. Start the Actor.
  4. Open the dataset as rows appear.
  5. Export the dataset or connect the run to your workflow with the Apify API, scheduler, webhooks, or integrations.

For a small first run, keep the default input. For larger batches, paste up to 1,000 unique video targets and use target countries only when you need focused market answers beside the full country lists.

⚙️ Input

🧪 Example input

{
"videoTargets": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://youtu.be/FZ4lg_VF1Bk",
"https://www.youtube.com/shorts/fJ9rUzIMcZQ",
"pRpeEdMmmQ0",
"YQHsXMglC9A"
],
"targetCountries": ["US", "GB", "Germany", "Japan"]
}

🎛️ Input fields

FieldWhat to enter
videoTargetsPublic YouTube video targets. Use watch URLs, Shorts URLs, youtu.be links, embed URLs, live/v path URLs, or raw video IDs.
targetCountriesOptional countries to check directly. Use ISO country codes such as US or country names such as Germany.

🧾 Output example

{
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"channelTitle": "Rick Astley",
"durationSeconds": 213,
"thumbnailUrl": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
"playabilityStatus": "OK",
"playabilityReason": null,
"allowedCountries": [
{
"countryCode": "US",
"countryName": "United States"
},
{
"countryCode": "GB",
"countryName": "United Kingdom"
}
],
"blockedCountries": [
{
"countryCode": "RU",
"countryName": "Russia"
}
],
"totalAllowedCountries": 2,
"totalBlockedCountries": 1,
"isGloballyAvailable": false,
"targetCountries": [
{
"input": "US",
"countryCode": "US",
"countryName": "United States",
"availability": "allowed"
},
{
"input": "Japan",
"countryCode": "JP",
"countryName": "Japan",
"availability": "blocked"
}
]
}

Some metadata fields can be null when YouTube exposes region availability without every video detail. Videos that cannot be checked cleanly are reported in the run log instead of creating misleading placeholder rows.

💳 Pricing

This Actor uses pay-per-result pricing. You are charged one checked-video event for each successfully checked video saved to the dataset.

You are not charged for duplicate canonical video inputs, skipped targets, source retries, or videos that do not emit a dataset row.

⚠️ Limits and caveats

  • The Actor checks public YouTube pages only. It does not use private accounts, cookies, OAuth, or the official YouTube API.
  • Private, removed, age-gated, unavailable, login-only, or bot-check-protected videos may not emit a dataset row when YouTube does not expose usable country availability.
  • YouTube can change availability over time when uploaders, rights holders, or YouTube update restrictions.
  • The Actor reports observed source-exposed regional viewing availability. It does not provide legal, licensing, campaign-suitability, or rights advice.
  • It does not download, mirror, or save YouTube video files.

❓ FAQ

🎬 Can I check raw YouTube video IDs?

Yes. You can enter raw 11-character YouTube video IDs, full watch URLs, Shorts URLs, youtu.be links, embed URLs, and supported live/v path URLs.

🔑 Do I need a YouTube API key?

No. The Actor does not require a YouTube API key, login, cookies, OAuth setup, or browser extension.

🔁 What happens if I provide duplicate videos?

The run deduplicates targets by canonical YouTube video ID. The dataset contains one checked result per unique video.

🎯 Can I check only a few countries?

Yes. Add target countries to get a compact allowed, blocked, or unknown_country answer for the markets you care about. When YouTube exposes global country lists, the Actor still returns the full allowed and blocked country data.

⚠️ Why are some videos missing from the dataset?

The dataset contains successful availability checks only. If a video is private, removed, blocked behind a login or interactive check, or does not expose usable country availability, the Actor logs the outcome and continues with the rest of the run.

📝 Changelog

  • 1.0: Updated the output to one compact row per checked video with paired country codes and names, target-country answers, and tiered pay-per-result pricing.
  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré