SwarmIncToolsAPIsFree LLM APIsSupport

Apify Actor · DEVELOPER_TOOLS, AUTOMATION

Public Google Sheets to Dataset (no OAuth)

Extracts every row of a public Google Sheet as a dataset item: url, sheetTitle, rowIndex and data (one key per column header). No OAuth; private tabs are skipp…

This Actor reads public Google Sheets through their CSV export link and turns every row into a dataset item. It is built for developers and analysts who want s…

Run it on the Apify Store  $0.80 per 1,000 results, billed by Apify; Apify's free plan includes monthly credit.

Inputs

FieldTypeWhat it doesExample
startUrls (required)arrayStart URLs: Public Google Sheets links (share link, /export?format=csv or published-to-web). A sheet that is not shared publicly is skipped with a warning."[{\"url\": \"https://docs.google.com/spreadsheets/d/1XWJLkAwch5GXAt_7zOFDcg8Wm8Xv29_8PWuuW15qmAE/export?format=csv&gid=0\"}]"
maxPagesintegerMax pages: Stop after this many pages (keeps a run's cost predictable).20
proxyConfigurationobjectProxy: Proxy for the platform run (ignored on a local run)."{\"useApifyProxy\": true}"

What each result holds

FieldType
urlstr
sheetTitlestr
rowIndexint
datastr

Sample output

The first 3 results of its latest test run on the platform (long values shortened).

[
  {
    "data": "{\"Crisco\": \"CONTINUOUS\", \"LinearOptimizationSheet\": \"\", \"Milk\": \"CONTINUOUS\", \"Variable Name\": \"Type\", \"apples\": \"CONTINUOUS\", \"asparagus (can)\": \"CONTINUOUS\",…",
    "rowIndex": 1,
    "sheetTitle": "LinearOptimizationSheet, column_2, Variable Name, wheat flour (enriched), macaroni, wheat cereal (enriched), corn flakes, corn meal, hominy grits, rice, rolled…",
    "url": "https://docs.google.com/spreadsheets/d/1XWJLkAwch5GXAt_7zOFDcg8Wm8Xv29_8PWuuW15qmAE/export?format=csv&gid=0"
  },
  {
    "data": "{\"Crisco\": \"0\", \"LinearOptimizationSheet\": \"\", \"Milk\": \"0\", \"Variable Name\": \"Lower Bound\", \"apples\": \"0\", \"asparagus (can)\": \"0\", \"bacon\": \"0\", \"bananas\": \"0\"…",
    "rowIndex": 2,
    "sheetTitle": "LinearOptimizationSheet, column_2, Variable Name, wheat flour (enriched), macaroni, wheat cereal (enriched), corn flakes, corn meal, hominy grits, rice, rolled…",
    "url": "https://docs.google.com/spreadsheets/d/1XWJLkAwch5GXAt_7zOFDcg8Wm8Xv29_8PWuuW15qmAE/export?format=csv&gid=0"
  },
  {
    "data": "{\"Crisco\": \"Infinity\", \"LinearOptimizationSheet\": \"\", \"Milk\": \"Infinity\", \"Variable Name\": \"Upper Bound\", \"apples\": \"Infinity\", \"asparagus (can)\": \"Infinity\", …",
    "rowIndex": 3,
    "sheetTitle": "LinearOptimizationSheet, column_2, Variable Name, wheat flour (enriched), macaroni, wheat cereal (enriched), corn flakes, corn meal, hominy grits, rice, rolled…",
    "url": "https://docs.google.com/spreadsheets/d/1XWJLkAwch5GXAt_7zOFDcg8Wm8Xv29_8PWuuW15qmAE/export?format=csv&gid=0"
  }
]

Call it from code

With the Apify API (one request; the response is the results):

curl -X POST "https://api.apify.com/v2/acts/nonstop_poacher~apify-google-sheets-alt/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"maxPages": 20, "proxyConfiguration": {"useApifyProxy": true}, "startUrls": [{"url": "https://docs.google.com/spreadsheets/d/1XWJLkAwch5GXAt_7zOFDcg8Wm8Xv29_8PWuuW15qmAE/export?format=csv&gid=0"}]}'

With the Python client (pip install apify-client):

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nonstop_poacher/apify-google-sheets-alt").call(run_input={'maxPages': 20,
 'proxyConfiguration': {'useApifyProxy': True},
 'startUrls': [{'url': 'https://docs.google.com/spreadsheets/d/1XWJLkAwch5GXAt_7zOFDcg8Wm8Xv29_8PWuuW15qmAE/export?format=csv&gid=0'}]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

From an AI agent: connect Apify's MCP server and add the Actor nonstop_poacher/apify-google-sheets-alt.

Questions

What does it cost? $0.80 per 1,000 results, charged per result through your Apify account. You pay only for results it returns.

Something wrong? Open an issue on the Issues tab of its Store page.