Since Salesforce is a shared platform, I don't think it likely that you'll find something that you could use that doesn't have some sort of limit attached.
A SOQL query through the REST API sounds like the right tool for the job here.
In addition to David's answer, if you do end up running into the API call limit, you can always use caching (on your external (to Salesforce) server) to reduce the API load. There are a multitude of caching strategies you could use (which trade API call load, complexity, and data freshness).
For example, if you were to run the API call once and simply cache the results for 5 minutes, then the maximum number of calls that you would make in any given 24-hour period is 24 * 60 / 5 = 288 (less than 2% of the minimum number of calls you can make)