We have bumped into the same issue as you had before while we are trying to extract Marketo data to SQL server database to build some analytic reports, but it turned out to be hared to achieve with Marketo standard API.
Finally, we developed our solution, and you can see my reply in the middle of this post: https://nation.marketo.com/thread/30868
We actually found an out-of-the-box solution for using OData with Marketo - Progress DataDirect. They have a Marketo connection that you can consume with OData (or ODBC, which is faster). It uses the SOAP API rather than the REST API, so it is a little bit slower, but it does what it needs to in a stable and consistent manner - we've been using it for over a year now.