How to Get all active Catalog Rules collection Magento 2?

Magento 2 You can retrieve the active catalog rules of the system. Using Active rules, You can identify a number of rules that are active and working for the catalog category pages.

To identify, an active rule you need to filter the catalog collection by is_active field. Value 1 contains the active and 0 used to disable the rule in the system.

is_active field used to track enable or disable catalog rule in the database catalogrule table.

namespace Jesadiya\CatalogActiveRule\Model;

use Magento\CatalogRule\Model\ResourceModel\Rule\CollectionFactory as RuleCollectionFactory;

class EnableCatalogRule
     * @var RuleCollectionFactory
    protected $ruleCollectionFactory;

    public function __construct(
        RuleCollectionFactory $ruleCollectionFactory
    ) {
        $this->ruleCollectionFactory = $ruleCollectionFactory;

    public function getAllActiveCatalogRule()
        $catalogActiveRule = $this->ruleCollectionFactory->create()->addFieldToFilter('is_active', 1);

        return $catalogActiveRule;

Calling from the template file or any PHP class,

$catalogRule = $this->getAllActiveCatalogRule();
foreach($catalogRule as $rule) {

Iterate over a for loop for the resultant catalog rule object to fetch individual active rule by detail information.