Skip to main content

What is the server-side timeout for MyGeotab API (/apiv1) requests?

DaichiMiura-2136
Original Poster

Hi Geotab Community,

I'm integrating with the MyGeotab API using JSON-RPC over HTTP POST to:

https://my.geotab.com/apiv1

I would like to know the server-side timeout for MyGeotab API requests.

Specifically, does MyGeotab terminate API requests after a fixed amount of time on the server side, API gateway, or backend?

For example, if I call methods such as:

  • Authenticate
  • Get for Device
  • Get for LogRecord
  • Get for StatusData

is there a documented maximum request processing time before the server returns an error or closes the connection?

I checked the MyGeotab API documentation, but I could not find a clear statement about the server-side timeout value for /apiv1.

Any official reference or guidance would be appreciated.

Thanks!

Join the conversation

You need to be logged in to reply to this post and participate in the Geotab Community discussions.

Top Answers

EishiFUN
Geotabber

Hello @大地 三浦​ ,

 

Thank you for such a well-structured question and for asking it here in our community. I am not a developer and I did use an AI tool to help me put these sources together to address your questions. If you have any follow up questions or anything doesn't make sense I will be happy to pull in one of our developers.

  

The honest answer is: Geotab does not publicly document a server-side timeout value for /apiv1 requests. Here is what the documentation does and does not say, broken down by what you asked.

 

 

 What Is and Isn't Documented

  

 The 300-second figure is client-side, not server-side. The MyGeotab Python SDK sets a default timeout=300 parameter on the HTTP client — this controls how long your process waits before abandoning the connection and raising a TimeoutException. It says nothing about when the Geotab server itself would terminate a long-running request. There is no official Geotab documentation that states a server-side timeout value for standard /apiv1 calls.

 

 The one exception: GetFeed has a documented per-request timeout.

 The API reference explicitly states a 180-second timeout applies to GetFeed requests. This is the only method where a server-side time limit is formally documented.

 

 Rate limits and result limits are documented separately.

 These are not timeouts but are worth knowing if you are making heavy queries:

 - GetFeed for StatusData, LogRecord, FaultData, Trip, etc. is rate-limited to

 1 request per second per user+database

 - Get requests that return more than 500 MB of data result in an OverLimitException

 - Result sets are implicitly capped server-side (50,000 records for some entity types, with more to follow)

 

 Practical Guidance

  

 For Authenticate and Get Device — these are lightweight and will complete in well under a second under normal conditions. Timeout is not a practical concern.

 

 For Get LogRecord and Get StatusData — the risk is not timeout but result size. If your query spans a wide date range or a large fleet, you will hit result limits before you hit any time limit. Use fromDate/toDate with narrow windows and paginate via GetFeed for bulk retrieval.

 

 The safest design approach regardless:

 - Set your HTTP client timeout to at least 300 seconds for heavy Get queries

 - Use GetFeed for large data pulls rather than open-ended Get — it is designed for that pattern and its 180-second server limit is predictable

 - Handle OverLimitException and retry with a narrower date range

 

 If you need a definitive answer I can talk with our developers or we can make a support case to see if we can get more information that may not be publicly documented.

 

 Please let us know if you have any other questions. We are here to help.

 

 Have a great day!

 Eishi FUN

 

 Sources:

 - MyGeotab Python SDK — timeout parameter (https://mygeotab-python.readthedocs.io/en/latest/api.html)

 - Geotab Result and Rate Limits — Geotab Blog (https://www.geotab.com/blog/result-and-rate-limits/)

 - Better Practices for the MyGeotab API — Geotab Blog(https://www.geotab.com/blog/better-practices-mygeotab-api/)

 - MyGeotab API Concepts — Geotab Developers (https://developers.geotab.com/myGeotab/guides/concepts/index.html)

3 Replies

EishiFUN
Geotabber

Hello @大地 三浦​ ,

 

Thank you for such a well-structured question and for asking it here in our community. I am not a developer and I did use an AI tool to help me put these sources together to address your questions. If you have any follow up questions or anything doesn't make sense I will be happy to pull in one of our developers.

  

The honest answer is: Geotab does not publicly document a server-side timeout value for /apiv1 requests. Here is what the documentation does and does not say, broken down by what you asked.

 

 

 What Is and Isn't Documented

  

 The 300-second figure is client-side, not server-side. The MyGeotab Python SDK sets a default timeout=300 parameter on the HTTP client — this controls how long your process waits before abandoning the connection and raising a TimeoutException. It says nothing about when the Geotab server itself would terminate a long-running request. There is no official Geotab documentation that states a server-side timeout value for standard /apiv1 calls.

 

 The one exception: GetFeed has a documented per-request timeout.

 The API reference explicitly states a 180-second timeout applies to GetFeed requests. This is the only method where a server-side time limit is formally documented.

 

 Rate limits and result limits are documented separately.

 These are not timeouts but are worth knowing if you are making heavy queries:

 - GetFeed for StatusData, LogRecord, FaultData, Trip, etc. is rate-limited to

 1 request per second per user+database

 - Get requests that return more than 500 MB of data result in an OverLimitException

 - Result sets are implicitly capped server-side (50,000 records for some entity types, with more to follow)

 

 Practical Guidance

  

 For Authenticate and Get Device — these are lightweight and will complete in well under a second under normal conditions. Timeout is not a practical concern.

 

 For Get LogRecord and Get StatusData — the risk is not timeout but result size. If your query spans a wide date range or a large fleet, you will hit result limits before you hit any time limit. Use fromDate/toDate with narrow windows and paginate via GetFeed for bulk retrieval.

 

 The safest design approach regardless:

 - Set your HTTP client timeout to at least 300 seconds for heavy Get queries

 - Use GetFeed for large data pulls rather than open-ended Get — it is designed for that pattern and its 180-second server limit is predictable

 - Handle OverLimitException and retry with a narrower date range

 

 If you need a definitive answer I can talk with our developers or we can make a support case to see if we can get more information that may not be publicly documented.

 

 Please let us know if you have any other questions. We are here to help.

 

 Have a great day!

 Eishi FUN

 

 Sources:

 - MyGeotab Python SDK — timeout parameter (https://mygeotab-python.readthedocs.io/en/latest/api.html)

 - Geotab Result and Rate Limits — Geotab Blog (https://www.geotab.com/blog/result-and-rate-limits/)

 - Better Practices for the MyGeotab API — Geotab Blog(https://www.geotab.com/blog/better-practices-mygeotab-api/)

 - MyGeotab API Concepts — Geotab Developers (https://developers.geotab.com/myGeotab/guides/concepts/index.html)

DaichiMiura-2136
Original Poster

Thank you for the detailed explanation and for putting the sources together.

 

I understand that there is no publicly documented server-side timeout value for standard /apiv1 requests, and that the 300-second value is a client-side timeout in the Python SDK.

 

I also understand that GetFeed is the exception where a 180-second per-request timeout is documented, and that for LogRecord and StatusData, we should design around result size limits and OverLimitException rather than relying on a specific timeout value.

 

Thank you again for your support.

EishiFUN
Geotabber

Glad I could help! Thank you for asking the question here in our community. Hopefully this discussion post is able to help others in the same position for years to come!

Still have questions?