How to delete downloadable links by id programmatically Magento 2?

You can delete Downloadable Links by link id using Magento 2 Programmatic way.

To create a downloadable product, you need to required attached links/files with the Product to download a sample.

Using Link Id, We could delete the link attached with the product by the delete($linkId) method with simple code,

namespace Jesadiya\DeleteDownloadableLinks\Model;

use Psr\Log\LoggerInterface;
use Magento\Downloadable\Api\LinkRepositoryInterface;
use Magento\Framework\Exception\NoSuchEntityException;

class DeleteLinksByLinkId
     * @var LinkRepositoryInterface
    private $linkRepository;

     * @var LoggerInterface
    private $logger;

    public function __construct(
        LinkRepositoryInterface $linkRepository,
        LoggerInterface $logger
    ) {
        $this->linkRepository = $linkRepository;
        $this->logger = $logger;

     * Get list of links of Downloadable Product.
     * @param int $linkId
     * @return bool
    public function deleteLinks(int $linkId): array
        $isDownloadableLinkDeleted = false;
        try {
            $isDownloadableLinkDeleted = $this->linkRepository->delete($linkId);
        } catch (NoSuchEntityException $exception) {

        return $isDownloadableLinkDeleted;

You required downloadable links id to delete from the item,

$linkId = 1; //Downloadable item sku
$downloadableLink = $this->deleteLinks($linkId);

If Downloadable links not found, Error will be thrown,
No downloadable link with the provided ID was found. Verify the ID and try again.