Best practices for comparing outbound list (sent outside Pipedrive) with Pipedrive

Hi everyone, we have ca. 100K companies in our CRM and would like to check from an outbound list which leads might already be customers or prospects. We have several ideas, but they don’t seem like best practices yet - maybe you can advise a better workflow:

  1. Exporting Pipedrive deals through Coupler to Google Sheet and then running different indexmatch formulas to spot overlaps. This often crashes for the 100,000 records.
  2. Calling a Zapier Zap (e.g. from Google Sheet) to look up the value with a custom API call from Zapier. This is tedious and costs a lot of Zap tasks.
  3. Using Google Sheet app scripts. Here it is a challenge, how we can build a scalable workflow that does not hit Pipedrive’s usage limits. Manually dragging down formulas for many cells and waiting is one approach but not efficient and can fail due to several reasons.
  4. Using Clay and lookup person / deal - but I currently face some difficulties with that approach as the matched results do not make sense and I sometimes seem to hit the rate limit.

Thus, I would be very curious if you can help point to a more effective workflow for checking a list of leads against our existing Pipedrive data.

Thanks a lot in advance!