Turn a Google Spreadsheet
into a JSON API
Connect Google sheets to CRM, API, Website, WordPress, any application or tool.
Create Free API Use Cases Documentation[ { "id": "1", "name": "Tom", "age": "15", "comment": "" }, { "id": "2", "name": "Alex", "age": "24", "comment": "" } ]
Easy to use and implement
SheetDB will turn your sheets into a JSON API, easy to integrate with other tools and all programming languages. We have prepared many libraries working with common tools, other APIs and programming languages.
If you want to use a different API, e.g. in your CRM, you can use our API to turn the spreadsheet into JSON API.
Use Cases and Examples[ { "id": "1", "name": "Tom", "age": "15", "comment": "" }, { "id": "2", "name": "Alex", "age": "24", "comment": "" } ]
Google Sheets JSON API
You can read and edit your spreadsheet with GET, POST, PUT and DELETE requests with just a few lines of code.
DocumentationExamples and code samples
Make interactive content without coding skills
If you don't know how to code simpy use our HTML Handlebars snippet.
Give your clients a CMS that everyone know how to use
If you work with non-IT people, use Google Sheets as a database for your projects. Spreadsheet is a great CMS that everyone know how to use!
Developers first, no matter what language you use
SheetDB is really easy to implement with any programming language. We take care about tokens and security stuff, so you can focus on your ideas.
<!-- More details here: https://docs.sheetdb.io/handlebars -->
<table>
<thead>
<tr>
<td>ID</td>
<td>Name</td>
<td>Age</td>
<td>Comment</td>
</tr>
</thead>
<tbody data-sheetdb-url="https://sheetdb.io/api/v1/58f61be4dda40"
data-sheetdb-sort-by="age"
data-sheetdb-sort-order="desc">
<tr>
<td>{{id}}</td>
<td>{{name}}</td>
<td>{{age}}</td>
<td>{{comment}}</td>
</tr>
</tbody>
</table>
<script src="https://sheetdb.io/handlebars.js"></script>
fetch('https://sheetdb.io/api/v1/58f61be4dda40')
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
$.ajax({
url: "https://sheetdb.io/api/v1/58f61be4dda40",
success: function(data) {
console.log(data);
}
});
// Get all data
axios.get('https://sheetdb.io/api/v1/58f61be4dda40')
.then(response => {
console.log(response.data);
});
// Get 10 results starting from 20
axios.get('https://sheetdb.io/api/v1/58f61be4dda40?limit=10&offset=20')
.then(response => {
console.log(response.data);
});
// Get all data sorted by name in ascending order
axios.get('https://sheetdb.io/api/v1/58f61be4dda40?sort_by=name&sort_order=asc')
.then(response => {
console.log(response.data);
});
<?php
// Install SheetDB package: composer require sheetdb/sheetdb-php
// More details here: https://github.com/sheetdb/sheetdb-php
require('vendor/autoload.php');
use SheetDB\SheetDB;
$sheetdb = new SheetDB('58f61be4dda40');
$content = $sheetdb->get(); // returns all spreadsheets data
$keys = $sheetdb->keys(); // returns all spreadsheets key names
$name = $sheetdb->name(); // returns name of a spreadsheet document
<?php
$options = [
'http' => [
'method' => 'GET'
]
];
$response = json_decode(
file_get_contents('https://sheetdb.io/api/v1/58f61be4dda40', false, stream_context_create($options))
);
require 'net/http'
require 'json'
response = JSON.parse(
Net::HTTP.get(
URI('https://sheetdb.io/api/v1/58f61be4dda40')
)
)
import requests
import json
response = json.loads(
requests.get('https://sheetdb.io/api/v1/58f61be4dda40').content
)
import Foundation
// Read whole spreadsheet
let url = String(format: "https://sheetdb.io/api/v1/58f61be4dda40")
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: [])
print(json)
} catch {
print(error)
}
}
}.resume()
const sheetdb = require("sheetdb-node");
const client = sheetdb({ address: '58f61be4dda40' });
// Read whole spreadsheet
client.read().then(function(data) {
console.log(data);
}, function(error){
console.log(error);
});
// Read first two rows from sheet "Sheet2"
client.read({ limit: 2, sheet: "Sheet2" }).then(function(data) {
console.log(data);
}, function(err){
console.log(err);
});
Friendly, personal support
Write to us via email or chat in bottom right corner.
We are developers, we can assist with your integrations!
“Google Sheets combined with SheetDB has offered a great alternative approach over more conventional CMS that we found lacked the transparency and connectivity to manage vast amounts of data for our websites. SheetDB, with its reliability, scalability and professional support, is now central to our plans moving forward.”