Skip to content

Frequently Asked Questions

Everything you need to know about using SheetsToJson.

Getting Started

What is SheetsToJson?

SheetsToJson is a service that transforms Google Sheets into RESTful JSON APIs. It allows you to use Google Sheets as a simple database with full CRUD operations (Create, Read, Update, Delete) through API endpoints.

How do I get started?

Getting started is easy:

  1. Register for a free account (includes 3-day trial)
  2. Click "Register Sheet" and paste your Google Sheets URL
  3. Get your API key automatically
  4. Start making API calls to your sheet data

Do I need to know how to code?

Basic knowledge of APIs is helpful, but not required. We provide detailed documentation, code examples in multiple languages (JavaScript, Python, PHP, etc.), and auto-generated API documentation for your sheets.

Sheets & Registration

What types of Google Sheets can I use?

You can use both public sheets (shared with "Anyone with link") and private sheets (requires OAuth authentication). Public sheets are read-only, while private sheets support full CRUD operations if you grant access.

How do I make my Google Sheet public?

To make your sheet public:

  1. Open your Google Sheet
  2. Click "Share" in the top right
  3. Click "Change to anyone with the link"
  4. Set permission to "Viewer"
  5. Click "Copy link"
  6. Paste this link into SheetsToJson

How do I register a private sheet?

For private sheets, click "Register Sheet" and then "Authenticate with Google" when prompted. This will ask you to sign in with Google and grant SheetsToJson permission to access your sheets. Your access token is securely stored and never shared.

Can I use the same sheet for multiple APIs?

Yes! You can create multiple API keys for the same sheet with different permissions (read-only, read-write) and rate limits. This is useful for different applications or environments (dev, staging, production).

API Usage

How do I make API calls?

All API calls require your API key in the X-API-Key header. Example:

javascript
fetch('https://api.sheetstojson.com/api/v1/YOUR_SHEET_ID/Sheet1', {
  headers: {
    'X-API-Key': 'your-api-key-here'
  }
})

Replace YOUR_SHEET_ID with your sheet ID and Sheet1 with your tab name.

What endpoints are available?

Each sheet provides these endpoints:

  • GET /api/v1/:sheetId/:tabName - Get all rows
  • GET /api/v1/:sheetId/:tabName/:rowId - Get single row
  • POST /api/v1/:sheetId/:tabName - Create new row(s)
  • PUT /api/v1/:sheetId/:tabName/:rowId - Update row
  • DELETE /api/v1/:sheetId/:tabName/:rowId - Delete row

View your auto-generated OpenAPI docs in the dashboard for complete details.

Can I filter or paginate results?

Yes! Use query parameters:

  • ?limit=10 - Limit number of results
  • ?offset=20 - Skip first N results
  • ?sort=name - Sort by column
  • ?order=desc - Sort order (asc/desc)

Example: GET /api/v1/abc123/Users?limit=10&offset=0&sort=email

API Keys & Security

How do API keys work?

API keys authenticate your requests and track usage. Each key can have specific permissions (read-only or read-write) and custom rate limits. Keys are automatically generated when you register a sheet, and you can create additional keys in your dashboard.

Where should I store my API key?

Never commit API keys to version control or expose them in client-side code. Store them in environment variables or secure configuration management systems. For frontend applications, make API calls through your backend to keep keys secure.

What if my API key is compromised?

You can immediately revoke a compromised key in your dashboard under "API Keys". This instantly blocks all requests using that key. Then create a new key to replace it. No need to re-register your sheet.

Is my data secure?

Yes! All API requests use HTTPS encryption. API keys are hashed in our database. OAuth tokens for private sheets are encrypted at rest. We never store your Google account password. Your data stays in your Google Sheet - we only act as a secure gateway.

Billing & Plans

What does the free trial include?

Your 3-day free trial includes 1 Google Sheet, 10,000 API requests per month, full CRUD operations, OAuth support, and automatic OpenAPI documentation. No credit card required!

What happens when my trial ends?

When your trial ends, you can upgrade to a paid plan to continue using the service. Your sheets and API keys remain intact - just choose a plan that fits your needs. If you don't upgrade, API access will be paused but your data is never deleted.

What payment methods do you accept?

We accept all major credit cards (Visa, Mastercard, American Express, Discover) through our secure Stripe integration. Billing is monthly or annual depending on your plan.

Can I change or cancel my plan?

Yes! You can upgrade, downgrade, or cancel anytime from your Billing page. Changes take effect at the start of your next billing cycle. No long-term contracts or cancellation fees.

Troubleshooting

Why am I getting a 401 Unauthorized error?

A 401 error means authentication failed. Check:

  • Is your API key included in the X-API-Key header?
  • Is the API key spelled correctly (no extra spaces)?
  • Has the API key been revoked?
  • Are you using the correct sheet ID?

You can test your API key in the dashboard under "API Keys".

Why am I getting a 429 Rate Limit error?

You've exceeded your plan's rate limit. Check your usage in the Analytics page. You can upgrade your plan for higher limits, or wait for the rate limit window to reset (usually 1 hour).

My sheet structure changed - how do I update the API?

If you add/remove columns or tabs, click "Refresh Schema" in your dashboard under the sheet details. This will update the API to reflect your changes. Existing API keys continue to work.

Why can't I write to my sheet?

Check these common issues:

  • Is your sheet public? Public sheets are read-only. Use OAuth for write access.
  • Does your API key have write permissions? Check in API Keys settings.
  • Did you authenticate with Google for this sheet?
  • Is the sheet protected or locked in Google Sheets?

Account & Profile

How do I verify my email?

Check your inbox for a verification email from SheetsToJson. Click the verification link to activate your account. Didn't receive it? Check your spam folder or resend from your Profile page.

How do I reset my password?

Click "Forgot password?" on the login page, enter your email, and follow the instructions in the reset email. The link expires in 1 hour for security.

Can I change my email address?

Currently, email addresses cannot be changed. If you need to use a different email, please contact support. We're working on adding this feature.

Advanced

Can I use webhooks?

Webhook support is coming soon! This will allow your application to receive real-time notifications when data in your sheet changes.

Is there a GraphQL API?

Not yet, but GraphQL support is on our roadmap. Currently, we provide a REST API with full CRUD operations.

Can I self-host SheetsToJson?

SheetsToJson is currently a hosted service only. However, we may offer an enterprise self-hosted option in the future. Contact us if you're interested.


Still have questions?

Visit our Help Center →

Built with VitePress