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.