Query Parameters
SheetsJSON supports various query parameters to filter, sort, and paginate your data.
Pagination
Control the number of results returned with limit and offset:
# Get first 10 items
GET /v1/sheets/abc123?limit=10
# Get items 11-20
GET /v1/sheets/abc123?limit=10&offset=10
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit |
integer | 100 | Maximum number of rows to return (max: 1000) |
offset |
integer | 0 | Number of rows to skip |
Response Metadata
Pagination info is included in the response:
{
"data": [...],
"meta": {
"total": 150,
"limit": 10,
"offset": 0,
"has_more": true
}
}
Filtering
Filter rows by column values:
# Exact match
GET /v1/sheets/abc123?filter[category]=Electronics
# Multiple filters (AND)
GET /v1/sheets/abc123?filter[category]=Electronics&filter[in_stock]=true
Filter Operators
Use operators for more complex filtering:
# Greater than
GET /v1/sheets/abc123?filter[price][gt]=50
# Less than or equal
GET /v1/sheets/abc123?filter[price][lte]=100
# Contains (case-insensitive)
GET /v1/sheets/abc123?filter[name][contains]=widget
# Not equal
GET /v1/sheets/abc123?filter[status][ne]=archived
Available Operators
| Operator | Description | Example |
|---|---|---|
eq |
Equal (default) |
filter[status]=active |
ne |
Not equal |
filter[status][ne]=archived |
gt |
Greater than |
filter[price][gt]=50 |
gte |
Greater than or equal |
filter[price][gte]=50 |
lt |
Less than |
filter[price][lt]=100 |
lte |
Less than or equal |
filter[price][lte]=100 |
contains |
Contains substring |
filter[name][contains]=pro |
starts_with |
Starts with |
filter[sku][starts_with]=PRD |
ends_with |
Ends with |
filter[email][ends_with][email protected] |
Sorting
Sort results by one or more columns:
# Sort by price ascending
GET /v1/sheets/abc123?sort=price
# Sort by price descending
GET /v1/sheets/abc123?sort=-price
# Multiple sort fields
GET /v1/sheets/abc123?sort=-created_at,name
Sort Order
-
No prefix or
+= ascending (A-Z, 0-9) -
-prefix = descending (Z-A, 9-0)
Field Selection
Select specific fields to reduce response size:
# Only return id and name
GET /v1/sheets/abc123?fields=id,name
Response
{
"data": [
{"id": "1", "name": "Widget A"},
{"id": "2", "name": "Widget B"}
]
}
Combining Parameters
Combine multiple parameters for powerful queries:
GET /v1/sheets/abc123?filter[category]=Electronics&filter[price][lte]=100&sort=-rating&limit=5&fields=id,name,price,rating
This returns the top 5 highest-rated electronics under $100, showing only essential fields.
URL Encoding
Remember to URL-encode special characters:
# Space becomes %20
filter[name]=Widget%20A
# Square brackets
filter%5Bcategory%5D=Electronics
Most HTTP clients handle encoding automatically.