The reason you see a discrepancy in the execution price of a market order is because the data you see on publicly available sources does not fully reflect actual market conditions. This is primarily due to 2 reasons.
- The US market has multiple exchanges. Websites with market data usually don't have data from all exchanges, hence providing an incomplete picture.
- Graphs displayed on many publicly available sources are normally on the back of a single price snapshot per minute. For the most popular and liquid stocks there could be hundreds if not thousands of transactions happening every second, all at different prices.
As such, the stock price you might see on publicly available sources is incomplete and your actual execution could be different (higher or lower) depending on the price moment in the very micro second.
Should you wish to buy a stock at a specific price, you may consider placing a limit order instead. However, please note that if your desired price does not come within the limit order, it is possible that your order will remain unexecuted.