GraphQL Response Analyzer
Analyze GraphQL API responses online. Inspect data, errors, response paths, null values, structure, and response statistics with a privacy-first browser-based analyzer.
Partial Response: Server returned data for resolved fields alongside GraphQL errors for failed resolvers.
Top-Level Response Structure
Value Types Distribution (35 Total)
How to Use
1. What is a GraphQL Response?
A GraphQL Response is a JSON document returned by a GraphQL server following the execution of a query, mutation, or subscription. Unlike traditional REST API endpoints that emit varying response schemas and rely solely on coarse HTTP status codes (such as 200, 400, 404, or 500), the GraphQL specification establishes a strict top-level response envelope.
A GraphQL response may contain a data map, an errors list, and an optional extensions map. Because individual GraphQL resolvers execute independently, a response can succeed partially—returning requested data for healthy resolvers while simultaneously cataloging granular errors for failed resolvers.
2. Standard GraphQL Response Structure (data, errors, extensions)
According to Section 7 of the official GraphQL Specification, a valid response document contains up to three standardized top-level keys:
Contains the result of evaluated field selections. If execution fails before execution begins (e.g. syntax error), data must not be present.
A non-empty list of error entries, each specifying an error message, optional path array, locations, and extensions.
Reserved for protocol extensions, performance tracing metadata, caching hints, and server diagnostics.
3. How to Analyze a GraphQL Response
Follow these steps to analyze and debug any GraphQL response payload:
- Paste Response: Paste your raw JSON response into the Monaco editor or click Load Example to test with 12 real-world scenarios.
- Analyze: Click Analyze or press Ctrl+Enter (or keep Live Analysis enabled for instant updates).
- Review Health: Inspect the Response Health card to see whether the payload is classified as Success, Partial Response, Error Response, or Invalid JSON.
- Inspect Errors: Navigate to the GraphQL Errors tab to review error codes, resolver paths (e.g.
$.data.user.email), and categories. - Jump to Line: Click View in Response on any error or null path to focus and scroll the Monaco editor directly to that exact line.
- Explore Data Tree: Expand and search the interactive Tree Explorer to inspect nested objects, arrays, and field types.
- Export Report: Copy or download structured JSON or formatted Markdown audit reports.
4. Response Health: Success vs. Partial vs. Error
| Status | Condition | Meaning & Client Impact |
|---|---|---|
| SUCCESS | data present, errors absent | All requested fields resolved without exception. Full clean data payload. |
| PARTIAL RESPONSE | data present, errors present | Some fields resolved successfully while specific resolvers threw errors and returned null. |
| ERROR RESPONSE | errors present, data absent or null | Operation failed globally (e.g. authentication, query syntax, or non-nullable field failure). |
| INVALID JSON | Malformed JSON syntax | Payload contains syntax errors (unquoted keys, missing commas, truncated network buffer). |
5. Understanding Partial GraphQL Responses
One of the most important architectural features of GraphQL is Partial Execution Resilience. In REST APIs, an unhandled database exception on an auxiliary relationship (such as user comments or billing status) typically fails the entire HTTP request with a 500 Internal Server Error.
In GraphQL, field resolvers run asynchronously. If a field is defined as nullable (e.g. email: String rather than String!) and its downstream service fails, GraphQL sets email: null in the data object, appends an error object to errors, and returns the rest of the user data intact.
6. Error Analysis: Messages, Paths, Locations & Codes
The path array precisely specifies where the resolver error occurred in the response tree (e.g. ["users", 2, "email"] maps to $.data.users[2].email).
Standard error codes (such as UNAUTHENTICATED, FORBIDDEN, BAD_USER_INPUT, or NOT_FOUND) provide machine-readable error handling for client apps.
7. Null Value Analysis & Null Rate Metrics
Null values in GraphQL can represent legitimate empty fields or silent resolver failures. The analyzer tracks:
- Total Null Count & Percentage: The proportion of response fields that evaluated to null.
- Null Paths Roster: Exact JSONPaths for every null field with one-click editor navigation.
- Null-Error Correlation: Identifies which null fields correspond directly to entries in the
errorslist.
8. Interactive Response Tree Explorer & Value Inspector
The Tree Explorer converts large GraphQL JSON documents into an interactive, expandable tree. Developers can search across keys, values, and paths, expand/collapse sub-trees, and click any node to immediately reveal its exact line in the editor.
9. Payload Statistics: Objects, Arrays, Keys & Depth
Calculates the deepest nested branch in the data hierarchy.
Identifies top-level and nested arrays by length and objects by field count.
Displays raw and formatted payload bytes for network optimization.
11. Step-by-Step Practical Debugging Example
Consider this partial response from an e-commerce API:
{
"data": {
"user": {
"id": "usr_100",
"name": "Jane Doe",
"email": null
}
},
"errors": [
{
"message": "Email service unavailable",
"path": ["user", "email"],
"extensions": {
"code": "SERVICE_UNAVAILABLE"
}
}
]
}Analysis Summary:
- Classification:
PARTIAL RESPONSE. - Resolved Fields:
user.idanduser.nameare present. - Failed Resolver:
user.emailfailed and bubbled tonull. - Error Code:
SERVICE_UNAVAILABLE(Category: Server / Resolver).
12. Real-World API Development & Troubleshooting Use Cases
Verify how Apollo Client or Relay will handle partial resolver exceptions.
Identify failed microservice dependencies and error code propagation.
Measure nesting depth and null rates to optimize schema field allocations.
13. Exporting Markdown & JSON Analysis Reports
Generate comprehensive documentation for pull requests, bug reports, and incident reviews. Export complete audit summaries as Markdown or machine-readable JSON with one click.
14. 100% Client-Side In-Browser Privacy Guarantee
All JSON parsing, recursive tree generation, null analysis, error categorization, and report formatting execute entirely within your web browser using client-side JavaScript. No response payloads, user records, or tokens are ever sent to ToolMono servers.
15. Authoritative References & Standards
Consult official specifications from the GraphQL Foundation and IETF:
GraphQL Official Specification: Response Format (Section 7)
Authoritative specification for GraphQL data, errors, and extensions serialization.
GraphQL Official Specification: Errors (Section 7.3)
Official specification for error messages, paths, locations, and extensions.
GraphQL.org Error Handling & Partial Response Guide
Official guide for handling GraphQL errors and partial responses.
RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format
IETF standard for JSON grammar and parsing.
16. Frequently Asked Questions (20 FAQs)
Related Tools
Browse all toolsGraphQL Playground
Test GraphQL APIs online with an interactive query editor, variables, headers, schema introspection, documentation explorer, response viewer, and GraphQL error debugging.
JSON Formatter
Free online JSON formatter, beautifier, and validator. Format, indent, minify, and inspect JSON with real-time syntax error detection in your browser. 100% client-side.
JSON Transformer
Free online multi-engine JSON transformer. Filter, reshape, map, and restructure complex JSON payloads using JavaScript, jq, JSONPath, and Jolt specifications with 100% client-side Web Worker execution, live preview, and Monaco editors.
Free JSON Diff Checker
Compare two JSON files or objects online and find structural differences instantly. Detect added, removed, and modified values with nested key paths in your browser.
JSON Schema Validator
Validate JSON data against a JSON Schema online with detailed errors, JSON paths, draft detection, and browser-based processing.
OpenAPI Validator
Validate, lint, and audit OpenAPI 3.2, 3.1, 3.0 and Swagger 2.0 specifications in JSON or YAML. Detect syntax errors, broken $ref pointers, path issues, security vulnerabilities, and API design warnings in your browser.
Webhook Tester
Generate a free temporary webhook URL to capture, inspect, and debug incoming HTTP payloads, headers, and JSON in real time. Replay requests instantly.
cURL to Code
Convert cURL commands and browser DevTools requests into clean, idiomatic code for JavaScript, Python, Node.js, Go, and PHP. 100% client-side with zero server uploads.