# Tables : Get Rows API error: API Key cannot query tables

**URL:** https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363
**Category:** Ask for Help
**Created:** [April 10, 2023, 3:12pm UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363 "2023-04-10T15:12:35Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Juan\_David\_Tangarife](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/juan_david_tangarife/32/57335_2.png) [@Juan\_David\_Tangarife](https://community.glideapps.com/u/Juan_David_Tangarife)
#### Post date: [April 10, 2023, 3:12pm UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363/1 "2023-04-10T15:12:35Z")

</div>

Greetings everyone.  
I’ve just started building a quite simple application in which I created a table with some fields as “Name”, “Last Name”, among others.

When I try to use the API to get a table’s rows, I get the following error independently of using Bash, Python or JS:  
`{'message': 'API key cannot query tables'}`

I’m using the following python script:

```auto
# Get rows requires Business plan or above
import requests

r = requests.post(
    "https://api.glideapp.io/api/function/queryTables",
    headers={"Authorization": "Bearer xxxxxxxxxx"},
    json={
        "appID": "xxxxxxxx",
        "queries": [
            {
                "tableName": "native-table-xxxxxx"
            }
        ]
    }
)
result = r.json()
print(result)

```

Also, I’m using the following Bash script:

# 

```auto
Get rows requires Business plan or above
curl --request POST 'https://api.glideapp.io/api/function/queryTables' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer xxxx-xxxx-xxxx-xxx-xxxx' \
  --data-raw '{
  "appID": "xxxxxx",
  "queries": [
    {
      "tableName": "native-table-xxxxxx"
    }
  ]
}'

```

Both approaches return exactly the same error as mentioned above.

I’ve tried using another one of the API endpoint, specifically the **Add Rows**. By using the following python script, I’m successfully able to add rows to my table:

```auto
import requests

r = requests.post(
    "https://api.glideapp.io/api/function/mutateTables",
    headers={"Authorization": "Bearer xxxx-xxxx-xxxx-xxxx-xxxx"},
    json={
        "appID": "xxxxx",
        "mutations": [
            {
                "kind": "add-row-to-table",
                "tableName": "native-table-xxxxxx",
                "columnValues": {
                    "Name": "new name by api call",
                    "AGK0b": "new lst name",
                    "Email": "aaa@ubidots.com",
                    "m8C8b": "1993",
                    "Photo": "Photo"
                }
            }
        ]
    }
)
result = r.json()
print(result)

```

This is the result ( I executed the script twice)

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

Given the fact that I can add rows to this table, leads me to think that there is nothing wrong with my API key permissions to edit said table. With that in mind, I really can’t tell what am I missing over here regarding this subject. Help is greatly appreciated.

Best regards

---

<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: [April 10, 2023, 5:22pm UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363/2 "2023-04-10T17:22:33Z")

</div>

Perhaps a silly question, but do you have a Business Plan?

---

<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: [April 11, 2023, 12:19am UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363/3 "2023-04-11T00:19:33Z")

</div>

I think this might be the likeliest source of the problem, to be honest.

---

<div class="post-metadata">

### Author: ![Juan\_David\_Tangarife](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/juan_david_tangarife/32/57335_2.png) [@Juan\_David\_Tangarife](https://community.glideapps.com/u/Juan_David_Tangarife)
#### Post date: [April 11, 2023, 6:59pm UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363/4 "2023-04-11T18:59:38Z")

</div>

Greetings @Darren_Murphy and @ThinhDinh.

As you mention, I possess a Business Plan.

---

<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: [April 11, 2023, 11:58pm UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363/5 "2023-04-11T23:58:51Z")

</div>

Then that’s weird. I would suggest submitting a ticket.

> [@How to open a support ticket?](https://community.glideapps.com/t/how-to-open-a-support-ticket/59883/2):
>
> Please note: the option to create a support ticket is only available if your App is in a Pro, Business or Enterprise Team. If you need help with a Billing Issue (on any plan), you should open a Billing Enquiry via the [Glide Support Page](https://www.glideapps.com/support). To create a Support Ticket: Open the App that is giving you problems, and go to Settings → Contact Support: Glide will prompt you to create a support link for your App. Click on Create Link:

---

<div class="post-metadata">

### Author: ![snooprussyruss](https://avatars.discourse-cdn.com/v4/letter/s/e495f1/32.png) [@snooprussyruss](https://community.glideapps.com/u/snooprussyruss)
#### Post date: [April 19, 2023, 9:05am UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363/6 "2023-04-19T09:05:00Z")

</div>

Hi Juan, has Glide managed to fix this for you yet? I am having the same issue.

Russ

---

<div class="post-metadata">

### Author: ![Muhammed\_Emir](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/muhammed_emir/32/44830_2.png) [@Muhammed\_Emir](https://community.glideapps.com/u/Muhammed_Emir)
#### Post date: [June 22, 2023, 9:47am UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363/7 "2023-06-22T09:47:04Z")

</div>

After implemented the code and had same problem then came here to realize that reading rows doesn’t work in pro plan 😐 and only for wealthy Business plan users, like comon!..

and really, why reading rows is “Advanced API”

---

<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: [June 22, 2023, 11:55pm UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363/8 "2023-06-22T23:55:49Z")

</div>

I believe that it might cost Glide more to run that, since the standard call will return all rows in the table. It might be costly for them to do that query on the firebase side. Just my guess.

---

<div class="post-metadata">

### Author: ![Muhammed\_Emir](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/muhammed_emir/32/44830_2.png) [@Muhammed\_Emir](https://community.glideapps.com/u/Muhammed_Emir)
#### Post date: [June 23, 2023, 7:08am UTC](https://community.glideapps.com/t/tables-get-rows-api-error-api-key-cannot-query-tables/60363/9 "2023-06-23T07:08:58Z")

</div>

yes thats true, but maybe give me raw data (without computed fields) with basic reads as normal API and put full reads with computed columns behind the paywall and that would make more sense to me. I know firebase is pretty generous with their plans in such scenarios

because at then end of the day, I just bypassed glideAPI and went directly to talk to gsheets through googleapis
