---
title: Apache Mesos - HTTP API client libraries
layout: documentation
---

## Scheduler API

### Supported

<table class="table table-bordered">
<thead>
<tr><th>Name</th><th>Language</th>
</thead>
<tr>
  <td><a href="https://github.com/apache/mesos/tree/master/src/scheduler">
  Scheduler Library</a></td>
  <td>C++</td>
</tr>
</table>

### User Contributed

*Note: These libraries are supported by their authors, so if you
run into any issues, file them with the library maintainers.*

<table class="table table-bordered">
<thead>
<tr><th>Name</th><th>Language</th>
</thead>
<tr>
  <td><a href="https://github.com/mesosphere/mesos-rxjava">
  Mesos RxJava</a></td>
  <td>Java</td>
</tr>
<tr>
  <td><a href="https://github.com/tobilg/mesos-framework">
  mesos-framework</a></td>
  <td>JavaScript</td>
</tr>
<tr>
  <td><a href="https://github.com/mesos/mesos-go">
  mesos-go</a></td>
  <td>Go</td>
</tr>
</table>

## Executor API

### Supported

<table class="table table-bordered">
<thead>
<tr><th>Name</th><th>Language</th>
</thead>
<tr>
  <td><a href="https://github.com/apache/mesos/tree/master/src/executor">
  Executor Library</a></td>
  <td>C++</td>
</tr>
</table>

### User Contributed

*Note: These libraries are supported by their authors, so if you
run into any issues, file them with the library maintainers.*

<table class="table table-bordered">
<thead>
<tr><th>Name</th><th>Language</th>
</thead>
<tr>
  <td><a href="https://github.com/tobilg/mesos-framework">
  mesos-framework</a></td>
  <td>JavaScript</td>
</tr>
<tr>
  <td><a href="https://github.com/mesos/mesos-go">
  mesos-go</a></td>
  <td>Go</td>
</tr>
</table>
