# Address Autocomplete API

**URL:** <https://community.glideapps.com/t/address-autocomplete-api/39602>\
**Category:** Ask for Help\
**Created:** [March 13, 2022, 8:55pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602 "2022-03-13T20:55:14Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Simon\_Hill](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simon_hill/32/94730_2.png) [@Simon\_Hill](https://community.glideapps.com/u/Simon_Hill)\
**Post date:** [March 13, 2022, 8:55pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/1 "2022-03-13T20:55:14Z")

</div>

This site appears to offer an API that can autocomplete an address entry.

> **[Address Autocomplete API | Geoapify](https://www.geoapify.com/address-autocomplete/)**
>
> Address Autocomplete API for address autofill inputs, HTML forms, and apps. NPM packages for easy integration and code samples. Start for Free!

I would love to see an example of this working in a Glide app. Current UX is poor when forcing my users to manually enter an address. Is there an expert here that could create a demo to teach the community?!

### EDIT:

> [@Address Autocomplete API](https://community.glideapps.com/t/address-autocomplete-api/39602/8):
>
> Tutorial: [[Glide: Address Autocomplete] ](https://www.youtube.com/watch?v=4a8t7fRhdo4)

I’m assuming it would be about as complex as generating a Quickchart image. If I’m off-track & it’s way more complicated then apologies, ignore the thought!

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/a/3/a3d1508f76aaa4ea0342b1a8af1f803de4deaff2.png)

I see that it’s possible to have a generous amount of look-ups for free per day: 3000, which would suit my needs.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/2/b2b0b647ac4ada1f529960d5919f2266a1ef8730.png)

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 13, 2022, 9:49pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/2 "2022-03-13T21:49:39Z")

</div>

Challenge accepted.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 14, 2022, 12:06am UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/3 "2022-03-14T00:06:24Z")

</div>

Getting close.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 14, 2022, 12:37am UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/4 "2022-03-14T00:37:25Z")

</div>

I assume taking the search entry as an input for the API, then take back a JSON and populate 5 rows in another table which you can create in advance.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 14, 2022, 1:10am UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/5 "2022-03-14T01:10:45Z")

</div>

Yup…something like this:  
 ![CleanShot 2022-03-13 at 21.09.32](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/0/80a522c974768aa7bda6a8613686536d599bab59.gif)

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 14, 2022, 1:22am UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/6 "2022-03-14T01:22:10Z")

</div>

Oooo…even better if using an inline list with a custom action:  
 ![CleanShot 2022-03-13 at 21.20.32](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/5/85e7fddad9437431539486975e3c407fe77e6838.gif)

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 14, 2022, 1:48am UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/7 "2022-03-14T01:48:46Z")

</div>

Greatttt!

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 14, 2022, 1:52am UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/8 "2022-03-14T01:52:41Z")

</div>

# Tutorial:

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/7/871a8dc83e6925ef237f26062a4031ddbb8a0e0e.jpeg "Glide: Address Autocomplete") ](https://www.youtube.com/watch?v=4a8t7fRhdo4)

---

<div class="post-metadata">

**Author:** ![Simon\_Hill](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simon_hill/32/94730_2.png) [@Simon\_Hill](https://community.glideapps.com/u/Simon_Hill)\
**Post date:** [March 14, 2022, 6:17am UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/9 "2022-03-14T06:17:46Z")

</div>

Wow - Genius work Bob. This behaves brilliantly and the UX is absolutely instinctive. Game changer for anyone working with address input fields.

Love the way the mapped result appears instantly and there are several cool tricks to handle the process. Agree that the inline list works well. The extra table for indexing the results is a cool approach.

Big thank you ^6.

---

<div class="post-metadata">

**Author:** ![Simon\_Hill](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simon_hill/32/94730_2.png) [@Simon\_Hill](https://community.glideapps.com/u/Simon_Hill)\
**Post date:** [March 14, 2022, 11:41am UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/10 "2022-03-14T11:41:22Z")

</div>

Hey Bob - could you share a screen shot for your construct URL component please. It’s not obvious how to construct it using the info copied from the Geoapify project.

So the fields here:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/0/4/0425798dda0ed05e99fc9590aff3869f42621d34.png)

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [March 14, 2022, 12:08pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/11 "2022-03-14T12:08:02Z")

</div>

Just from watching the start of Bob’s video, it would be something like this:

- Protocol: `https`
- Host: `api.geoapify.com`
- Path: `v1/geocode/autocomplete`

Then you would add parameters for `text`, `apiKey`, etc.  
Parameters are usually case-sensitive, so make sure you get those right.

---

<div class="post-metadata">

**Author:** ![Simon\_Hill](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simon_hill/32/94730_2.png) [@Simon\_Hill](https://community.glideapps.com/u/Simon_Hill)\
**Post date:** [March 14, 2022, 12:15pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/12 "2022-03-14T12:15:38Z")

</div>

> [@Darren\_Murphy](#):
>
> [api.geoapify.com](http://api.geoapify.com)

Thanks Darren… I got that working but the URL generated then delivers a response that does not begin with ‘results’. Instead is starts with an array called ‘features’. That’s the first thing then when I try to extract the formatted address using .features.formatted it doesn’t return the address… although I can see it in the text returned.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/2/722e9d1089a0ec2556d3a4492d297bb0cda565f6.png)

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [March 14, 2022, 12:27pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/13 "2022-03-14T12:27:04Z")

</div>

Just had a quick look at the [docs](https://apidocs.geoapify.com/docs/geocoding/address-autocomplete/#api), looks like you might need to give it a `format` parameter with a value of `json`, otherwise you’ll get the default (geojson) format.

---

<div class="post-metadata">

**Author:** ![Simon\_Hill](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/simon_hill/32/94730_2.png) [@Simon\_Hill](https://community.glideapps.com/u/Simon_Hill)\
**Post date:** [March 14, 2022, 12:30pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/14 "2022-03-14T12:30:49Z")

</div>

Yay - that worked! Thanks Darren.

 ![Address_Autocomplete_API_-_Glide_Community](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/a/4/a4128c6188a2da8224b981772168489847e72c43.png)

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [March 14, 2022, 12:32pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/15 "2022-03-14T12:32:29Z")

</div>

pssst! …best not to share your API key in public 😉

(I fixed that for you)

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [March 14, 2022, 3:19pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/16 "2022-03-14T15:19:49Z")

</div>

That’s exactly my setup (also the reason I didn’t show the construct URL column because I didn’t want to expose my API key). Thanks Darren.

---

<div class="post-metadata">

**Author:** ![Luther](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/luther/32/17929_2.png) [@Luther](https://community.glideapps.com/u/Luther)\
**Post date:** [March 14, 2022, 3:48pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/17 "2022-03-14T15:48:56Z")

</div>

🤗…What a lovely man you are 👏

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/system/32/53398_2.png) [@system](https://community.glideapps.com/u/system)\
**Post date:** [March 15, 2022, 3:49pm UTC](https://community.glideapps.com/t/address-autocomplete-api/39602/18 "2022-03-15T15:49:03Z")

</div>

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.
