There's a new version of the HubSpot API
As of November 30, 2022, HubSpot API Keys are being deprecated and are no longer supported. Continued use of HubSpot API Keys is a security risk to your account and data. Your API Keys could be deactivated at any time after Nov. 30th, and we recommend that you migrate to Private Apps as soon as possible so you do not lose business-critical functionality.
Contact records will only show a property if they have had a value set for that property. A contact that has never had a firstname will not show that property in its data.
Additionally, any endpoint that returns a list of contact records (such as pulling all records in the portal) will only return a few specific properties:
You can change which properties are included in the response by adding &property= to the URL as a query parameter. You can add this parameter multiple times to specify multiple properties:
http://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey=demo&property=email&property=createdate
Please note that if you include the property parameter, you will only get the property or properties you explicitly include in the URL (notice that firstname and lastname are not included in the response for the example URL above).
Any endpoints returning a list will only return the specified properties, so if you need to see all of the properties that a record has set you will need to pull the individual record by its vid, email, or usertoken.