Skip to main content
GET
/
cms
/
hubdb
/
2026-03
/
tables
/
{tableIdOrName}
/
rows
Get rows for a table
curl --request GET \
  --url https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "results": [
    "<unknown>"
  ],
  "total": 123,
  "type": "RANDOM_ACCESS",
  "paging": {
    "next": {
      "offset": 123,
      "link": "<string>"
    }
  }
}
{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}

Supported products

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

tableIdOrName
string
required

The ID or name of the table to query.

Query Parameters

after
string

The paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.

archived
boolean

Specifies whether to include archived rows in the response.

limit
integer<int32>

The maximum number of results to return. Default is 1000.

offset
integer<int32>

The number of rows to skip before starting to return results.

properties
string[]

Specify the column names to get results containing only the required columns instead of all column details.

sort
string[]

Specifies the column names to sort the results by. See the above description for more details.

Response

successful operation

results
any[]
required
total
integer<int32>
required

The total number of rows available in the collection.

type
enum<string>
default:RANDOM_ACCESS
required

Indicates the type of response, which is 'RANDOM_ACCESS' by default.

Available options:
RANDOM_ACCESS
paging
object
Last modified on March 31, 2026