Shared Catalog is the native functionality of B2B Magento Commerce. Magento gives you the ability to maintain shared catalogs with the custom pricing structure for different companies. A Public Default(General) Catalog will be available native with Magento B2B.
You can get Shared Catalog data by Customer group id programmatically using
Magento\SharedCatalog\Api\SharedCatalogRepositoryInterface.
Interface used to get, delete and save catalog data related stuff.
Get Shared Catalog Data by id Magento 2 B2B
You need to filter customer_group_id using SearchCriteriaBuilder Interface and assigned searchCriteria object to sharedCatalogRepository getList() method.
<?php
    public function __construct(
        \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder,
        \Magento\SharedCatalog\Api\SharedCatalogRepositoryInterface $sharedCatalogRepository
    ) {
        $this->searchCriteriaBuilder = $searchCriteriaBuilder;
        $this->sharedCatalogRepository = $sharedCatalogRepository;
    }
    public function getSharedCatalog()
    {
        $customerGroupId = 1; //assigned customer group id
        $this->searchCriteriaBuilder->addFilter("customer_group_id", $customerGroupId);
        $searchCriteria = $this->searchCriteriaBuilder->create();
        $sharedCatalog = $this->sharedCatalogRepository->getList($searchCriteria);
        return $sharedCatalog;;
    }
Call function like,
$sharedCatalog = $this->getSharedCatalog();
if($sharedCatalog->getTotalCount() > 0) {
    foreach($sharedCatalog->getItems() as $item) {
        echo "<pre>";print_r($item->getData());
    }
}
You can get the result of shared catalog data by customer_group_id in the above loop.
