BBC iPlayer geolocation identification

Watch the content from non-UK

How BBC identifies you

  1. First, user profile is initialised
  • If saved, data is used from the closure
  • If fetch and CORS-requests are allowed, GET-request is initiated from the user profile (for bbc.co.uk it is https://www.bbc.co.uk/userinfo), after first time the response is cached. The response looks like:
  • Otherwise, there’s a fallback function which loads module orb/fig with _figManager.js . It uses microservice which is available on https://fig.bbc.co.uk/frameworks/fig/2/fig.js and returns a code which is executed later on. The most interest part here is a parameter uk — it equals 1 if the request has been sent from the UK, otherwise 0.
  • If the request hasn’t been sent from the UK, watching is prohibited due to rights issues.
  • As I investigated iPlayer from Russia, it returned 0 and the content wasn’t available. The response was:
the reducer for user
the action to set foreign region value

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store