You can pick and choose the property that you would like to read.
- By which property we can decide it is published or not? Try jcr:content/cq:lastReplicated
- How to get only published story list in api or querybuilder response? If you are running the query on Author, tweak the WHERE to include something like:
SELECT * FROM [cq:Page] AS s WHERE ISDESCENDANTNODE(s, '/content/yourapp') AND s.[ jcr:content/cq:lastReplicated] IS NULL
If you are running the query on Publish, you can skip the statement after AND, as someone must have published the story or content that it now is in the Publish, provided regular replication process has been used.