Migration guide

Switch in
2 hours.

Same data coverage. POST-based JSON API with Basic Auth. Update your endpoints and start saving 90%.

Migration Steps

From Google Maps to Beta Maps
01

Create your Beta account

Sign up at beta.vn. You'll receive your username and password for Basic Authentication instantly.

02

Map your endpoints

Replace Google's GET-based endpoints with Beta's POST-based equivalents. For example: Google's /maps/api/geocode/json becomes POST /v1/mapapi/geocode with a JSON body.

03

Test in staging

Run your existing test suite against Beta Maps. Verify geocoding accuracy, routing results, and places data. The response data is equivalent.

04

Deploy to production

Route production traffic through Beta Maps. Monitor via the real-time dashboard. Set up alerts for usage thresholds.

Endpoint Mapping

Google Maps → Beta Maps
Google Maps APIBeta Maps APIMethod
GET /maps/api/directions/jsonPOST /v1/mapapi/directionPOST
GET /maps/api/geocode/jsonPOST /v1/mapapi/geocodePOST
GET /maps/api/place/textsearch/jsonPOST /v1/mapapi/textsearchPOST
GET /maps/api/place/nearbysearch/jsonPOST /v1/mapapi/nearbysearchPOST
GET /maps/api/place/details/jsonPOST /v1/mapapi/detailPOST
GET /maps/api/place/autocomplete/jsonPOST /v1/mapapi/searchPOST

Code Examples

Before & after
cURL — Geocoding
# Before (Google Maps)
curl "https://maps.googleapis.com/maps/api/geocode/json?address=Saigon&key=YOUR_GOOGLE_KEY"

# After (Beta Maps)
curl -u YOUR_USERNAME:YOUR_PASSWORD \
  -X POST https://api.beta.vn/v1/mapapi/geocode \
  -H "Content-Type: application/json" \
  -d '{"address": "Saigon"}'
cURL — Directions
# Before (Google Maps)
curl "https://maps.googleapis.com/maps/api/directions/json?origin=10.8231,106.6297&destination=20.978,105.817&key=YOUR_GOOGLE_KEY"

# After (Beta Maps)
curl -u YOUR_USERNAME:YOUR_PASSWORD \
  -X POST https://api.beta.vn/v1/mapapi/direction \
  -H "Content-Type: application/json" \
  -d '{"origin":{"lat":"10.8231","lng":"106.6297"},"destination":{"lat":"20.978","lng":"105.817"}}'
JavaScript / fetch
// Before (Google Maps)
const res = await fetch(
  `https://maps.googleapis.com/maps/api/geocode/json?address=Saigon&key=${API_KEY}`
);

// After (Beta Maps)
const res = await fetch("https://api.beta.vn/v1/mapapi/geocode", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Basic " + btoa(username + ":" + password)
  },
  body: JSON.stringify({ address: "Saigon" })
});
Python / requests
# Before (Google Maps)
import requests
res = requests.get(
    "https://maps.googleapis.com/maps/api/geocode/json",
    params={"address": "Saigon", "key": API_KEY}
)

# After (Beta Maps)
res = requests.post(
    "https://api.beta.vn/v1/mapapi/geocode",
    json={"address": "Saigon"},
    auth=(USERNAME, PASSWORD)
)

Key Differences

What changes from Google Maps
HTTP Method

Google uses GET with query parameters. Beta uses POST with JSON body for all endpoints.

Authentication

Google uses an API key as a query parameter. Beta uses HTTP Basic Auth (username:password) via the Authorization header.

Base URL

Replace maps.googleapis.com/maps/api/ with api.beta.vn/v1/mapapi/.

Request Format

Parameters move from URL query strings into a JSON request body. Coordinates use {lat, lng} objects.

Migration FAQ

Common questions

Ready to
save 90%?

Startup grants available. No commitment.