cancel
Showing results for 
Search instead for 
Did you mean: 

Web Services API - Get all records of a report

Anthony
Contributor III

Hello,

 

I am currently working with the Web Services API, I use the "SearchRecordsByReport" operation.

 

In the request body I have to specify a "page number" integer of the report and this request returns only the records in the specified page.

 

Is there a way to get all records only with one request?

 

Regards,

Anthony

1 ACCEPTED SOLUTION

Accepted Solutions

Ilya_Khen
Champion III
6 REPLIES 6

Ilya_Khen
Champion III

Anthony Thuilliez,

 

Nope, you have to respect and do pagination yourself

Sergei Bakhaev had nice demo: https://community.rsa.com/message/914938?commentID=914938#comment-914938 

Thank you for your response Ilya Khen
Nice demo indeed!

Anytime

You *can* increase the page size to a very large number, but if the result set is larger than the page number, you'll need to paginate as Ilya says. 

I think 1000 is a common size for API apps.

Users will need to be use caution when working with this setting, though, as very large page sizes will negatively impact performance, and may also run up against HTTP timeout settings.

DougCampbellBTS
Collaborator II

I agree there could be a performance concern for large reports. But if your search has only a few fields returned (Content ID, Status, etc.), you could build your own XML search criteria. I typically use the Archer Search 2.0 tool written by Jeff Letterman and specify your max records returned and not have to iterate through. I do this a lot in JavaScript Transporter data feeds. No issues so far with ~15k records and 5 fields in the Devices application with great performance.

 

Instead of using SearchRecordsByReport, you use ExecuteSearch instead.

**INACTIVE ACCOUNT - Please contact doug@evalto.com ***