Technical Documentation

The Pointsearch API

Turn your content into a living map

The PointSearch API enables partners to manage and query location-based Points of Interest (POIs). Partners can search for POIs within specific areas, retrieve detailed metadata, add new POIs, edit existing ones, and delete them as needed.

Authentication

Access to API’s is gated by an API KEY, which is added as an Authorization header to the API request:

Api-Key <api-key>

Replace <api-key> with your actual API key

Error Handling

The API uses standard HTTP status codes to indicate the success or failure of requests:

200 OK

The request was successful.

400 Bad Request

The server could not understand the request due to invalid syntax.

401 Unauthorized

The request lacks valid authentication credentials.

404 Not Found

The requested resource was not found.

500 Internal Server Error

The server encountered an unexpected condition.

Searching for POIs

Search for Points of Interest (POIs) based on geographical coordinates and other criteria.

Query parameters are as follows:

Search origin:

lat (required)

Latitude of the origin for the search location (e.g., 25.71851).

lng (required)

Longitude of the origin for the search location (e.g., -80.28112).

compass_bearing (optional)

Compass bearing, or cast direction, which is the direction of the search. Ignored if allcast is set.

Search Area:

allcast (optional)

Set to 1 for a 360-degree search, default is 0, for a cone search.

cast_angle (optional)

Width of cast angle in degrees, default is 30 degrees.

cast_dist (optional)

Depth of cast for cone search in meters, default is 100 meters.

nearby_dist (optional)

Proximity distance for nearby Points of Interest, default is 200 meters.

user_offset (optional)

Offset distance from the origin, default is 10 meters.

Search Filters:

keywords (optional)

Specifies keywords of Points of Interest (POIs) to search for.

type (optional)

Specifies the types of Points of Interest (POIs) to search for.

Visualization of Search Area Parameters

Request Example

GET /apiv3/search?lat=25.72078&lng=-80.27970&allcast=0&cast_dist=50&nearby_dist=0


Host: pointcast.info


Authorization: Api-Key YOUR_API_KEY

Response Example

HTTP/1.1 200 OK


Content-Type: application/json


{“message”:“Found 2 results”,“matchcount”:2,“nearbycount”:0,“match”:[{“pid”:0,“id”:“100”,“lat”:“25.72078”,“lng”:“-80.27970”,“distance”:0,“name”:“Dooley Building (C)”,“type”:“Academic Building”,“keywords”:“Academic Building”,“data”:{“name”:“Dooley Building (C)”,“address”:“1311 Miller Dr, Coral Gables FL 33146-2300”}},{“pid”:1,“id”:“102”,“lat”:“25.72095”,“lng”:“-80.27964”,“distance”:19835.745037867542,“name”:“Meyer Law Administration (A)”,“type”:“Academic Building”,“keywords”:“Academic Building”,“data”:{“name”:“Meyer Law Administration (A)”,“address”:“1311 Miller Dr, Coral Gables FL 33146-2300”}}],“nearby”:[],“castTriangle”:[{“lat”:25.720735019274283,“lng”:-80.27969995428863},{“lat”:25.7211694028206,“lng”:-80.27994951164848},{“lat”:25.7211694028206,“lng”:-80.27945039692894}]}

Getting details of a specific POI

Retrieve information about a specific POI.

POI Identification:

id (required)

Unique identifier for the Point of Interest (POI), maximum 64-byte string.

Request Example

GET /apiv3/get_poi?id=101

Host: pointcast.info


Authorization: Api-Key YOUR_API_KEY

Response Example:

HTTP/1.1 200 OK


Content-Type: application/json


{“message”:“POI information found for id: 101”,“data”:{“id”:“101”,“lat”:“25.72039”,“lng”:“-80.27953”,“speed”:“0”,“altitude”:“0”,“name”:“Law Classroom Building (F)”,“type”:“Academic Building”,“keywords”:“Academic Building”,“data”:{“name”:“Law Classroom Building (F)”,“address”:“1311 Miller Dr, Coral Gables FL 33146-2300”,“description”:““,”weblink”:““,”hours”:““}}}

Adding/editing details of a specific POI

Add or edit Points of Interest (POIs). POIs are uniquely identified by up to a 64-byte string. Partners store/access custom data through the data field, which must be a valid JSON string.

POI Identification:

id (required)

Unique identifier for the Point of Interest (POI), maximum 64-byte string

POI Location:

lat (required)

Latitude of the location, maximum 32-byte string

log (required)

Longitude of the location, maximum 32-byte string

altitude (optional)

Altitude of the location

POI Metadata:

type (optional)

Type of the Point of Interest, maximum 64 character string

keywords (optional)

Keywords or Tags or Aliased names for the POI, maximum 256 characters, comma separated for multiple

name (optional)

Name for the Point of Interest, maximum 256 characters

data (optional)

A JSON string that contains additional data about the POI, maximum 2000 characters

Request Example

GET /apiv3/add_poi

Host: pointcast.info


Authorization: Api-Key YOUR_API_KEY


Content-Type: application/x-www-form-urlencoded

id=30001&lat=15.1234567890&lng=80.09876&altitude=7000&type=testing&data=%3E%3E+TODO+%3C%3C

Response Example (Add):

HTTP/1.1 200 OK


Content-Type: application/json


{“message”:“Successfully added POI”}

Response Example (Edit):

HTTP/1.1 200 OK


Content-Type: application/json


{“message”:“Successfully updated POI”}

Deleting a specific POI

Delete a POI based on its id.

POI Identification:

id (required)

Unique identifier for the Point of Interest (POI), maximum 64-byte string

Request Example:

GET /apiv3/delete_poi?id=30001

Host: pointcast.info


Authorization: Api-Key YOUR_API_KEY

Response Example:

HTTP/1.1 200 OK


Content-Type: application/json


{“message”:“Deleted POI with id: 30001”}