Create a StandardSetController for given object (the query you'll use to instantiate it can have "LIMIT 1" or something, no need to select all records). Then use getListViewOptions().
Remember that it will return views visible for current user (so only the public ones + ones marked as "visible only to me').
To access it from outside (via SOAP or REST API)...
I'm not aware of method to get these with REST calls I'm afraid. You might have to write a bit of Apex and expose a custom REST resource that will return this data. It's not that hard, see http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#StartTopic=Content/apex_rest_code_sample_basic.htm for examples.
Thanks for your reply. Actually I am using PHP and trying to show list of views of any sObject using API.
I search in google and I came to know that, SAlesforce provide matadata API using SOAP only. help.salesforce.com/ . But I can`t use SOAP due to some restrictions. So can anyone tell me how to access list view of salesforce using http request from PHP?
Thank you. I saw your link. I can`t use any apex code, because I am implementing a web app in PHP where User will provide their Salesforce login credential and I have to fetch all Objects from Salesforce. Then they will select any Object and I have to show them all listviews for that selected object. So there is no fixed Salesforce Instance wheere I can write some Apex code.
No metadata API, no Apex... Sorry, if there's a way I'm not aware of any, maybe somebody else will post a better answer. You can also try asking on dedicated stack site: salesforce.stackexchange.com But I'm very doubtful. The getListViewOptions() would return you list of IDs, not their definitions (so you could recreate the columns & filter criteria in PHP) :( Best I could come up with was "recent items" (REST call to URL like /services/data/v26.0/sobjects/Account