Creating posts from API data, how to identify posts already imported?

Never use GUIDs in WordPress, you definitely got that right.

However nothing prevents you use concept of unique identifiers. You already have values for them, just ignore native column and store them in post meta as arbitrary data. On import you can check for that.

For crazy volume it might require some performance tweaking but generally it holds up.