5

I'm looking for an API, preferably in PHP, or optionally a command-line tool (Python would be OK, but anything running on Linux should do) which, given the package name of an Android app, gives me details on the modules used in it. Results should of course be in a structured format: e.g. a PHP array of objects, or JSON.

The following details, or at least a significant subset (must-haves are bold), should be provided by that API:

  • name of the module
  • type of the module (e.g. advertisement, development tool, social stuff)
  • (level of) danger concerning data abuse (does it collect PII, device identifiers, location data)
  • what data is accessed/collected
  • which permissions are required/used by the module¹
  • link to details on the module, including background on how it uses data it accesses and reputation of the company behind it

Additional helpful/interesting details are welcome, while the above is basically what I "wish for". Data for the most recent version of an app is fine, multiple sets by app version are not required (but wouldn't hurt either). Of course, the provider those data are retrieved from by the API should be reputable.

The API should be available for free (as in "free beer"), and preferably also be free (as in "free speech") – so FOSS is strongly preferred.

For some background, here's a reference from our Android sister site on what I want to achieve: Dangers of ad modules in apps


¹ while most modules require "must have" permissions to work at all, some do access other permissions if available to the host app; see e.g. inMobi. Preferably the API provides those separately.

1

Not matching all my requirements (haven't found anything that does), but AppBrain provides such an API. For my case, I can use it to retrieve, per app:

  • name of the module(s)
  • type of the module(s)
  • data is returned in JSON format

So it matches the must-haves from my question. Of course the API provides a lot more details such as basic app information (those details you see on its Playstore page, incl. ratings and rankings, related apps, developer info etc.) – but that was not asked for by the question :)

The API is free to use for up to 500 calls per month; after that, it gets a bit expensive. Still worth to ask them for a special "fee-agreement", staff is quite friendly.

0

Naming a second candidate I meanwhile found and use: Exodus Privacy offers to scan apps for trackers – as long as they are available at Google Play for free. You can search for apps interactively, and request to scan what is not yet there (or no longer up-to-date). Results are shown per app version. You can also check the list of trackers known to Exodus.

Exodus offers read-only API access, so you can query a list of apps or a single app and receive a JSON object with the details. Other than Appbrain (see my other answer), Exodus lists results per version of an app – so if it had multiple versions scanned, you get details on each of them. That way, other than with Appbrain, you can tell if the report fits the last version or may be out-of-date.

Its database is growing as more apps are reported for scan. Unfortunately, that must be done manually – so it's e.g. not possible to automatically schedule a scan when your JSON indicates an outdated version. Still, you can actively request a scan here, which is not possible with the Appbrain API (as they scan on-device).

Results a.o. offer the following details:

  • name of the module(s)
  • as of now, no type, it's always trackers
  • data is returned in JSON format

As this service is limited to trackers, and reports nothing but trackers, this makes the "type of module(s)" always "ATS" and thus meets my requirements. Made good experiences with it since I've integrated the API with my app listings.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.