Yes, the default is 30 results per page, although as you note you can get back upto a 100 using the per_page parameter. You can get the next page of the results using the 'page' parameter. The 'link' header in the response will hold the next page url if exists. If you have reached the last page of objects, then the link header will not be set. For e.g.
Currently it is not possible to export the company names as part of the contacts API. You will have to use the company API and then make the correlation. However, I do see the use case of having it here. Let me investigate the feasibility of this with the engineering team.