# Create a Dictionary Searching App Using the Fetch JSON Plugin

**URL:** <https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298>\
**Category:** Project Showcase\
**Created:** [October 19, 2021, 7:55pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298 "2021-10-19T19:55:22Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![Darren\_Alderman](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_alderman/32/66660_2.png) [@Darren\_Alderman](https://community.glideapps.com/u/Darren_Alderman)\
**Post date:** [October 19, 2021, 7:55pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/1 "2021-10-19T19:55:22Z")

</div>

## Background

There is a popular showcase on the forums for a dictionary app with 163,819 rows. This utilized the best tricks at the time to create a way to search a dictionary dataset. The biggest issue is the lag between entering in a word and seeing the responses.

> [@English Dictionary with 163,819 rows!](https://community.glideapps.com/t/english-dictionary-with-163-819-rows/28645):
>
> this is example how to use big numbers of rows in free or paid App… enjoy! (in this app i’m using 163,819 rows but i can easy add up to 2 millions) [[Screen Shot 2021-07-03 at 12.04.07 AM]](https://english-dictionary.glideapp.io/)

## What’s New?

Glide has released some awesome new features that allow us to make better more responsive apps. In particular for this app, we now have:

- [Experimental Code Columns](https://docs.glideapps.com/all/reference/data-editor/computed-columns/experimental-code-column)
- [Glide Plugins](https://www.glideapps.com/plugins)
- [Glide Pages](https://docs.glideapps.com/all/courses/introduction-to-pages)

## Demo

![Dictionary Sample](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/a/d/adf38120b49d7db6aab7023dda4560680f90f336.gif)

> **[Dictionary by Darren](https://dictionary.glide.page/)**

## Tutorial

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/0/b0687bd1fe91ddb32660d561c5456d9b587d7f61.jpeg "Search a Dataset in @glideapps Using the Fetch JSON Plugin #API") ](https://www.youtube.com/watch?v=wWEkO8a4WbM)

> **View Details**
>
> ### #1 - Create an [Experimental Code](https://docs.glideapps.com/all/reference/data-editor/computed-columns/experimental-code-column) column that uses the [Fetch JSON Plugin](https://www.glideapps.com/plugins/fetch)
> 
> ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/3/0/305d8463f4c80a36068ed8096c6621b4ffcca8df.png)
> 
> ### #2 - Query the [Dictionary API](https://dictionaryapi.dev/) with the User Specific search word
> 
> ```auto
> https://api.dictionaryapi.dev/api/v2/entries/en/<word>
> 
> ```
> 
> ### #3 - Parse the response with the JQ Query
> 
> ```auto
> .[].meanings[].definitions[].definition
> 
> ```
> 
> ### #4 - Replace this list characters with some HTML
> 
> ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/0/3/03b2f6f9714ba23be8b08f0649b9ef9a67a568e8.png)
> 
> ### #5 - Display the list of definitions!
> 
> ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/3/23dd900ef9190b67958486c27eafbb2b0fad0791.png)

---

<div class="post-metadata">

**Author:** ![SantiagoPerez](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/santiagoperez/32/16807_2.png) [@SantiagoPerez](https://community.glideapps.com/u/SantiagoPerez)\
**Post date:** [October 19, 2021, 8:02pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/2 "2021-10-19T20:02:07Z")

</div>

Cool!!!

I created one for my wife a few weeks ago.

> **[Dictionary](https://brainy-zinc-6070.glideapp.io/)**

---

<div class="post-metadata">

**Author:** ![SantiagoPerez](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/santiagoperez/32/16807_2.png) [@SantiagoPerez](https://community.glideapps.com/u/SantiagoPerez)\
**Post date:** [October 19, 2021, 9:38pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/4 "2021-10-19T21:38:36Z")

</div>

Hey @Robert_Petitto, David changed something to his fetch column and it’s working now. You need to probably change the url.

---

<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:** [October 19, 2021, 9:58pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/5 "2021-10-19T21:58:18Z")

</div>

Can you be more specific? What URL? When was it updated? Today? As of yesterday, it still wasn’t working.

---

<div class="post-metadata">

**Author:** ![SantiagoPerez](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/santiagoperez/32/16807_2.png) [@SantiagoPerez](https://community.glideapps.com/u/SantiagoPerez)\
**Post date:** [October 19, 2021, 10:03pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/6 "2021-10-19T22:03:09Z")

</div>

The column URL. You can find the new URLs if you are still using the very fist one he posted here. [Plugins • Glide](https://www.glideapps.com/plugins)

It was updated probably about 2 weeks ago.

It has been working for me ever since.

I had an app in which the fetch was not working I just changed the column URL (I was using the very first one David posted) and started working.

This app uses David’s fetch column and transform JQ

---

<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:** [October 19, 2021, 11:26pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/8 "2021-10-19T23:26:20Z")

</div>

Great work! Thanks for sharing @Darren_Alderman.

---

<div class="post-metadata">

**Author:** ![Darren\_Alderman](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_alderman/32/66660_2.png) [@Darren\_Alderman](https://community.glideapps.com/u/Darren_Alderman)\
**Post date:** [October 20, 2021, 5:43pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/9 "2021-10-20T17:43:47Z")

</div>

## I just published my tutorial!

> [@Darren\_Alderman](#):
>
> ## Tutorial
> 
> ![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/9/c/9c610d8d6abb4da3c19e76b2a48b80ee5c6d9ac0.jpeg "Search a Dataset in @Glide Using the Fetch JSON Plugin #API")

## One amazing JQ feature I found

If you leave the list number blank - so

```auto
.[].meanings[].definitions[].definition

```

instead of

```auto
.[0].meanings[0].definitions[0].definition

```

it will return a list of all definitions in the possible paths.

**This allows me to display all definitions that are returned instead of just the first definition!**

---

<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:** [October 20, 2021, 5:59pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/10 "2021-10-20T17:59:15Z")

</div>

Nicely done—very easy to follow. Nice trick with the HTML formatting.

---

<div class="post-metadata">

**Author:** ![Wiz.Wazeer](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/wiz.wazeer/32/72423_2.png) [@Wiz.Wazeer](https://community.glideapps.com/u/Wiz.Wazeer)\
**Post date:** [October 20, 2021, 6:17pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/11 "2021-10-20T18:17:40Z")

</div>

🔥🔥🔥

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [October 21, 2021, 10:15pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/12 "2021-10-21T22:15:24Z")

</div>

Nice, the problem is, the data is not in sheet’s, so you don’t have control what is showing to the app user, unlike my dictionary app… i have downloaded whole data to my sheet and glide app is managing it.

---

<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:** [October 21, 2021, 10:17pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/13 "2021-10-21T22:17:54Z")

</div>

Could do that now by turning a sheet into an API and then using fetch column. This helped me to achieve that:

> **[Turning a Google Sheet into a REST API](https://www.ravsam.in/blog/turning-a-google-sheet-into-a-rest-api/)**
>
> Turn your Google Sheet into a REST API and access it in any app.

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [October 21, 2021, 10:20pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/14 "2021-10-21T22:20:37Z")

</div>

Then you have to make your sheet public… is ok for public data…  
For private use, i would stick to my method… 😉

---

<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:** [October 21, 2021, 10:22pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/15 "2021-10-21T22:22:12Z")

</div>

The sheet doesn’t have to be public, but the webapp does.

---

<div class="post-metadata">

**Author:** ![Uzo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/uzo/32/22639_2.png) [@Uzo](https://community.glideapps.com/u/Uzo)\
**Post date:** [October 21, 2021, 10:23pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/16 "2021-10-21T22:23:35Z")

</div>

Ones you use yes column, it will be visible… plus you can’t make copyable template from it

---

<div class="post-metadata">

**Author:** ![Wiz.Wazeer](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/wiz.wazeer/32/72423_2.png) [@Wiz.Wazeer](https://community.glideapps.com/u/Wiz.Wazeer)\
**Post date:** [October 22, 2021, 2:50pm UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/17 "2021-10-22T14:50:13Z")

</div>

We know Glide documentation on Experimental Column makes it clear that anything on Replit can be accessed by anyone on the internet. However, if we don’t want anybody to be able to have access to our API/secret passwords/tokens, there is way to keep them a secret by creating an environment variable. Replit has a special way of doing that called a .env file. Anything in an .env file is hidden from the rest of the world. Any other file/script is public, except anything stored in the .env file.

This works with the free tier of [Replit](https://docs.replit.com/programming-ide/storing-sensitive-information-environment-variables).

---

<div class="post-metadata">

**Author:** ![Cristiano\_Cruz](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cristiano_cruz/32/6394_2.png) [@Cristiano\_Cruz](https://community.glideapps.com/u/Cristiano_Cruz)\
**Post date:** [November 24, 2021, 12:14am UTC](https://community.glideapps.com/t/create-a-dictionary-searching-app-using-the-fetch-json-plugin/33298/18 "2021-11-24T00:14:27Z")

</div>

Ok
