The launch of the app catalog at the site collection level was a very good decision and brings a lot of benefits. If you want to deploy an app catalog to a site collection, a tenant app catalog must exist. Then you can deploy a new app catalog to a site collection using the following PowerShell command:
Connect-SPOService -Url https://{tenant}-admin.sharepoint.com -Credential {admin-email-address}
Add-SPOSiteCollectionAppCatalog -Site https://{tenant}.sharepoint.com/{sitecollectionurl}
For an administrator, it is of course very interesting on which sites an app catalog already exists. Without having a specific request, I recently came across an interesting and hidden list that is located in the Tenant App Catalog.
The URL to this hidden list is /Lists/SiteCollectionAppCatalogs/
. So e.g. https://{tenant}.sharepoint.com/{tenant-app-catalog-site}/Lists/SiteCollectionAppCatalogs/AllItems.aspx
The problem with this list is that it is not updated. That means deleted sites or sites where the URL has been changed are NOT updated/deleted in the list. Not well thought out by Microsoft.
I hope this information helps you as well.