How to convert Excel or a Google Sheet to JSON (API and no-code)
Short answer
Download the file, read the header row, drop blank rows and convert cells to typed values (numbers stay numbers, dates become ISO dates). Sheetshuck on Apify does it for any file link or public Google Sheets link at $0.002 per file plus $0.00002 per row; failed files are free.
- Put file links in fileUrls: .xlsx, .xls, .ods, .csv, .tsv, or a Google Sheets, Drive or Dropbox share link (shared as "anyone with the link").
- Set headerRow if the column names are not on row 1 (rows above are skipped).
- Pick sheets by name or number, or leave empty for all.
- Choose headerStyle camelCase or snake_case for clean JSON keys, and dateFormat.
- Run: one JSON row per spreadsheet row, with _file and _sheet; turn on monitor to get only changed rows on a schedule.
Copy-paste code
Python (pip install apify-client)
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("cybermax/excel-to-json").call(run_input={"fileUrls": ["https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/edit"], "headerStyle": "camelCase"})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)Chain after any scraper (Apify Integrations -> Run Actor)
{
"fileUrls": ["https://example.com/supplier-prices.xlsx"],
"monitor": true,
"monitorKey": "supplier-prices"
}No code: n8n, Make or Zapier
n8n: HTTP Request node (or the Apify node, action "Run an Actor and get dataset")
Method: POST
URL: https://api.apify.com/v2/acts/cybermax~excel-to-json/run-sync-get-dataset-items
Auth: Header Auth -> Authorization: Bearer <your Apify token>
Body: JSON {"fileUrls": ["https://go.microsoft.com/fwlink/?LinkID=521962"]}
Make: Apify app -> "Run an Actor" (Actor: cybermax/excel-to-json, wait for finish = yes) -> "Get Dataset Items"
Zapier: Apify app -> action "Run Actor" (cybermax/excel-to-json) -> "Fetch Dataset Items" -> your app
Runs longer than 5 minutes: start with POST /v2/acts/cybermax~excel-to-json/runs and read the dataset when the run finishes.From an AI agent (MCP)
# Any MCP client (Claude Desktop, Claude Code, Cursor, VS Code): Apify's hosted MCP server
{
"mcpServers": {
"excel-to-json": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.apify.com/?tools=cybermax/excel-to-json",
"--header", "Authorization: Bearer ${APIFY_TOKEN}"],
"env": { "APIFY_TOKEN": "<your Apify token>" }
}
}
}
# The agent sees one tool, cybermax--excel-to-json, with the Actor's input schema.| segment | country | product | unitsSold | grossSales | date |
|---|---|---|---|---|---|
| Government | Canada | Carretera | 1618.5 | 32370 | 2014-01-01 |
| Government | Germany | Carretera | 1321 | 26420 | 2014-01-01 |
Source: Sheetshuck (Apify Actor cybermax/excel-to-json) README, real Apify run on 10 Nov 2026
Google Sheets without the Google API
A sheet shared as "anyone with the link" can be exported as a file. Sheetshuck turns the normal share link into that export link, so no Google login or API key is needed.
Typed values, not cell text
Numbers stay numbers and Excel dates become ISO dates, so the JSON can go straight into an API, a database or an AI agent without cleanup.
Watch a sheet for changes
With monitor on, an unchanged file is skipped for free and an edited file returns only its new or changed rows.
Good to know
Formulas come through as their calculated values.
For .xlsx files over a few MB, give the run about 10 times the file size in memory.
Docsieve: Websites to clean Markdown for RAG
$0.001 per page, no start feeConverting web pages rather than files? Docsieve crawls a website or docs site into clean Markdown and RAG-ready chunks.
Runs on your own Apify account, pay per result; failed results are not charged.Questions
Is it free to try?
Yes. Run it with no input for a free demo on a sample CSV.
Can it read private Google Sheets?
No. Share the sheet as "anyone with the link can view".
How large a file?
Up to 50 MB by default, 200 MB at most.
Can an AI agent use it?
Yes. Apify's MCP server exposes it as cybermax--excel-to-json.
Free: the Free API Starter Kit
Copy-paste calls for 4 APIs with free daily tiers (CVE priority, VIN recalls, US duty rates, email checks), then 5 short emails on KEV/EPSS, MCP and free data.