There are two reasons why it happens.
- The interpretation of first and last names might vary between people. For example, my name is "Steven Goh." Some people might consider "Steven" the first name, and others might consider it last. So erroneous user input on Linkedin can result in inaccurate results.
- Because we only scrape public Linkedin profiles, we do not have structured data to work with. We parse first and last names from a full name (string) by tokenizing the string and making our interpretation on what is a first and what is the last name. Our (universal) interpretation might not be a perfect fit for names in your locale.
Because there is a slight chance that we can get it wrong, and you might know better (particularly for your specific locale), we included the full name as a string as full_name. This way, you can parse a better first/last name for yourself should we come up short on parsing.