You can use the SigParser email signature parsing APIs to get the contact data for each email sender. But when you save it to your database you need to handle some edge cases to get the best results.
Coworker phone numbers assigned to external contacts
If 1000 emails for john@mycompany.com are parsed and John has his phone number in his email signature it isn't uncommon to find John's phone number being assigned to the people John is emailing with.
This happens because an email splitting error can miss an email split. This then makes it look like the recipient of the email has John's email signature. SigParser tries to prevent this but it isn't 100%.
Solution: Keep track of the phone numbers commonly found for coworkers. If that phone number appears on an external contact then the phone number is likely not valid.
Don't build a warehouse of contacts from parsing signatures if you can avoid it
Just use the full SigParser application. It will handle any errors, deduplication of contacts, enrich them and expose a set of APIs to fetch the contact details.