What are the minimum Android requirements to use this API?
The API uses standard HTTPS (TLS 1.2+). minSdkVersion 21 (Android 5.0 Lollipop) is sufficient. The internet permission must be declared in AndroidManifest.xml. Beyond that, any HTTP client works — OkHttp, Retrofit, Ktor, or even HttpURLConnection. There is no native SDK to install.
How do I handle the lang parameter for multi-language Android apps?
Store the user's preferred language code (hi, ta, te, kn, ml, bn, mr, gu, pa, en, etc.) in SharedPreferences or a Room database. Pass it as the lang query parameter on every API call. The API returns all labels, descriptions, and interpretive text in the requested language. You do not need to manage any translation files — the API handles all 27 languages server-side.
How do I cache API results to avoid hitting rate limits on Android?
For natal chart data (ascendant, planet positions, divisional charts) — cache in Room database using a key derived from dob+tob+lat+lon+tz. This data never changes for a given birth record. For time-sensitive data (panchang, transits, current dasha) — cache with a TTL (e.g. 1 hour for panchang, 24 hours for weekly predictions). The API itself also caches natal charts permanently, so repeated identical requests are fast.
Is there a rate limit that could affect my Android app in production?
The free plan allows 20 requests per second and 500 calls per month. For a production app, upgrade to Developer (₹750/month, 5,000 calls, 30 req/sec) or Starter (₹4,100/month, 1,00,000 calls, 50 req/sec). Rate limit errors return a 429 status with a clear message. Implement exponential backoff in your Retrofit or OkHttp error handling for resilience.