How to Get Catalog Price Rule collection by Rule name Magento 2?

You can get catalog price rule data by Rule name or title using Magento 2.

You need to get a rule name from the Catalog rule Grid from the admin panel and you can filter the collection of catalog rule by the name field.

Simple code snippet to get catalog price rule by name,

<?php
namespace Jesadiya\CatalogRule\Model;

use Exception;
use Psr\Log\LoggerInterface;
use Magento\CatalogRule\Model\ResourceModel\Rule\CollectionFactory as RuleCollectionFactory;

class CatalogRuleByName
{
    /**
     * @var LoggerInterface
     */
    private $logger;

    /**
     * @var RuleCollectionFactory
     */
    protected $ruleFactory;

    public function __construct(
        LoggerInterface $logger,
        RuleCollectionFactory $ruleFactory
    ) {
        $this->logger = $logger;
        $this->ruleFactory = $ruleFactory;
    }

    public function getCatalogRuleByName()
    {
        $catalogRule = null;
        try {
            $ruleName = '20% OFF on Top';
            $catalogRule = $this->ruleFactory->create()
                ->addFieldToFilter('name', $ruleName);
            //var_dump($catalogRule->getData());
        } catch (Exception $exception) {
            $this->logger->error($exception->getMessage());
        }

        return $catalogRule;
    }
}

You can get rule information by Rule name in Magento 2 by calling CatalogRule CollectionFactory.