I want to know where the source is to look all tables available to query. For example, a few months back I came to know we can query ApexClass, TestCoverage, etc.

SELECT Id, CreatedBy.Name FROM ApexClass
SELECT Id, RecordType.Name FROM RecordType

Is there a way I can know how many tables are available to query through SOQL?

  • 1
    Have you done any research at all? Have you looked at any of the documentation?
    – Adrian Larson
    Feb 13, 2017 at 3:49
  • No This is quite different question not a duplicate.This is different question with more dept of documentation the all tables and best way to fetch all aviliable tables in salesforce Feb 13, 2017 at 6:20
  • But in this sfdcfox and javanoob gave awesome answers and way of explaining is also very good. Javanoob brought very good point of workbench. i think it will be helpful for other developers too. Feb 13, 2017 at 6:24
  • I guess both questions should be helpful for any new developer looking for answers and help him Feb 13, 2017 at 6:26

3 Answers 3


The SOAP API has a list of Standard Objects, hyperlinked to each object with a list of standard fields and a brief description of those fields, plus any "special rules" that may apply to portal users, queries, etc. In the event that this link somehow breaks, you can just search the Internet for "standard salesforce objects" and you should find it as one of the top organic (non-ad) search results.

  • That is what i want. You are awesome. I appreciate javanoob too for workbench Feb 13, 2017 at 3:51

I usually go to workbench to find the list of Standard & Custom Objects that I can query in SOQL in my org.

But as mentioned by sfdcfox, the official documentation is very useful to understand how the standard field values are calculated for standard objects For ex: Opportunity Field Amount (You cannot just update this field value in all the cases. There are some gotchas).

enter image description here

  • 1
    I would like to thank you. But since i can only choose any one as best answers and Sfdcfox gave first, so just chosen that . But i really appreciate your answer too. Its a great GUI you told me. Thank you Feb 13, 2017 at 3:52
  • @DavidMycka You are welcome.
    – javanoob
    Feb 13, 2017 at 3:54

Access to standard objects depends from the features enabled in your organization. You can check what is available to your user right now by working with Schema and getGlobalDescribe() method. Following code executed in dev console will give you list of queryable objects for current user.

Map<String, Schema.SObjectType> gd = Schema.getGlobalDescribe();
for(Schema.SObjectType typeProcessed : gd.values()){
  • Is there any way we can filter out standard and custom objects. I would like to see what others like RecordType, ApexClass etc are available to developer to query Feb 13, 2017 at 3:46

Not the answer you're looking for? Browse other questions tagged or ask your own question.