Skip to content

ovivoda/overture-maps-api

 
 

Repository files navigation

Overture Maps API

Demo

See the API in Action at https://www.OvertureMapsAPI.com/

Endpoints

  • OpenAPI Spec Doc
  • ./Places - The Overture places theme has one feature type, called place, and contains more than 53 million point representations of real-world entities: schools, businesses, hospitals, religious organizations, landmarks, mountain peaks, and much more.
  • ./Places/Brands - Lists all the Brands used in the Places data, along with counts of Places for each.
  • ./Places/Categories - Lists all the Categories used in the Places data, along with counts of Places and Brands in each
  • ./Places/Countries - Lists all the Countries used in the Places data, along with counts of Places and Brands in each

Schemas & Design

API Roadmap

  • Places endpoint for Overture Maps 'Place' Theme
  • Places/Brands endpoint
  • Places/Categories endpoint
  • Places/Countries endpoint
  • Places/Buildings endpoint
  • Addresses endpoint for Overture Maps 'Address' Theme
  • Base endpoint for Overture Maps 'Base' Theme
  • Buildings endpoint for Overture Maps 'Building' Theme
  • Transportation endpoint for Overture Maps 'Transportation' Theme
  • Divisions endpoint for Overture Maps 'Division' Theme

Extras:

  • Fill wikidata holes in the data
  • Add wikidata to the appropriate response for things like Brand logos, and more info

Deployment & Datasets

API Key management

You can either use the hardcoded API key in the code DEMO-API-KEY, or use the Auth API by going to theAuthAPI.com and creating an account. You can then create an Access Key for the App and add it as an Env var, and then create any number of API Keys for secure access to the API, and rate-limit them for cost control.

Running Locally

  • GCP: setup a key as per the GCP guide, then download the Service Account .json file locally, and set the name in the .env variable GOOGLE_APPLICATION_CREDENTIALS to the path of the file.
 npm install
 npm run test
 npm run start

Test the API by curl on http://localhost:8080/places/countries with the DEMO-API-KEY

curl -H "x-api-key: DEMO-API-KEY" -X GET -G 'http://localhost:8080/places/brands' \
-d 'country=AU'

To get GeoJSON format, add format=geojson to the query string

curl -H "x-api-key: DEMO-API-KEY" -X GET -G 'http://localhost:8080/places' \
-d 'country=AU'  -d 'brand_name=TAB' -d 'limit=2' -d 'format=geojson'

To get the Categories or Brands filtered by Category for a Country

curl -H "x-api-key: DEMO-API-KEY" -X GET -G 'http://localhost:8080/places/categories' \
-d 'country=AU'
curl -H "x-api-key: DEMO-API-KEY" -X GET -G 'http://localhost:8080/places/brands' \
-d 'country=AU' -d 'categories=airlines,airline'

Credits

Another fine API from ThatAPICompany - specialists in all things APIs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.0%
  • Other 2.0%