last_price is the last sale on the IEX exchange and is also only delayed a few milliseconds during trading hours.

close_price is the last sale on the IEX exchange during trading hours but is slightly delayed, about a minute or so, and it also combines with the market close price after 5:00 to reflect the market close price of that security.

So during trading hours, last_price will be the most accurate, however, after the market closes, last_price still only reflects the last sale on the IEX exchange. So in this, it may be different from the market close. This is where close_price is the better tag.

If you're doing valuations and do not need the stock to be real-time, close_price is the best tag to use.

Did this answer your question?