App Types determine the products that can be added to an app in the App Dashboard and what permissions and features can be requested for approval through the App Review process.
When you create an app you will be asked how the app will be used:
The choice you make determines its type. There are four possible types: Consumer, Business, Instant Games, Workplace, or None. Once you choose an app type, your app will only be presented with products, permissions, and features that are available to that app type.
App types cannot be changed. If your app needs products, permissions, or features that are unavailable to its current type you must create a new app with a different type instead.
The Consumer app type is for apps that integrate consumer-related products like Facebook Login to provide app users with a more personalized experience. Examples include gaming apps that are played off of the Facebook Platform.
Consumer apps are subject to an additional layer of Graph API authorization called access levels.
The Business app type is for apps that help businesses and organizations manage Pages, Events, Ads, and ad-related assets.
Advanced Access for the oEmbed Read feature is no longer available for Business type apps. Advanced Access is available for Consumer type apps.
Business apps are subject to an additional layer of Graph API authorization called access levels.
Business apps do not have app modes and instead rely exclusively on access levels to determine who can grant them permissions and who will be affected by features.
Learn more about app modes.
The Instant Games app type is for gaming apps that are played on the Facebook Platform.
The Workplace app type is for SaaS apps that can be installed by Workplace customers. Refer to our Workplace documentation for more information about Workplace and SaaS apps.
Apps designated as None are apps that don't fit any of our app types. Apps designated as None contain combinations of some, but not all, of the consumer and business permissions and products. Apps designated as None cannot be created because they are a legacy type.