Easy to implement on your own

Sheetsu helps you connect Google Sheets to anything - Web, Mobile, IoT or any service's API.

What is Sheetsu

You don't need to be a developer to use our solution. We've premade codes and embeddable snippets you can use out of the box.

We have libraries for most technologies. Sheetsu works with all frameworks and languages.

See use cases

Build stuff fast.

Don’t focus on setting up tools. Just create.

Flexible CMS

Code used to generate above website from a Google Sheet

<!-- Showing all records from sheet -->
<div sheetsu="https://sheetsu.com/apis/v1.0lh/020b2c0f"
    <p>Name: {{Name}}, Email: {{Email}}</p>
    <img src="{{Picture}}">

<script src="//load.sheetsu.com"></script>

Easily embadable and searchable table created straight from Google Spreadsheet.

Simple Setup

Sheetsu works on top of Google Spreadsheets. You don't need to move your data anywhere. Just plug our solution into your exsisting workflow.

Easy collaboration with Sheetsu

Sheetsu connects your spreadsheets with the web, mobile apps and much more. Write a word in Google Spreadsheets and the very next second you see the same word on a website or in a mobile app. Just refresh it.

Customize contact forms as you like. All data is stored in a Google Spreadsheets. It's simple, it's flexible, yet so powerful. Our clients are using Sheetsu connected forms to collect feedback and to get orders from the website.

Update the same second

Connect Google Sheets anywhere

Items list, forms, content, data collection.

We've got your back

We want you to succeed.

Simple Docs

Our API is simple to use. But, what's even better - we've got libraries/SDKs/API bindings to most common technologies used nowadays. You can be up and run in a matter of seconds. You can find a lot of short examples, all different technologies in the docs.

Check docs →

Help from a developer

If you need help with integration, we can handle it for you! With any paid plan, you get 1 hour with our developer. You can schedule a call with us. We will help you build an end-2-end solution and do Sheetsu work with your service/project.

Book a developer →
Code for America
Berkeley - University of California

Easy to implement

We've built language bindings so you can start creating in your favorite language. Or if you don't know how to code, just paste HTML code.

Sheetsu one-line implementation allows you to focus on your product and build great features. No setup, no token refreshing, no more quirky docs. Just get access to Google Spreadsheets from your code.

Search spreadsheet

Perform a search query on any number of columns with wildcards.

<!-- Get all records where score is 42 -->
<div sheetsu="https://sheetsu.com/apis/v1.0lh/020b2c0f" sheetsu-search='{"score": "42"}'>
  <p>Name: {{name}}, score: {{score}}</p>

<script src="//load.sheetsu.com"></script>
# Get all rows where column 'score' is '42'
curl "https://sheetsu.com/apis/v1.0lb/020b2c0f/search?score=42"
# Get all rows where column 'score' is '42'
  .read({ search: { score: 42 } })
  .then(function(data) {
  }, function(err){
# Get all rows where column 'score' is '42'
require 'sheetsu'

sheetsu = Sheetsu::Client.new("https://sheetsu.com/apis/v1.0lr/020b2c0f")
sheetsu.read(search: { score: 42 })
# Get all rows where column 'score' is '42'
from sheetsu import SheetsuClient

client = SheetsuClient("020b2c0f")
// Get all rows where column 'score' is '42'
use Sheetsu\Sheetsu;

$sheetsu = new Sheetsu([
  'sheetId' => '020b2c0f'
$response = $sheetsu->search([
  'score' => '42'
  <script src="//script.sheetsu.com/"></script>
    function successFunc(data) {
    // Get all rows where column 'score' is '42'
    var searchQuery = {
      score: 42,
    Sheetsu.read("https://sheetsu.com/apis/v1.0lw/020b2c0f/", {
      search: searchQuery
    }, successFunc);
function successFunc(data) {

// Get all rows where column 'score' is '42'
var searchQuery = {
  score: 42,

  url: "https://sheetsu.com/apis/v1.0lq/020b2c0f/search",
  data: searchQuery,
  success: successFunc
// Get all rows where column 'score' is '42'
import Foundation

let url = String(format: "https://sheetsu.com/apis/v1.0ls/020b2c0f/search?score=42")
let serviceUrl = URL(string: url)
var request = URLRequest(url: serviceUrl!)

request.httpMethod = "GET"
request.setValue("Application/json", forHTTPHeaderField: "Content-Type")

let session = URLSession.shared

session.dataTask(with: request) { (data, response, error) in
  if let data = data {
    do {
      let json = try JSONSerialization.jsonObject(
        with: data,
        options: []
    } catch {
// Get all rows where column 'score' is '42'
using System;
using System.Net;
using System.IO;

namespace Sheetsu
    public class Example
        public static void Main(string[] args)
            string sheetsuResponse = string.Empty;
            string apiUrl = @"https://sheetsu.com/apis/v1.0lc/020b2c0f/search?score=42";

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(apiUrl);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            Stream stream = response.GetResponseStream();
            StreamReader reader = new StreamReader(stream);
            sheetsuResponse = reader.ReadToEnd();
# Get all rows where column 'score' is '42'

query <- list(score = 42)
response <- GET(
  query = query
data <- content(response, "parsed")
// Get all records where score is 42
class SheetsuRead extends React.Component {
  constructor(props) {
    this.state = {
      data: [],

  componentDidMount() {
      .then( (response) => {
        return response.json()
      }).then( (json) => {
        this.setState({data: json});

  renderData() {
    return this.state.data.map((row) =>       <div key={row.id}>{row.id}. Name: {row.name}, Score: {row.score}</div>    );

  render() {
    return (      <div>
      </div>    );

What Our Customers Say

Start using Sheetsu now

Be up and running in matter of seconds.