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,

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);
        } catch (Exception $exception) {

        return $catalogRule;

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