You are asking a lot of questions here. I can't answer these. But I can explain my own situation.
I have been using Google API for API conversion of old New Zealand Electoral Rolls.
Here's an example:
One Area Electoral Roll contains around 50 JPG file images. Each image contains around 400 names/address/job description.
My testing convinced me that Google OCR gave the best results. Significantly better than say Tesseract OCR
Basically speaking my setup is:
OCR conversion - Google script using Drive API
Google Drive Export - Node Javascript with Google Authentication
File Naming/Administration - Powershell script
Error correction/Formatting - Python script using libraries: difflib, re, and many others. I have also used publicly available street name files to build my own Python dictionaries for street-names, street-types & suburbs. These are used with the above Python modules to correct a lot of text errors.
I am close to finishing. My objective is to output the data as SQL inserts (files formatted for SQL database input)
Usage example:
(i) I want to be able to search for all people who lived in a certain street back in the day
(ii) All people who had a particular job description back then
Note to anyone planning to develop using Google Drive API:
The draw back of using a Google API is that you are at the mercy of Google. I found this out around October 2022 when my Google Drive output changed significantly. Google eventually admitted to what they described as a 'meta bug' in the API. They up dated me for about 6 months telling me they were fixing it. But eventually they gave up and told me they were closing the issue. This created a lot of extra work for me.