1

Is there a way to get all sites of type main_site from the /site method?

If not, what's the best way to get that list? Should I get all sites with a huge pagesize and then filter it in my App?

1 Answer 1

1

Yes, the sites path does not filter results on site_type. But the good news is, the path accepts a pagesize of 999, so you can get all the results at once.

Then you must filter the results in your app. Here's what it looks like in jQuery:

$.ajax ( {
    type:       'GET',
    url:        'https://api.stackexchange.com/2.1/sites?pagesize=999&filter=!6ONhDO.aXP4LU&key=YOUR_APP_KEY',
    dataType:   'JSON',
    cache:      true,
    success:    processSiteListJSON,
    error:      function (err) {
                    alert ("Oopsie! " + err.responseText);
                }
} );

function processSiteListJSON (apiJson) {
    var mainSites = $.map (apiJson.items, function (siteDat) {
        if (siteDat.site_type == "main_site") {
            return siteDat.api_site_parameter;
        }
        return null;
    } );

    console.log ("Main sites are: ", mainSites.sort () );
}


Note that meta.stackoverflow is a special case and is considered a "main" site.

2
  • I think the API should allow filter in sites. Thank you! Commented May 15, 2013 at 9:06
  • You're welcome! You can open a feature request for such a filter/search. I doubt it will get approved, but it doesn't hurt to ask. Commented May 15, 2013 at 9:09

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.