Print

Error Messages

You may encounter various error messages while using the API Connector add-on for Google Sheets. While there may be some overlap, these error messages can generally be categorized as follows:

API Connector Errors

Google Quotas and Limits

Since these limits or issues are on Google's side, we can't always resolve them, but we've listed solutions and workarounds where possible.

API Server Errors

Sometimes we successfully send the request, but the API itself responds with an error message. These are reported as follows:

IMPORTAPI Custom Function Errors

Certain error messages are encountered only while using the custom ImportAPI function. For more information on these errors, see this article:

Error Messages

403. That's an error. We're sorry but you do not have access to this page.

This error is related to being logged into Google Chrome with multiple accounts at the same time.

To resolve, you'll need to separate your Google account logins. This can be done in a number of ways:

  • log out of all Google accounts and then log in first with the account you are using with Google Sheets (you can log back into the other Google accounts after that)
  • log in with an incognito window
  • use a separate Chrome profile
  • use a different web browser

Bad Request Error 400
This action is not supported while logged into multiple accounts in the same domain

These errors occur when logging into a Google service (e.g. Google Analytics, Google Ads, etc.) that is different from the Google account you're using with Google Sheets.

Unfortunately there is a long-standing issue on Google's side related to signing in with multiple Google accounts at the same time (info). Google doesn't support logging into extensions with multiple Google accounts.

Currently the only solution is to use the same account with Google Sheets that you are using with your Google service. You may want to transfer your Mixed Analytics account to a different email address.

Completed successfully, but report was truncated. Free users are limited to 1000 rows

This message is a notification rather than an error. It means the request ran successfully, but API Connector only printed out 1000 rows because the user is on API Connector's Free plan.

Error: Count of request URLs should match count of request bodies

When running a multi-query request with both multiple request URLs and multiple request bodies, the counts must match, e.g. if you have 3 request URLs, you must have 3 request bodies.

Error: Please enter destination sheet

You'll see this error if you run your request without a destination sheet. To resolve, set a destination sheet in your request before clicking Run.

Error: Please enter API URL path

All custom API requests must contain a request URL. This URL should consist of at least a domain name and endpoint, e.g. www.apisite.com/v1/data. Optionally, it can also contain query strings, e.g. www.apisite.com/v1/data?query=A&query=B.

Exception: You have exceeded the property storage quota. Please remove some properties and try again
Failed to save custom headers

These errors mean that you've run into Google's 500kb properties limit mentioned here: https://developers.google.com/apps-script/guides/services/quotas#current_limitations. These storage properties are your own personal data store used for saving data tied to extensions and scripts you're using.

To reduce your saved properties, disconnect from any extra saved OAuth connectors, delete unused saved requests wherever possible, and refresh fields in the field editor to remove saved field headers.

Failed to run request

This error indicates that the request is unable to complete successfully, but neither the API nor Google returned any specific information about the cause of the problem. The primary known cause of this error is a request that takes too long to complete and therefore hits Google's 6 min/request processing limits as described here.

To address, try the troubleshooting tips listed here: https://mixedanalytics.com/knowledge-base/troubleshooting-api-requests/#timeout

Failed to save request as the name already exists

All API requests must have a unique name. If you re-use a name that already exists, the request will not save. To resolve, change the request name and retry.

Google Quota Exceeded: Data Too Large

Google only allows URL Fetch response sizes of 50mb (info).

If your request returns a data payload larger than 50mb, Google will reject the request with a "data too large" error message.

The only solution for this issue is to change the request such that it returns less data from the server, e.g. by reducing the date range or record count. Editing out fields via the field editor or through JMESPath will not work, since those filters are applied only after Google retrieves data from the API server.

Limit Exceeded: URLFetch URL Length

API Request URLs can not be longer than 2048 characters (info).

As a workaround you can use a URL shortener tool, e.g. https://tinyurl.com/

OAuth2 connections are not available on this plan

This error occurs when an OAuth connection is selected and run by a user whose subscription plan doesn't enable access to OAuth.

To see which features are available on your subscription plan, open the Account screen in API Connector and navigate to the Usage tab.

Request failed: Access not granted or expired.

This error occurs when you use the OAuth 2.0 connection feature of API Connector. It means your connection hasn't been activated, or access has expired. To resolve, navigate to the Connections screen and make sure your OAuth 2.0 connection is active. If you are not using a preset OAuth 2.0 connection, make sure you've selected Authentication = None.

Request failed: Attribute provided with invalid value: Header:#######

This means you've entered a header key that is not accepted by Google. The affected header key will be printed out where it reads ##### above. To resolve:

  • Try removing the header key entirely. Certain keys (e.g. "Host" and "X-Forwarded-For") are unacceptable to Google because they are automatically added by Apps Script and can't be overridden.
  • The header key may be incorrect, so also check the API's documentation and make sure you've entered the header key exactly as written.

Request failed: Bad request

This means the API URL hostname is malformed. A request like http://87000 would trigger this error.

  • Make sure you've entered a valid API URL, including a full hostname.
  • Make sure your request doesn't inadvertently include line breaks. Each line needs to contain the complete URL; if there's a line break, API Connector reads it as a "new" request.

Request failed: Data storage error

This is an occasional, temporary bug on Google's side related to the getProperty() method for saving triggers and requests. Bug reports have been filed and acknowledged.

If you receive this error, please wait and try your request again later.

Request failed: DNS error

This means the server you're trying to reach doesn't exist or isn't responding. Check if your server has reported any outages. If not, double-check your request URL and run again.

Request failed: Data response not in JSON, XML, or CSV format

This error occurs when the data is returned in a format that isn't supported and can't be converted into a tabular format for Sheets, e.g. an image or invalid JSON.

A common cause of this error is a request containing an invalid JMESPath expression. To determine if this is the issue, export the raw API response, and run it through the JMESPath expression tester to check if the query produces valid JSON.

Request failed: Invalid JSON in request body

This error occurs when your request body contains invalid JSON.

To automatically fix invalid JSON, you can run your request body through a tool like https://codebeautify.org/json-fixer.

Request failed: multi-query requests may only include 1 range per line

A request URL can reference one range of cells only, e.g. https://api.com?site=+++Sheet1!A1:A10+++ is permissable, while https://api.com?site=+++Sheet1!A1:A10+++&from=+++Sheet2!A1:10+++ is not. If you have multiple variables, first construct the URLs in your Sheet such that each multi-query request contains a single range.

Request failed: Range not found

This occurs when the request's Destination sheet settings don't point to a valid cell.

To resolve, make sure that the value in the "cell" field is the location of a cell, e.g. A1.

Request failed: The number of columns in the data does not match the number of columns in the range

This error is related to merge mode. When using merge mode, the new data being merged must have the same number of columns as the existing data set.

Request failed: This action would increase the number of cells in the workbook above the limit of 10000000 cells.

Google Sheets permits a maximum of 10 million cells per sheet. Therefore, you will see this error message from Google if your request would cause your sheet to surpass the limit. To address, try any or all of the following:

  • Delete any unused tabs, rows, and columns from your worksheet. Empty cells count towards the total cell limit.
  • Run your request in a fresh new sheet
  • Split your requests into separate worksheets
  • Limit the size of the data response you’re requesting
  • Use the field editor or JMESPath filters to print out fewer fields
  • Change the report style to compact or grid as these styles generally occupy fewer columns.

Request failed: Your input contains more than the maximum of 50000 characters in a single cell

This error occurs when the data response includes a field that contains more than 50k characters. This occasionally occurs when pulling from APIs containing text fields with a lot of content. To resolve, use the field editor or JMESPath filters to filter out the field containing too many characters.

Request processed, no records found

This means there are no records to display. If you were expecting data in the response, check the following:

  • make sure you've entered the correct API request URL
  • remove or edit query strings that could be filtering the results, such as dates and IDs
  • remove any JMESPath expressions or field filters as they could be filtering out your results.

Request failed: Service Spreadsheets timed out while accessing document with id

This is an error from Google typically associated with large or complex sheets.  You can see some reports and information about this error in Google's bug tracker here (add a star for visibility and updates).  The problem seems to be related to sheets that require a large amount of processing time.

Until Google fixes this reliably, one of the ways to fix this issue is to simply make a copy of the sheet. 

Another possibility could be to fetch your data into a new, fresh sheet, and then use a function like IMPORTRANGE to pull the data into your existing sheet.

Service invoked too many times for one day: urlfetch
Service using too much computer time for one day
Exceeded maximum execution time
Too many simultaneous invocations

These (and similar) error messages come from Google and are described here: https://developers.google.com/apps-script/guides/services/quotas.

Google applies these limits on a per-user basis (i.e. each email address gets its own limit), and sums together all the processing time and fetches from all the sheets you're using. This includes all scripts, functions, and other extensions that you may be running in addition to API Connector.

The most common cause of this issue is that you've exceeded Google's 20k/day "urlfetch" limit. To resolve this issue, check the following steps:

  1. First check all the scripts you're running through Google's servers by navigating to https://script.google.com/home/executions.
  2. In the column named Projects, if you primarily the names of extensions other than API Connector (e.g. "ImportJSON"), then you'll need to reduce usage of those scripts and extensions.
  3. If you primarily see "API Connector", then this issue is likely due to excess requests run through API Connector. In that case, one common source of this issue excessive re-calculations. Please check this article for information on preventing the IMPORTAPI custom function from re-calculating.

Too many errors, request paused

API Connector may automatically stop running a request through automated functions (IMPORTAPI or triggers) if the request returns too many errors.

To reset the counter and enable the request to run automatically again, successfully run the request once, or simply open and re-save it.

Requests run manually through the sidebar are not affected by error limits.

Users can only run X requests per month

Each API Connector plan has a monthly request limit, as shown on the pricing page. These monthly requests reset on the 1st of the month (UTC time). If the user's request count exceeds the limit, no further requests will be run until the new month begins.

Each successful API request counts as one request. Paginated and multi-query requests run an API request for each loop, so if you request 2 pages or 2 different URLs, that will be 2 API requests.

We received an error from xyz.com (###)

This error message occurs when the API you're trying to connect to refuses to run your request and has returned an HTTP Response Status error code.

First, click "show response" to see the exact error message returned by the server. This will often alert you to the specific nature of the problem.
error-messages-img1

Since these errors come from the application's server, not from API Connector, you may need to check their API documentation to resolve the issue. You can also look up the HTTP error code displayed within the parentheses. This site contains brief explanations for all error codes: https://httpstatuses.com.

We received an error from googleapis.com (403) - Request had insufficient authentication scopes

This error is a specific case of the more general "We received an error" error message above. This error occurs when the connector's OAuth service has not been fully authorized for Google Ads, Google Analytics, or other Google services.

To resolve, disconnect and then reconnect the Google application, making sure to enable any permissions requested during the authorization process.

Other

In some cases, API platforms will accept a request but return an error message containing additional requirements or information as their response. In those cases, their custom error message will be displayed in the output sheet.

63 thoughts on “Error Messages”

  1. Hello, I have used your template and I think I follow the configuration steps well but it gives me the following error:

    Status
    ERROR: Pagination can not be applied to multi-query requests.

    Reply
    • Hi there, pagination handling is a function that loops through a URL and runs a request multiple times. Multi-query results run through a list of URLs and run multiple requests in a single call. Since these 2 functions both run multiple requests, they can’t be used together. To resolve, please remove pagination handling (under Output Options) or make sure you’ve entered only one URL into the URL field. I’ll add this error message to the list, thanks for pointing it out!  

      Reply
  2. Hello, thanks a lot for your tutorials, they are very clear. I tried to follow your tutorial to connect the facebook API to google sheet, but when I do the API request in the API connector, I get "Request processed, no records found".

    My page have data though. Is there a reason why no data are retrieved by the API ?

    Thank you for your help

    Reply
    • Hi Arthur, thank you for the message. That message just means that Facebook hasn't sent back any response data (which means your URL is requesting data that doesn't exist). For example, you may have included a filter for an unavailable metric or account ID, or requested fields that don't contain any data. Can you get any response data back? I suggest running a very simple request first to confirm that you have the right account ID and base URL, and then adding on metrics and complexity after that. If you share your URL with me I can also take a look.

      Reply
  3. Hello, thank you for your clear tutorials. I've encountered an error message ; "Server responded with an error (500)". It seems this error occurs when internal server have problems. Can you explain more about this issue?

    Thank you for your help.

    Reply
    • Hi Sean, thank you for the message and sorry you're having trouble with your request. You can read about this error message here, but basically a 500 Internal Server Error is a generic error message from your API (not from API Connector) meaning that something has gone wrong but the server hasn't provided any information on the problem. So we really can't say much about it.

      I suggest following the API documentation exactly and running a very simple request to check if you can at least establish a basic connection. If you continue to see this error even after that, you would need to reach out to the API and see if they have any server logs that can provide more information into the exact nature of the problem.

      Sorry for the inconvenience, but I hope that helps clarify where this error comes from. If you share your API docs and sheet with me, I'll be happy to take a look too.

      Reply
  4. Hi Hagay, OAuth2 connections are only for Business users, but you registered as a Pro user, so that's why you received this error message. You can see the difference between the plans here: https://mixedanalytics.com/api-connector-pricing/

    If you had access before, and now you don't, the most likely reason is that you installed the add-on within the past week. When you install the add-on, you receive a free trial that temporarily activates all features, including those from the Business plan.

    Sorry for any inconvenience, let me know if you have any other questions or would like to cancel/refund your subscription.

    Reply
  5. Hi, i ran into this error, please help me

    Completed with errors
    - Server responded with an error (403) show response ERROR: The request could not be satisfied 403 ERROR The request could not be satisfied. Request blocked. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. Generated by cloudfront (CloudFront) Request ID: z_FQKimUJf6qa-PDBBGPHXWyXmUK55tCCl-Y0UqbN11vXWrcAr851w==

    Reply
    • Hey Bryan, 4xx errors come from the server, not from API Connector, so you would need to contact them to see why they're giving you this error. Based on the error message, though, it's related to Cloudfront, so I suspect it's related to bot protection. You can try running this request in an API tool like Postman to see whether they are injecting a Cloudfront page in front of the data.

      Reply
  6. Hi, API works fine for most time but lately it started popping out this message:

    Status
    Completed with errors

    No other info aside that. It doesn't refresh any data though. Any thoughts why this happens and how to bypass it? Thank you!

    Reply
    • Hey Zika, please run the requests individually from the Create screen to see individual error messages for each request URL. You can also enable logging for your requests from the Schedule screen, that will also help you identify which specific requests are failing. Finally, if it’s only failing sporadically, I suspect you’re running into rate limits from your API, which API is it?

      Reply
  7. Hi, i tried to request but here's the result
    Completed with errors
    - Server responded with an error (503) show response 503 Service Temporarily Unavailable 503 Service Temporarily Unavailable

    Reply
    • Hi there, this is an error from the server (i.e. the API), not API Connector. They are saying they are temporarily unavailable, which means you need to wait and try again later. Which API is it? I can help you check their documentation if you like.

      Reply
  8. Hi, I use to get this error

    Completed with errors
    - We received an error from the API server (429)

    show response

    Throttled

    Do you know how to solve it?

    Reply
    • Unfortunately we can't do anything about CoinGecko error messages as the error is on their side. I suggest trying CoinMarketCap's API instead.
      Update: CoinGecko now supports API keys, which avoid the issue of shared rate limits.

      Reply
      • I read somewhere as follows: your instance of Sheets is running on a Google server, where a great many other users' instances of Sheets are also running.

        If a number of these other users are also making requests to CoinGecko, CG "sees" these as coming from one source (ie, the server), and so the maximum requests can very easily be exceeded.

        AFAIK, this is an inherent problem with using Sheets, as opposed to, say, Excel.

    • See my explanatory post above (or below?).

      Further to that post, I suspect it can be aggravated by users who use a Trigger to keep refreshing data, especially within a few minutes.

      I have the same issues, but I've found it's less of a problem at certain times of the day.

      I'm also going to try closed *all* instances of Sheets I may have running, then re-opening a Sheet to see if it works better - in the hope that it ends up running on a server that's not overloading CoinGecko will requests.

      Reply
      • Yeah, I've written about this issue in a few places on this site, e.g. here. You're right, it's definitely made worse by people refreshing excessively. I think the best solution is just to use one of the many crypto APIs that don't limit by shared IP address, for example CryptoCompare or CoinMarketCap. They limit by personal API keys instead, which avoids this problem.

  9. "Free users can only run 250 requests per month. Please upgrade for more."

    I didn't want it to make 250 requests. How can I set the number of requests?

    Reply
    • Hey Erkan, requests only run when you click Run (unless you're using IMPORTAPI, but the 250 request limit doesn't apply to IMPORTAPI usage anyway). So you would just need to check and limit your own usage, since we don't have a way to stop you from hitting Run 😀 Or are you saying your requests are running without you knowing?

      Reply
  10. Hello, I've been receiving this message for the last few days.
    Request failed for https://pro-api.coinmarketcap.com returned code 401. Truncated server response: { "status": { "timestamp": "2021-12-15T09:59:32.318Z", "error_code": 1002, "error_message": "API key missing.", ... (use muteHttpExceptions option to examine full response).
    I've tried to change the api to different account, but then I get IP blocked.

    Reply
    • This error is from CoinMarketCap, not API Connector, so I can't say too much, but based on the error message, your API key is missing.
      If you'd like me to take a look at your request please send us a message through support.

      Reply
  11. Hi,

    I'm getting the following error:

    1) Shopify to Google Sheets: Completed with errors
    - We received an error from myshopify.com (403) show response

    {"errors":"[API] This action requires merchant approval for read_orders scope."}

    Any help diagnosing this or pointing in the right direction would be appreciated.

    Thanks in advance!

    Reply
  12. I am seeing this error when setting up a connection to Facebook Ads - Are others getting similar issue when it ought to be working?
    1) Facebook ads API: Completed with errors
    - We received an error from facebook.com (400) show response
    {"error":{"message":"Unsupported get request. Object with ID 'act_x' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https:\/\/developers.facebook.com\/docs\/graph-api","type":"GraphMethodException","code":100,"error_subcode":33,"fbtrace_id":"AMP-YRTtLbprSliTzssy0JJ"}}

    Reply
  13. Hi,
    I am trying to test our API that work very fine. but I received this error message:
    Completed with errors
    - We received an error from azurewebsites.net (415) show response{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.13","title":"Unsupported Media Type","status":415,"traceId":"00-259c61b46517c547820b9a9bdbc25326-074701d1bb6be446-00"}

    Please could you help?

    Reply
    • I searched online and it could be related to an incorrect content-type header, but not necessarily. Can you please try your request in a different API client like Postman? If it works there but not in AC, please send a message with some details about your request so I can look into it.

      Reply
  14. Hi there,
    I've been getting this error:

    Completed with errors
    - We received an error from googleapis.com (502

    Any pointers as to why we're seeing this? Haven't been able to refresh data from GA4 for a week now.

    Thanks!

    Reply
    • Hi Irina, I just tested a GA4 request and it ran without issue. Can you please share your request URL and request body so I can check them on my side?

      Reply
    • The "Failed to run request" section above has some tips on speeding up your request, or feel free to contact support if you'd like me to take a look and give more specific suggestions for optimizing your query. Though 30 requests a minute doesn't sound very slow to me.

      Reply
  15. The specified CGI application encountered an error and the server terminated the process - Did you meet such an issue? Do you know how to handle it?

    Reply
    • Sorry, haven't seen this before, it's not an error message on our side so I assume you're seeing this as a response from an API? In that case you'll need to check with them to see why they're sending this error. Or if you'd like to share which API you're working with, I can help you check out their docs.

      Reply
  16. Hi Ana! I want to put a POST request on some site. When I am run a request it gets "Request failed: Invalid POST body data". Spent a lot of time and can't understend what is wrong. My request body is looks normal
    {
    "asset": "BTC",
    "fiat": "USD",
    "merchantCheck": False,
    "page": 1,
    "payTypes": [],
    "publisherType": None,
    "rows": 1,
    "tradeType": "BUY",
    "transAmount": ""
    }

    I am also did exact same POST request on python with this body and it's ok. I am also googled that body data has to be json (requests.post(path, headers=headers, json=data)) and not data (requests.post(path, headers=headers, data=data)). Perhaps this is causing the error?
    How can I fix this issue?

    Reply
  17. "First, click “show response” to see the exact error message returned by the server. This will often alert you to the specific nature of the problem."

    Is there any way to show error response on google sheet cell when I use importAPI?

    Reply
    • ImportAPI will only show the error code and error message summary, it won't show the full response from the server. To see the full response you'll need to run the request via the sidebar.
      Update: ImportAPI will now display the complete error message.

      Reply
  18. Hi

    This is the Report Status showing up when I try to import Instagram Insights:
    1) : Completed with errors
    - We received an error from facebook.com (400) show response

    I’ve entered the account ID correctly and approved all requirements for the extension through FB so I’m not sure what else to try.

    Reply
  19. Hi Ana,
    I had an API Connector request connected to Pipedrive that worked fine before and today, when I wanted to run it, I got this error: Request failed: Cannot read properties of null (reading 'replace'). Do you know what might be causing it or what does it mean?

    Reply
  20. hi can anyone look at this error when I connect google sheet with shipstation ?

    Completed with errors
    - We received an error from shipstation.com (400) show response
    {"Message":"The request is invalid.","ModelState":{"request.weight.value":["Error converting value {null} to type 'System.Decimal'. Path 'weight.value', line 1, position 101."],"request.dimensions.length":["Error converting value {null} to type 'System.Decimal'. Path 'dimensions.length', line 1, position 162."],"request.dimensions.width":["Error converting value {null} to type 'System.Decimal'. Path 'dimensions.width', line 1, position 173."],"request.dimensions.height":["Error converting value {null} to type 'System.Decimal'. Path 'dimensions.height', line 1, position 185."]}}

    Reply
  21. 1) API: Completed with errors
    - We received an error from (401) show response
    {"errors":[{"title":"You do not have access to the API.","status":401}]}
    OK

    Am getting this error where as in postman am able to fetch the api but here am getting the above message please help me out what should i do ?

    Reply
    • If a request works in Postman it should work in API Connector, so please double check that you've configured your request correctly. Another possibility would be that the API has blocked access via Google's user agent, but that's pretty rare. Which API is it?

      Reply
      • It's an API from a saas product ( biolink page ) By the way if this is the case as u told like the google's user agent then how to resolve that if that's the case that is!!

      • I'm not familiar with that API and couldn't find their docs online so I can't check their policies. But there's no way for us to change Google's user agent, so the only way around that would be for the API to stop blocking requests made through Google's servers. Though as mentioned, I think it's more likely the API key hasn't been entered correctly.

  22. We are receiving 403 errors back from the 3rd party API we are connecting to. The errors are not consistent and one time it will work and then next time it won't. We have the 3rd party looking into server logs and they are asking for the public IP addresses that API Connector uses so that they can investigate further on their end. Do you have this information somewhere?

    Reply
    • Hey Ron, all requests run through Google's servers, which use a pool of dynamic IP addresses. If you want to see the IP address which is being used at any given moment, you can check the integrated "httpbin" API, and run a request to the /ip endpoint. Or, if you'd like to see the full list of possible IP addresses used by Google, please see here.

      Reply

Leave a Comment

Jump To