A lightweight REST API service to programmatically check the current version of any Android application published on Google Play Store.
Play Store Version Check is a simple yet powerful Node.js API that allows developers to retrieve the current version of any Android application directly from the Google Play Store. No authentication required, no complex setupβjust pass the package name and get the version instantly.
- Simple REST API: Easy-to-use endpoint with package name parameter
- Real-time Version Info: Fetches current app version from Google Play Store
- No Authentication: No API keys or OAuth tokens required
- Lightweight: Minimal dependencies and fast response times
- Cross-platform: Works with any HTTP client or programming language
- Perfect for: Version checking, update notifications, CI/CD pipelines, app monitoring
- Node.js (v12 or higher)
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/dearsikandarkhan/playstore-version-check.git
cd playstore-version-check- Install dependencies:
npm install
# or
yarn install- Start the server:
npm start
# or
node index.jsThe API will be available at http://localhost:3000 by default.
Once the server is running, you can check any app's version by making a GET request:
curl http://localhost:3000/com.example.appReplace com.example.app with any valid Android package name from Google Play Store.
GET /{packageName}
| Parameter | Type | Required | Description |
|---|---|---|---|
| packageName | string | Yes | The Android application package name (e.g., com.whatsapp) |
# Check WhatsApp version
curl http://localhost:3000/com.whatsapp
# Check Instagram version
curl http://localhost:3000/com.instagram.android
# Check your app version
curl http://localhost:3000/com.egnify.getranks{
"packageName": "com.whatsapp",
"version": "2.23.20.10",
"versionCode": "232010000",
"lastUpdated": "October 2023"
}fetch('http://localhost:3000/com.example.app')
.then(response => response.json())
.then(data => {
console.log('Current version:', data.version);
});import requests
response = requests.get('http://localhost:3000/com.example.app')
data = response.json()
print(f"Current version: {data['version']}")curl -X GET http://localhost:3000/com.example.appval url = "http://localhost:3000/com.example.app"
val client = OkHttpClient()
val request = Request.Builder().url(url).build()
client.newCall(request).enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
val version = JSONObject(response.body?.string()).getString("version")
println("Current version: $version")
}
})Implement mandatory app updates by comparing installed version with Play Store version:
const installedVersion = "1.0.0";
const storeVersion = await fetch('http://localhost:3000/com.yourapp').then(r => r.json());
if (storeVersion.version > installedVersion) {
showUpdateDialog();
}Automate version checking in your deployment workflow:
# GitHub Actions example
- name: Check Play Store Version
run: |
VERSION=$(curl http://your-api.com/com.yourapp | jq -r '.version')
echo "Current Play Store version: $VERSION"Build a monitoring system to track app versions across multiple applications:
const apps = ['com.app1', 'com.app2', 'com.app3'];
const versions = await Promise.all(
apps.map(pkg => fetch(`http://localhost:3000/${pkg}`).then(r => r.json()))
);Send automated notifications when new versions are available:
setInterval(async () => {
const currentVersion = await checkPlayStoreVersion();
if (currentVersion !== lastCheckedVersion) {
sendNotificationToUsers();
}
}, 3600000); // Check every hourCreate a .env file in the root directory:
PORT=3000
NODE_ENV=production
CACHE_DURATION=3600Change the default port by setting the PORT environment variable:
PORT=8080 npm startheroku create your-app-name
git push heroku mainUse the Serverless Framework or AWS SAM for serverless deployment.
FROM node:16-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
EXPOSE 3000
CMD ["node", "index.js"]Build and run:
docker build -t playstore-version-check .
docker run -p 3000:3000 playstore-version-check- Runtime: Node.js
- Web Scraping: Cheerio / Puppeteer (for parsing Play Store HTML)
- HTTP Server: Express.js
- Caching: In-memory or Redis (optional)
- Response Time: < 500ms (with caching)
- Rate Limiting: Configurable per IP
- Caching: Reduces Play Store requests and improves speed
- Implement rate limiting to prevent abuse
- Use HTTPS in production environments
- Add input validation for package names
- Consider adding authentication for private deployments
- Monitor and log suspicious activities
The API returns appropriate HTTP status codes:
| Status Code | Description |
|---|---|
| 200 | Success - Version information returned |
| 400 | Bad Request - Invalid package name |
| 404 | Not Found - App not found on Play Store |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error - Server issue |
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct and development process.
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project helpful, please consider giving it a β on GitHub!
Sikandar Khan - @dearsikandarkhan
Project Link: https://github.com/dearsikandarkhan/playstore-version-check
- Thanks to all contributors who help improve this project
- Inspired by the need for simple version checking solutions
- Built with β€οΈ for the developer community
- Android Version Checker - Python-based version checker
- GPVersionChecker - Android library for version checking
- AppUpdater - Android library with update dialogs
- Add batch version checking endpoint
- Implement Redis caching
- Add GraphQL API support
- Create official Docker image
- Add detailed analytics and logging
- Support for iOS App Store version checking
- WebSocket support for real-time updates
- Admin dashboard for monitoring
Q: Do I need a Google Play Developer account?
A: No, this API works without any authentication.
Q: Is there a rate limit?
A: Configurable based on your deployment. Default settings apply reasonable limits.
Q: Can I use this in production?
A: Yes, but ensure proper caching and rate limiting are configured.
Q: Does this work with unreleased apps?
A: No, the app must be published on Google Play Store.
Q: How often is the version information updated?
A: It reflects the latest version available on Play Store at the time of request.
Made with β€οΈ by Sikandar Khan