How to understand app restrictions set by developers
See Filters on Google Playstore and on How filters work?


  Filtering in Google Play is based on several types of app metadata and
  configuration settings, including manifest declarations, required
  libraries,architecture dependencies, and distribution controls set in
  the Google Play Developer Console, such as geographic targeting,
  pricing, and more.
  
  Google Play filtering is based in part on manifest declarations and
  other aspects of the Android framework, but actual filtering behaviors
  are distinct from the framework and are not bound to specific API
  levels.


However when you access Google playstore from the web browser with an email id which has not registered with any android device the restrictions are not applied. If you want look at the specific app for restrictions you can download the apk file offline and unpack it and in the manifest file(AndroidManifest.xml) you can see the list restrictions made for that app. Look out for the Filtering based on the App Manifest tags in particular under the configuration.

Consider the following example, an application that is designed to run on older API levels declares a Bluetooth permission, but does not declare the Bluetooth feature in a  element.

Result: Google Play does not filter the application from any device.

&lt;manifest ...&gt;
    &lt;uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /&gt;
    &lt;uses-sdk android:minSdkVersion="3" /&gt;
    ...
&lt;/manifest&gt;


In the second example, below, the same application also declares a target API level of "5".

Result: Google Play now assumes that the feature is required and will filter the application from all devices that do not report Bluetooth support, including devices running older versions of the platform.

&lt;manifest ...&gt;
    &lt;uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /&gt;
    &lt;uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" /&gt;
    ...
&lt;/manifest&gt;