JSON
JSON is a universal data format used by thousands of APIs and web services. With Coupler.io's JSON source, you can connect to any REST API endpoint that returns JSON data—no coding or special tools required. Whether you're pulling data from a custom API, a SaaS platform's REST endpoint, or your own server, JSON gives you complete flexibility.
Why connect to Coupler.io?
Work with any REST API — Connect to APIs that don't have a pre-built Coupler.io connector, or use multiple endpoints from the same service
No coding required — Configure HTTP methods, headers, query parameters, and request bodies through a simple form
Support for all HTTP methods — Use GET, POST, PUT, PATCH, or DELETE depending on your API's requirements
Flexible data extraction — Target specific nested objects with path expressions, select specific columns, and handle complex JSON structures
Send data anywhere — Deliver your JSON data to Google Sheets, Excel, BigQuery, Looker Studio, or AI destinations like Claude, ChatGPT, and Gemini
Prerequisites
A REST API endpoint that returns JSON data (public URL or with authentication)
API authentication credentials if your endpoint requires them (API keys, OAuth tokens, etc.)
Basic understanding of your API's requirements (HTTP method, headers, parameters)
Quick start
How to connect
Create a new data flow and select JSON as your source.
Enter the JSON URL — Paste the REST API endpoint URL where you want to fetch data from (e.g., https://api.example.com/v1/users).
Select the HTTP method — Choose the method your API requires: GET (most common), POST, PUT, PATCH, or DELETE. Check your API documentation if you're unsure.
Add authentication headers (if needed) — If your API requires authentication, add headers like Authorization: Bearer YOUR_TOKEN or X-API-Key: YOUR_KEY in the Request headers field. Format each header on a new line as HeaderName: HeaderValue.
Add URL query parameters (if needed) — If your API requires query parameters like ?filter=active&limit=100, add them in the URL query parameters field. Format as key=value pairs, one per line.
Add a request body (if needed) — If you're using POST, PUT, or PATCH, and your API requires a body, add it in YAML format. Convert JSON examples from your API docs to YAML using a tool like JSON2YAML. For example: customer_id: 1 and customer_email: email@example.com on separate lines.
Set the path (optional) — If your JSON response has nested objects and you only want data from a specific part, use dot notation (e.g., data.users or results.items). Leave blank to import all data from the root level.
Select columns (optional) — By default, all columns are imported. To import only specific columns, list their names separated by commas (e.g., id,name,email,created_at).
Choose your destination — Select where you want the data to go: Google Sheets, Excel, BigQuery, Looker Studio, or an AI destination like Claude or ChatGPT.
Run the data flow — Click Run to execute the data flow and test the connection. A successful run is required before you can schedule regular updates.
Common use cases
JSON works with any REST API. Here are typical scenarios:
Fetch user or product data
GET
API key or OAuth token in headers
Submit webhook data or custom requests
POST
API key or OAuth token
Update records from an external system
PUT / PATCH
API key or OAuth token
Sync data from a custom internal API
GET / POST
Bearer token or custom headers
Pull data from multiple API endpoints
GET (multiple data flows)
API key or OAuth token
JSON data overview
JSON is a flexible source—it doesn't have predefined entities or reports. Instead, you define the data structure by specifying the API endpoint, HTTP method, and any authentication or parameters required. The data you import depends entirely on what your API returns.
How JSON data mapping works
When you connect to a JSON API:
URL — The API endpoint that returns JSON data
HTTP method — How the API processes your request (GET, POST, PUT, PATCH, DELETE)
Authentication — Headers or parameters needed to authenticate (API keys, OAuth tokens, etc.)
Path — Optional: Navigate nested JSON structures using dot notation (e.g.,
data.usersselects theusersarray inside thedataobject)Columns — Optional: Import all columns by default, or specify which columns to include
Data structure examples
Flat JSON array
If your API returns an array of objects at the root level:
Leave the Path field empty, and Coupler.io will import all rows with columns: id, name, email.
Nested JSON objects
If your API returns nested data like:
Set Path to data.users to extract the users array.
Paginated responses
If your API returns paginated data with a results array:
Set Path to results to extract the data array. For pagination, use URL query parameters like page=1&limit=50 and create separate data flows for each page, then use Append to combine them.
Working with different HTTP methods
GET (most common)
Fetch data from an API endpoint. No request body is needed. Use URL query parameters to filter or paginate.
Example: https://api.example.com/v1/users?limit=100&offset=0
POST
Submit data to retrieve results. Use a request body to specify what data you want. Common for search APIs or webhooks.
Example body:
PUT / PATCH
Update records and retrieve the updated data. PUT replaces an entire resource, PATCH updates specific fields. Usually requires a request body.
Example body:
DELETE
Delete a record or request. May return the deleted object or a confirmation.
Authentication methods
API Key (in header)
X-API-Key: YOUR_KEY
X-API-Key: abc123xyz
Bearer token
Authorization: Bearer YOUR_TOKEN
Authorization: Bearer eyJhbGc...
Basic auth (in header)
Authorization: Basic BASE64_ENCODED
Authorization: Basic dXNlcjpwYXNz
Custom header
HeaderName: value
X-Custom-Auth: mytoken123
Check your API documentation to find the correct authentication header format.
Common workflows
Extracting a single array from a nested response
If your API returns data inside a nested object, use Path to target it:
API response has structure:
{ "meta": {...}, "data": [{...}] }Set Path to:
dataResult: Coupler.io imports only the array inside
data
Filtering data by columns
If your API returns many columns but you only need a few:
Set Columns to a comma-separated list:
id,name,email,created_dateCoupler.io imports only these columns, making your destination sheet cleaner and reducing data transfer
Combining data from multiple API endpoints
If you need data from two different API endpoints:
Create a first data flow for the first endpoint
Create a second data flow for the second endpoint
In your destination, use Append transformation to combine both data flows
Or use Join if the data flows share a common ID column
Retry configuration
For unreliable APIs, configure automatic retries:
Retries Count — Number of attempts if the API fails (e.g.,
3for 3 retry attempts)Retries Delay — Wait time between retries in milliseconds (e.g.,
1000= 1 second)
Example: 3 retries with 2-second delay between each = if the first request fails, retry 3 times, waiting 2 seconds between each attempt.
Use cases by role
You can use JSON to:
Connect to custom internal APIs and pull operational data into Google Sheets or BigQuery
Test API endpoints before building full integrations
Automate data syncing from microservices, webhooks, or third-party REST APIs
Use POST requests to trigger API actions and capture response data
Combine data from multiple microservices using Append or Join transformations
Deliver processed data to Claude or ChatGPT for analysis or summarization
Example: Pull user activity data from a custom API every hour, filter by columns, and append to a BigQuery table.
You can use JSON to:
Connect to REST APIs that don't have pre-built Coupler.io connectors
Pull raw data directly into Google Sheets or BigQuery for analysis
Extract specific nested objects using path expressions to simplify complex API responses
Create multiple data flows for different API endpoints and combine them with Append or Join
Automate data collection without building custom scripts
Send API data to Claude or Perplexity for quick analysis or insights
Example: Fetch customer metrics from an internal API, select specific columns, and append to an analytics sheet alongside CRM data.
You can use JSON to:
Pull real-time data from business tools' REST APIs into Google Sheets dashboards
Monitor operational metrics by importing from custom internal systems
Combine data from multiple sources into a single view using transformations
Automate reports by pulling fresh data on a schedule
Send summarized data to ChatGPT or Gemini for quick business insights
Example: Import daily revenue and customer counts from an internal API, combine with other sources, and auto-refresh your executive dashboard.
Platform-specific notes
Google Sheets — JSON data flows work seamlessly with the Coupler.io Google Sheets add-on. Create the data flow, run it, and it imports directly into your sheet.
BigQuery — Use JSON for continuous data ingestion into BigQuery tables. Set up scheduling for automated daily or hourly syncs.
Excel — JSON data flows can export to Excel files, but scheduling is most reliable with cloud destinations (Google Sheets, BigQuery).
Multiple API endpoints — Create one data flow per endpoint. Use Append or Join transformations in your destination to combine them.
Pagination — If your API paginates results, create separate data flows for each page or use query parameters to fetch all data in one request. Then use Append to combine pages.
Rate limiting — Some APIs have rate limits. Use Retries Count and Retries Delay to handle temporary failures gracefully. Space out scheduled refreshes to avoid hitting limits.
AI destinations — Send JSON data to Claude, ChatGPT, Cursor, Gemini, Perplexity, or OpenClaw for instant analysis, summarization, or insight generation.
JSON common issues
Connection issues
Missing data
Permission errors
Data discrepancies
Rate limits
JSON FAQ
Last updated
Was this helpful?

