Best Practices: How do I pass a mass collection, specifically ids, as API parameter?

I have a custom module, I added a list view action that calls a custom API.

I have a couple of options in mind:

1) call the API once per ID of the potentially hundreds of selected items,

2) call the API passing the mass collection as a parameter (can I do that? what kind of object do I get in the php to retrieve the ids from?)

3) call the API passing a long string of IDs to be parsed at the other end (how long can you go before the URL for the API call gets too long? Hundreds of IDs can make for a pretty long string....

Any suggestions on how to best approach this issue?

thanks,

Francesca