# API details for stretch\_web\_interface

**URL:** <https://forum.hello-robot.com/t/api-details-for-stretch-web-interface/58>\
**Category:** Discuss\
**Created:** [August 9, 2020, 6:34pm UTC](https://forum.hello-robot.com/t/api-details-for-stretch-web-interface/58 "2020-08-09T18:34:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sitaneja](https://avatars.discourse-cdn.com/v4/letter/s/90ced4/32.png) [@sitaneja](https://forum.hello-robot.com/u/sitaneja)\
**Post date:** [August 9, 2020, 6:34pm UTC](https://forum.hello-robot.com/t/api-details-for-stretch-web-interface/58/1 "2020-08-09T18:34:28Z")

</div>

I am looking into [https://github.com/hello-robot/stretch\_web\_interface](https://github.com/hello-robot/stretch_web_interface) , can you please tell me what are the web API used to control robot? Can we navigate the robot using this web base UI? Any document would be great help!

---

<div class="post-metadata">

**Author:** ![hello-ck](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/hello-ck/32/23_2.png) [@hello-ck](https://forum.hello-robot.com/u/hello-ck)\
**Post date:** [August 10, 2020, 7:59pm UTC](https://forum.hello-robot.com/t/api-details-for-stretch-web-interface/58/2 "2020-08-10T19:59:44Z")

</div>

Hi @sitaneja,

If you go through the instructions in [README.md](https://github.com/hello-robot/stretch_web_interface/blob/master/README.md), you should be able to use a web browser to command low-level motions of the robot while seeing video from the robot’s camera, and possibly hearing audio depending on the robot’s microphone configuration.

This web-based interface prototype has a number of components. A web browser used by a human operator communicates with a web browser used by the robot via [WebRTC](https://en.wikipedia.org/wiki/WebRTC). WebRTC provides real-time peer-to-peer audio, video, and data communication between the human operator’s web browser and the robot’s web browser. In essence, the human operator and the robot video conference with one another.

The robot’s browser uses [rosbridge](http://wiki.ros.org/rosbridge_suite) to connect with ROS on the robot. Rosbridge translates [JSON](https://en.wikipedia.org/wiki/JSON) from the robot’s browser into ROS communications and vice versa. The JavaScript code used by the robot’s browser to connect with ROS can be found in [ros\_connect.js](https://github.com/hello-robot/stretch_web_interface/blob/master/robot/ros_connect.js) under the [robot directory](https://github.com/hello-robot/stretch_web_interface/tree/master/robot) in the [stretch\_web\_interface repository](https://github.com/hello-robot/stretch_web_interface).

While the robot’s browser has access to most of the robot via ROS, the operator’s browser can only access the robot indirectly through the robot’s browser. The commands available to the operator’s browser can be found in [commands.js](https://github.com/hello-robot/stretch_web_interface/blob/master/shared/commands.js) under the [shared directory](https://github.com/hello-robot/stretch_web_interface/tree/master/shared).

I hope this helps!

Best wishes,  
Charlie

_Charlie Kemp, PhD  
co-founder & CTO  
Hello Robot Inc.  
 [https://charliekemp.com](https://charliekemp.com/)_
