Skip to main content

Data Tables API

Every data table has a public API endpoint that returns all rows as JSON. No authentication required - perfect for static sites and client-side apps.

Fetch all rows​

GET https://api.webstadia.com/v1/dt/YOUR_TABLE_ID

Response​

Returns an array of objects where keys are column names:

[
{
"Name": "John Doe",
"Email": "john@example.com",
"Role": "Developer",
"Active": true
},
{
"Name": "Jane Smith",
"Email": "jane@example.com",
"Role": "Designer",
"Active": true
}
]

Finding your Table ID​

Your table ID is shown in the table header, next to the table name. You can also find it in the API modal (click the </> button in the toolbar).

Usage examples​

Vanilla JavaScript​

async function loadData() {
const res = await fetch('https://api.webstadia.com/v1/dt/YOUR_TABLE_ID')
const data = await res.json()

const container = document.getElementById('team-list')
data.forEach(member => {
const div = document.createElement('div')
div.innerHTML = `<h3>${member.Name}</h3><p>${member.Role}</p>`
container.appendChild(div)
})
}

loadData()

React​

import { useState, useEffect } from 'react'

function TeamList() {
const [members, setMembers] = useState([])

useEffect(() => {
fetch('https://api.webstadia.com/v1/dt/YOUR_TABLE_ID')
.then(res => res.json())
.then(setMembers)
}, [])

return (
<div>
{members.map((member, i) => (
<div key={i}>
<h3>{member.Name}</h3>
<p>{member.Role}</p>
<p>{member.Email}</p>
</div>
))}
</div>
)
}

Vue​

<template>
<div v-for="member in members" :key="member.Email">
<h3>{{ member.Name }}</h3>
<p>{{ member.Role }}</p>
</div>
</template>

<script setup>
import { ref, onMounted } from 'vue'

const members = ref([])

onMounted(async () => {
const res = await fetch('https://api.webstadia.com/v1/dt/YOUR_TABLE_ID')
members.value = await res.json()
})
</script>

Static HTML​

<div id="products"></div>

<script>
fetch('https://api.webstadia.com/v1/dt/YOUR_TABLE_ID')
.then(res => res.json())
.then(products => {
const html = products.map(p =>
`<div class="product">
<h3>${p.Name}</h3>
<p>$${p.Price}</p>
<p>${p.Description}</p>
</div>`
).join('')
document.getElementById('products').innerHTML = html
})
</script>

CORS​

The Data Tables API supports CORS and can be called from any domain. No API key or authentication is needed.

Rate limits​

The API is designed for public read access. There are no strict rate limits for normal usage, but excessive requests may be throttled.