How to Reindex prices by product ids programmatically Magento 2?

You can reindex only prices for the products in the Magento 2 store by their IDs.

The indexer id used for the prices is catalog_product_price. We need to reindex only prices programmatically to reflect the price changes on the backend. you can do it using the CLI command also,

php bin/magento indexer:reindex catalog_product_price

Using code, check the demo,

<?php
namespace Jesadiya\PriceIndexer\Model;

use Magento\Catalog\Model\Indexer\Product\Price\Processor as PriceIndexerProcessor;

class PriceIndexer
{
    public function __construct(
        private readonly PriceIndexerProcessor $priceIndexProcessor
    ) {
    }

    /**
     * reindex price
     *
     * @param array $productIds
     * @return void
     */
    public function reindexPrice(array $productIds): void
    {
        $this->priceIndexProcessor->reindexList($productIds);
    }
}

Call method with required IDs,

$productIds = [1,2,3];
$this->reindexPrice($productIds);