We've updated the ServiceNow Community Code of Conduct, adding guidelines around AI usage, professionalism, and content violations. Read more

Table API Best Practices

Jordan Tallet2
Tera Contributor

Hi all, 

Are there any best practices regarding volume of table APIs? We are hitting the table APIs millions of times per day, mostly for GET requests. We're not sure if that is standard or if at that volume we should look at other methods? 

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron

@Jordan Tallet2 

I will recommend not to use OOTB Table API as it gives complete access to all the fields on your table

The table might contain sensitive data.

As per customer requirement you can create Scripted REST API where you have complete control on what API response to give.

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

5 REPLIES 5

Najmuddin Mohd
Mega Sage

Hello @Jordan Tallet2 ,

One advise from my side would be to filter the query as much as possible, so only relevant data is retrieved.

Regards,
Najmuddin

Nayan ArchX
Tera Guru

Hi,

 

https://www.servicenow.com/community/developer-articles/understanding-servicenow-rest-api-rate-limit...

 

 

Throughput Planning : - https://www.servicenow.com/community/developer-articles/understanding-servicenow-rest-api-rate-limit...

 

Large Volume Usage:- https://www.servicenow.com/community/developer-forum/best-practices-on-api-request-rate-limit/td-p/3...

 

Reducing Call Volume:- https://www.servicenow.com/community/developer-forum/help-avoiding-large-number-of-api-calls/td-p/24...

 

 

If my response has resolved your query, please consider giving it a thumbs up ‌‌ and marking it as the correct answer‌‌!

 

Thanks

Nayan Patel

IT ServiceNow Consult, ServiceNow ArchX

If my response has resolved your query, please mark it Helpful by giving it a thumbs up and Accept the Solution

👉https://www.scirp.org/journal/paperinformation?paperid=149299

👉 https://scholar.google.com/ 

KrishnaMohan
Giga Sage

Hi @Jordan Tallet2 

In addition to all comment, optimize your current calls:

  • Filter at the Source: Never pull the whole table and filter in your application. Use sysparm_fields to return only the columns you need.

  • Pagination: Use sysparm_limit and sysparm_offset to pull larger chunks (e.g., 1,000 to 5,000 records per call) rather than one at a time.

 

Also Sharing My thoughts,
We can use Scripted REST API which gives you control over what you can share as API response.

 

If this helped to answer your query, please mark it helpful & accept the solution.
Thanks!
Krishnamohan

 

Tanushree Maiti
Giga Sage

Hi Jordan,

First thing is that we should avoid table API for inserting/updating data into Servicenow though its a easiest and quickest way. Reason being while data got ingested its kind of without validated data. 

You can find more details: ServiceNow Things to Know 60: Avoid using Table AP... - ServiceNow Community

 

Now regarding your query:

  • For page size (sysparm_limit), a value till 2,000 is typically a good balance, but it's best to test and monitor instance performance.
  • Always use sysparm_fields to request only the necessary columns,
  • apply a specific sysparm_query to filter the dataset as much as possible
  • Use sysparm_exclude_reference_link=true to reduce the payload size.
  •  You should avoid using sysparm_display_value=true for large-scale data iteration
  • Retrieve the raw sys_id values and have your client application perform separate, cached lookups for display values as needed

Ref:Solved: Best practice for iterating through a table with t... - ServiceNow Community

Please mark this response as Helpful & Accept it as solution if it assisted you with your question.
Regards
Tanushree Maiti
ServiceNow Technical Architect
Linkedin: