I checked into this and got my nearest answer but not as we usually expecting from magento.
I want all out of stock product which can visible in store front means have respective product landing page (PDP).
which means exclude Not Visible Individually
and enable products.
Best Answer
After doing R&D found a solution to get all the out of stock products
pt 1. To exclude product visibility
Not Visible Individually
, use this method.pt 2. Get all enabled product, Use below method
pt 3.
$collection->setFlag('has_stock_status_filter', true);
It is important to set the has_stock_status_filter flag to true to get proper results for Out of stock products.
Note: [VENDOR_NAME]\[MODULE_NAME] should be replaced by your project directory names i.e vendor name and its module name.