
Sheety
Data AccessTurn any Google Sheet into a RESTful JSON API instantly. Create, read, update, and delete data using simple HTTP requests - no backend required.
π Documentation & Examples
Everything you need to integrate with Sheety
π Quick Start Examples
// Sheety API Example
const response = await fetch('https://sheety.co/', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);Sheety API
Sheety transforms any Google Sheet into a fully functional REST API in seconds. Perfect for prototyping, small projects, or using spreadsheets as a simple database. No coding required to set up - just connect your sheet and start making API calls.
Key Features
- Instant API Generation - Turn Google Sheets into APIs with zero configuration
- Full CRUD Operations - GET, POST, PUT, and DELETE supported
- JSON Responses - Clean, structured JSON data from your spreadsheets
- Real-time Sync - Changes in the sheet reflect immediately in the API
- Authentication Options - Basic auth and Bearer token support
Free Tier
- 200 requests per month
- 3 projects
- Basic authentication
How It Works
- Create a Google Sheet with headers in the first row
- Connect it to Sheety
- Get your API endpoint
- Start making requests!
JavaScript Example
const axios = require('axios');
const SHEETY_API = 'https://api.sheety.co/YOUR_PROJECT_ID/YOUR_SHEET_NAME';
const BEARER_TOKEN = 'YOUR_BEARER_TOKEN';
const headers = {
'Authorization': `Bearer ${BEARER_TOKEN}`,
'Content-Type': 'application/json'
};
// GET all rows
async function getAllRows() {
const response = await axios.get(SHEETY_API, { headers });
return response.data;
}
// GET a single row by ID
async function getRow(id) {
const response = await axios.get(`${SHEETY_API}/${id}`, { headers });
return response.data;
}
// POST a new row
async function addRow(data) {
const body = { row: data };
const response = await axios.post(SHEETY_API, body, { headers });
return response.data;
}
// PUT (update) a row
async function updateRow(id, data) {
const body = { row: data };
const response = await axios.put(`${SHEETY_API}/${id}`, body, { headers });
return response.data;
}
// DELETE a row
async function deleteRow(id) {
const response = await axios.delete(`${SHEETY_API}/${id}`, { headers });
return response.data;
}
// Example usage: Managing a product inventory
async function manageInventory() {
// Add a new product
const newProduct = await addRow({
name: 'Widget Pro',
price: 29.99,
quantity: 100,
category: 'Electronics'
});
console.log('Added:', newProduct);
// Get all products
const products = await getAllRows();
console.log('All products:', products);
// Update quantity
await updateRow(newProduct.row.id, { quantity: 95 });
console.log('Updated quantity');
}
manageInventory();
Python Example
import requests
SHEETY_API = 'https://api.sheety.co/YOUR_PROJECT_ID/YOUR_SHEET_NAME'
HEADERS = {
'Authorization': 'Bearer YOUR_BEARER_TOKEN',
'Content-Type': 'application/json'
}
def get_all_rows():
response = requests.get(SHEETY_API, headers=HEADERS)
return response.json()
def add_row(data):
body = {'row': data}
response = requests.post(SHEETY_API, json=body, headers=HEADERS)
return response.json()
def update_row(row_id, data):
body = {'row': data}
response = requests.put(f'{SHEETY_API}/{row_id}', json=body, headers=HEADERS)
return response.json()
def delete_row(row_id):
response = requests.delete(f'{SHEETY_API}/{row_id}', headers=HEADERS)
return response.json()
# Example: Contact list management
new_contact = add_row({
'name': 'John Doe',
'email': 'john@example.com',
'phone': '555-1234'
})
print(f"Added contact with ID: {new_contact['row']['id']}")
contacts = get_all_rows()
print(f"Total contacts: {len(contacts['rows'])}")
cURL Examples
# Get all rows
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://api.sheety.co/YOUR_PROJECT_ID/sheet1"
# Add a new row
curl -X POST \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"row": {"name": "Test", "value": 123}}' \
"https://api.sheety.co/YOUR_PROJECT_ID/sheet1"
# Update a row
curl -X PUT \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"row": {"name": "Updated"}}' \
"https://api.sheety.co/YOUR_PROJECT_ID/sheet1/2"
# Delete a row
curl -X DELETE \
-H "Authorization: Bearer YOUR_TOKEN" \
"https://api.sheety.co/YOUR_PROJECT_ID/sheet1/2"
Use Cases
- Prototyping - Quickly build MVPs without setting up a database
- Content Management - Use sheets as a simple CMS
- Form Submissions - Store form data in a spreadsheet
- Inventory Tracking - Manage stock with a spreadsheet interface
- Event Registration - Collect and manage signups









