Skip to content

From Wikipedia APK to a Python API client

Three read-only request definitions, a runnable client, and recorded test results outside Android.

The app and the goal

We used Wikipedia Alpha version 50605-alpha-2026-09-08, package org.wikipedia.alpha. The goal was to rebuild article search, article extracts, and language links as a client outside Android.

This is an independent demonstration using Wikipedia’s public API. Wikimedia is not a customer or endorser.

What came from the APK

JADX 1.5.5 exposed request definitions in org.wikipedia.dataclient.Service. The evidence file records the package hash, request paths, and query parameters from Retrofit annotations.

The work used the shipped APK, rather than an app source checkout.

The client you can run

The Python client needs Python 3.10 or later and no extra packages. It searches, reads an article extract, and fetches language links through three read-only API requests.

The run does not require Android, an emulator, a login, or an API key.

python3 wikipedia_client.py --query "Lagos"
python3 wikipedia_client.py --json

Recorded results

On 4 October 2026, all three Python requests returned HTTP 200. Search returned Lagos, Lagos State, and Lagos (disambiguation). The Lagos extract was present, and the response included 167 language links.

The Postman collection passed 11 assertions in the saved 9 September 2026 run. Those assertions were not rerun in the October check. These are dated records; live Wikipedia data changes.

What this example proves

The three recovered request definitions became a client that ran outside Android in the recorded tests. The files let you read the request mapping and run the same workflow.

This example covers public read-only calls. Login, signed requests, protected account access, and full-app coverage are outside this demonstration.

Build what you need.

Upload your app. We extract its APIs and build your client.

Upload your app
From Wikipedia APK to a Python API client · SReverse