Though not 100% an answer, but based on various posts and comments (like one from @Andrew), below is solution which will give you list of all standard and custom objects ignoring system objects: ```java public List<SelectOption> getStandardCustomIgnoreSytemObjects() { List<SelectOption> options = new List<SelectOption>(); for (Schema.SObjectType item1: Schema.getGlobalDescribe().values()) { String name = item1.getDescribe().getName(); // Exclude all the unwanted Sobjects e.g. CustomSettings, // History, Share, Feed, ApexClass, Pages etc.. if (!item1.getDescribe().isCustomSetting() && item1.getDescribe().getRecordTypeInfos().size() > 0 && item1.getDescribe().isCreateable() && !name.containsignorecase('history') && !name.containsignorecase('tag') && !name.containsignorecase('share') && !name.containsignorecase('feed')) { options.add(new SelectOption(item1.getDescribe().getName(), item1.getDescribe().getLabel())); } } options.add(new SelectOption('Asset', 'Asset')); // Asset doesn't come-up, so explicitly add same. options.sort(); } ```