12

I checked multiple related questions and the only answer I found is a now defunct link: https://stackexchange.com/about/team. It redirects me to https://stackoverflow.com/company (which is weird in its own - I get that Stack Overflow is the most popular site, but this information should be present on Stack Exchange). I cannot find a list of employees on the /company site - I assume it went under some restructuring.

1
  • 1
    This is a pretty good post for future reference. +1
    – M.A.R.
    Commented Jul 20, 2019 at 13:13

1 Answer 1

12

There's a (community-maintained) list of Community Managers: Who are the Community Team, and what do they do?. But there are more types of employees than Community Managers.

Other than that, you can verify if somebody is an employee via the API: How can I verify an account as belonging to a Stack Exchange employee? but there's no way to get a filtered list. You'd have to scroll through the entire user list (100 at a time, the maximum page size of the API) and have your code filter out the employees. This is possible, see the snippet at the bottom, but you need a lot of patience.

I get that Stack Overflow is the most popular site, but this information should be present on Stack Exchange

Yes, that is confusing. The company is indeed officially called Stack Exchange Inc., but Stack Overflow is used as the (main) brand / trade name, as explained here (for the record, that's a former Stack Overflow employee and they were still one at the time that was written).


I wrote a script to generate a list of employees here on Meta Stack Exchange and used it here to generate a list of employee profiles. It makes almost 5000 calls to the Stack Exchange API, which requires a key (taken from the documentation pages) and additional special care.

var staff = [];
function fetch(page) {
  $.ajax({
    url: "https://api.stackexchange.com/2.2/users?page=" + page +
        "&pagesize=100&order=asc&sort=creation&site=meta&filter=!*MxJcsv91Tcz6yRH&key=U4DMV*8nvpm3EOpvf69Rxw((",
    type: "GET",
    success: function (data) {
      for (var i = 0; i < data.items.length; i++) {
	    if (data.items[i].is_employee) {
	      staff.push(data.items[i].user_id);
        }
      }
      if (page % 10 == 0) {
        console.log("Page " + page + ", remaining quota: " + data.quota_remaining + ", staff count: " + staff.length);
      }
      if (data.has_more) {
        var timeout = 1000; // otherwise we'll get rate-limited after a few hundred calls
        if (typeof data.backoff != 'undefined') {
          console.log("Backoff: " + data.backoff);
          timeout = data.backoff * 1000;
        }
        setTimeout(function() {
          fetch(++page);
        }, timeout);
      } else {
        console.log("Final results:");
        console.log(staff.join(","));
      }
    },
    error: function(jqXHR, textStatus, errorThrown) {
      console.log("Page " + page + " failed: " + textStatus + " " + errorThrown);
    }
  });
}
fetch(1);
<script src="https://code.jquery.com/jquery-1.11.1.min.js" type="text/javascript" ></script>

2
  • I have a script here that uses the /moderators end-point to get a partial list
    – rene Mod
    Commented Jul 20, 2019 at 11:34
  • @rene I completely forgot about your comment and made a snippet myself ...
    – Glorfindel Mod
    Commented Dec 21, 2019 at 19:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .