A (country/region/city) in-cascade location API.
Battuta API is a free Geocoding API that requires apiKey authentication, is only available over HTTP and has unconfirmed CORS support.
Details from battuta.medunes.net.

Unified API suite · now live
Geocode an address, validate an email, track a flight or pull stock data with one account, one dashboard and one API key.
Get divisions, districts, and upazzilas of Bangladesh
Provides fast and accurate IP geolocation APIs along with security checks and confidence area
IP Geolocation API. Collecting data from multiple sources
The Battuta API is provided by Battuta country-state-city API. by Medunes (battuta.medunes.net).
Yes. The Battuta API is listed in the Geocoding category of the public-apis directory, which only includes APIs that are free or have a free tier. Check its documentation for rate limits and paid plans.
Yes. The Battuta API uses apiKey authentication, so you need to register for credentials before making requests.
CORS support for the Battuta API is unknown. Test a request from the browser, and fall back to a server-side call if it is blocked.
No. The Battuta API is only available over plain HTTP, which browsers block on HTTPS sites. Call it from a server instead.