YouTube Region Availability Checker avatar

YouTube Region Availability Checker

Pricing

from $2.99 / 1,000 region availabilities

Go to Apify Store
YouTube Region Availability Checker

YouTube Region Availability Checker

Check public YouTube video playability in selected ISO 3166-1 country contexts and return per-country availability evidence, restrictions, and video metadata without inferring untested coverage.

Pricing

from $2.99 / 1,000 region availabilities

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

YouTube Public Region Restriction Checker

Compare the playability status returned by public YouTube watch pages for a bounded list of country contexts. The actor requests https://www.youtube.com/watch?v=...&hl=en&gl=XX, parses the embedded public player response, and records only countries that returned an observable player status.

Dataset

Each video record contains the submitted reference, video/channel metadata, description, keywords, duration, views, thumbnails, captions and streaming-format counts when the public response exposes them, plus per-country playability observations. It also includes requested/tested/failed country counts, accessible and blocked lists, percentages, baseline status, evidence mode, and source provenance.

Country evidence is labeled explicitly:

  • country-matched Apify Proxy IP plus public watch-page gl parameter means an Apify country route was requested for that country.
  • Apify Proxy IP plus public watch-page gl parameter; country match not independently verified means a proxy was used without a country-specific route.
  • public watch-page gl parameter only; request IP country not controlled means only the public page's locale parameter was varied.

These are point-in-time observations, not proof of permanent global licensing or availability. A mixed result means the tested public responses differed; it does not infer untested countries.

Blocked or failed country requests are summarized in bounded run logs and OUTPUT; diagnostic rows are never written to the dataset. OUTPUT.status reports SUCCEEDED when rows were saved or checks completed without observations, and FAILED only when an actual failure occurs before any row is saved. dataStatus distinguishes COMPLETE, PARTIAL, NO_RESULTS, and FAILED.

Input

FieldDefaultDescription
videoUrlsrequiredPublic YouTube watch, Shorts, embed, youtu.be URLs, or 11-character IDs.
countryCodesUS, GB, DE, IN, JPISO alpha-2 country contexts, 1–20.
maxItems10Maximum unique videos, 1–50.
proxyConfigurationnoneOptional account-authorized Apify Proxy. Country-specific routes are used when the configuration requests Apify Proxy.
enableProxyFallbacktrueAfter a direct page failure, try one ordinary Apify Proxy route.
requestDelayMs / requestTimeoutSecs250 / 60Pacing and bounded page timeout.

Example

{
"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
"countryCodes": ["US", "GB", "DE"],
"maxItems": 1,
"enableProxyFallback": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Safety and limits

  • Uses a fixed ordinary User-Agent and public watch-page HTML only.
  • Does not call youtubei endpoints, rotate client identities, spoof fingerprints, patch browser stealth, bypass CAPTCHA/login, or store cookies, credentials, proxy URLs, or request identity fields in dataset records.
  • YouTube may return a generic or blocked response even when a video is public. The actor preserves that limitation in logs and OUTPUT rather than treating missing data as unrestricted or unavailable.
  • Proxy usage consumes account resources; a country route is evidence of the requested route, not an independently measured IP assertion.

Local verification

npm test
npx --yes apify validate-schema
$env:APIFY_LOCAL_STORAGE_DIR = 'storage'
npx --yes apify run --purge --input-file INPUT.json
node validate-datasets.js