Feeef Cloud
Geo API

Search

Autocomplete, nearest-point lookup, and reverse geocoding.

Search is for interactive use (an address field with suggestions as the user types); Resolve is for programmatic use (you already have a state/city string and need it validated). Reach for Search when there's a human choosing between options, Resolve when there isn't.

Autocomplete

GET /geo/search?q=bilda&country=DZ&limit=8
curl "https://apis.cloud.feeef.org/v1/geo/search?q=bilda&country=DZ&limit=8" \
  -H "Authorization: Bearer $FEEEF_CLOUD_KEY"

Ranked exact > prefix > phonetic > fuzzy, across every locale spelling — bilda, blida, and بليدة all reach the same result. Good for a live-search box; not the endpoint to validate a final address against (use Resolve for that, since it returns a confidence and a decision, not a ranked list to eyeball).

Nearest point

GET /geo/nearby?lat=36.72&lng=3.19&type=pickups&carrier=yalidine&limit=5
curl "https://apis.cloud.feeef.org/v1/geo/nearby?lat=36.72&lng=3.19&type=pickups&carrier=yalidine&limit=5" \
  -H "Authorization: Bearer $FEEEF_CLOUD_KEY"

type=cities returns city rows instead of pickups — same endpoint, same distance sort, different result shape. Typical use: "show the 5 closest stop-desks to this GPS point" for a map-based pickup picker.

Reverse geocoding

GET /geo/reverse?lat=36.7212&lng=3.1878&country=DZ

Point → commune/wilaya. Returns 404 not_covered for a point outside the country — this is an expected response, not an error condition to alarm on, if your input data can legitimately include out-of-country coordinates.

curl "https://apis.cloud.feeef.org/v1/geo/reverse?lat=36.7212&lng=3.1878&country=DZ" \
  -H "Authorization: Bearer $FEEEF_CLOUD_KEY"

method on the response tells you whether the match came from an actual boundary polygon lookup or fell back to nearest-centre — useful if your use case cares about precision near a wilaya border.

Geo playground

Try address matching and spatial search in the Geo playground.

On this page