Skip to content

Retrieving Rows

Example data

To get started, we prepare a sheet named Cities as below:

| | A | B | C | D | |--| --------------- | ----- | ------- | ---------- | |1 | name | state | country | population | |2 | San Francisco | CA | USA | 3314000 | |3 | Los Angeles | CA | USA | 12458000 | |4 | Washington, D.C.| null | USA | 5207000 | |5 | Tokyo | null | Japan | 37400068 | |6 | Shanghai | null | China | 25582000 | |7 | Paris | null | France | 10901000 | |8 | São Paulo | null | Brazil | 21650000 | |9 | Madrid | null | Spain | 6497000 | |10| Toronto | null | Canada | 6082000 | |11| Chicago | IL | USA | 8864000 |

Note

Please prepare the same data as above in a new (or existing) spreadsheet. You will need to use your Spreadsheet ID as descibed in Getting Started in example codes.

Get a row

You can retrieve a row's contents by sending a GET request to the rowIndex URL. For example, to retrieve Los Angeles information in Cities sheet:

curl "https://api.sheetson.com/v2/sheets/Cities/3" \
-G \
--data-urlencode 'apiKey=YOUR_API_KEY' \
--data-urlencode 'spreadsheetId=YOUR_SPREADSHEET_ID' \
const fetch = require('isomorphic-fetch');
const params = {
  apiKey: "YOUR_API_KEY",
  spreadsheetId: "YOUR_SPREADSHEET_ID"
}
const url = = new URL("https://api.sheetson.com/v2/sheets/Cities/3");
Object.keys(params).forEach(key => url.searchParams.append(key, encodeURIComponent(params[key])));
fetch(url).then(r => r.json())
  .then(result => console.log(result))

The response body is a JSON object containing all the header fields, plus the rowIndex field:

{
  "rowIndex": 3,
  "name": "Los Angeles", 
  "state": "CA", 
  "country": "USA",
  "population": "12458000"
}

Get multiple rows

You can retrieve multiple objects at once by sending a GET request to the class URL. Without any URL parameters, this simply lists objects in the class:

curl "https://api.sheetson.com/v2/sheets/Cities" \
--data-urlencode 'apiKey=YOUR_API_KEY' \
--data-urlencode 'spreadsheetId=YOUR_SPREADSHEET_ID' \
const fetch = require('isomorphic-fetch');
const params = {
  apiKey: "YOUR_API_KEY",
  spreadsheetId: "YOUR_SPREADSHEET_ID"
}
const url = = new URL("https://api.sheetson.com/v2/sheets/Cities");
Object.keys(params).forEach(key => url.searchParams.append(key, encodeURIComponent(params[key])));
fetch(url).then(r => r.json())
  .then(result => console.log(result))

The return value is a JSON object that contains a results field with a JSON array that lists the objects

{
  results: [
    {
      "rowIndex": 2,
      "name": "San Francisco", 
      "state": "CA", 
      "country": "USA",
      "population": "860000"
    },
    {
      "rowIndex": 3,
      "name": "Los Angeles", 
      "state": "CA", 
      "country": "USA",
      "population": "12458000"
    }
    ...
  ]
}

Filter rows

There are several ways to filter rows based on specific criteria. Refer to Paginate & refine data in order to perform below operations:

  • Paginate between multiple results set
  • Limit number of rows returned
  • Order rows by specific field
  • Search for rows with specific criteria