Back to Blog

API Testing to Excel: Consultant's Workflow for Client Deliverables

You've just finished testing a client's API. Postman shows the responses look correct. Now the client asks for "documentation" or "a spreadsheet showing the data."

You could spend 30 minutes copying values into Excel manually. Or you could do what experienced consultants do: automate the boring parts and bill for the interesting ones.

Here's the workflow for converting API test data into client-ready Excel deliverables in under 2 minutes.

The Consultant's Problem

When you're billing $150/hour, time spent on data formatting is expensive—for you if it's fixed price, for the client if it's T&M. Either way, it's low-value work.

Common deliverable requests:

  • "Can you show me all the products the API returns?"
  • "I need the user data in a spreadsheet for the migration team"
  • "Export the order history so finance can reconcile"
  • "Document what fields the API actually returns"

Each of these involves the same pain: nested JSON → flat Excel.

The 2-Minute Workflow

Step 1: Get Your API Response

From Postman, Insomnia, or cURL:

Postman:

  1. Send your request
  2. Click the response body
  3. Copy all (Ctrl+A, Ctrl+C)
  4. Or: Right-click → Save Response → Save to File

cURL:

curl https://api.client.com/endpoint -H "Authorization: Bearer xxx" > response.json

Step 2: Convert to Excel

  1. Go to JsonExport
  2. Paste the JSON or drop the file
  3. Preview the flattened structure
  4. Download as .xlsx

What happens automatically:

  • Nested objects become separate columns: user.address.city
  • Arrays expand: items[0].name, items[1].name
  • Double-encoded strings get cleaned up
  • "null" and "undefined" display properly

Step 3: Polish for Client

The raw flattened data is technically correct but might overwhelm clients:

Quick cleanup in Excel:

  • Delete internal ID columns (keep customer-facing data)
  • Rename cryptic headers (sku_id → "Product ID")
  • Add filters for easy exploration
  • Freeze the header row

2 minutes total. Bill for 15.

Real Examples from Consulting Work

E-Commerce API Audit

Client request: "Show me all the order data your system will receive"

API Response (nested):

{
  "orders": [
    {
      "id": "ORD-001",
      "customer": {
        "name": "John Doe",
        "email": "john@example.com"
      },
      "items": [
        {"sku": "PROD-A", "qty": 2, "price": 29.99}
      ],
      "shipping": {
        "address": {
          "city": "New York",
          "zip": "10001"
        }
      }
    }
  ]
}

After flattening:

idcustomer.namecustomer.emailitems[0].skuitems[0].qtyshipping.address.city
ORD-001John Doejohn@example.comPROD-A2New York

Client can now see exactly what data flows through their integration.

User Migration Project

Client request: "Get all users from the old system so we can plan the migration"

API returns 500 users with nested roles, permissions, and metadata.

Workflow:

  1. Hit the /users endpoint with pagination
  2. Combine responses into one JSON file
  3. Flatten → Excel
  4. Add column for "Migration Status" (client fills in)
  5. Deliver as "User Migration Tracking Sheet"

Time: 10 minutes. Value: Client can plan their entire migration.

API Schema Documentation

Client request: "Document what fields the API returns"

Instead of writing a table manually:

  1. Capture a full response with sample data
  2. Flatten to Excel
  3. The column headers ARE your field documentation
  4. Add a row explaining each field's purpose

Deliverable: A living document the client can update.

Handling Complex API Responses

Pagination

When an API returns 20 items per page:

Option 1: Export each page, combine in Excel

  • Flatten each response
  • Append sheets or use Power Query → Combine

Option 2: Collect all pages first

# Pseudo-code
for page in 1..10; do
  curl "api/items?page=$page" >> all_items.json
done

Then flatten the combined file.

Nested Arrays

API returns orders with multiple line items:

{
  "orders": [
    {
      "id": "1",
      "items": [
        {"product": "A", "qty": 1},
        {"product": "B", "qty": 2}
      ]
    }
  ]
}

Flattened result:

  • items[0].product, items[1].product, etc.

For analysis, you might want one row per item. After flattening, use Excel's Power Query to unpivot:

  1. Data → Get Data → From Table
  2. Select item columns → Unpivot

Inconsistent Structures

Some APIs return different fields based on context:

// Premium user
{"user": {"name": "...", "tier": "premium", "discount": 20}}

// Free user  
{"user": {"name": "...", "tier": "free"}}

JsonExport handles this: creates a user.discount column, shows blank for users without it.

Professional Deliverable Templates

Template 1: Data Audit Report

For security/compliance reviews:

Field PathSample ValueContains PII?Notes
user.emailjohn@...YesHash in prod
user.nameJohn DoeYes
order.idORD-001No

Generate the first two columns from flattening, add the review columns manually.

Template 2: Integration Test Results

For QA handoffs:

EndpointRequestExpectedActualStatus
/usersGET all200 + users[]Pass
/ordersPOST new201 + order objectPass

Attach the flattened responses as additional sheets for reference.

Template 3: Data Mapping Document

For ETL projects:

Source FieldSource TypeTarget FieldTarget TypeTransform
user.createdAtISO datetimecreated_dateDATEParse
user.fullNameStringfirst_nameVARCHAR(50)Split

First column comes from flattening the source API. Add mapping columns for the target system.

Privacy Considerations

Client API data often contains:

  • Customer PII
  • Internal business metrics
  • Authentication tokens (if you're not careful)

JsonExport processes everything locally:

  • Data never touches external servers
  • Safe for NDA-protected client work
  • No data retention concerns

If a client asks "Where did you process our data?":

"Locally in my browser. No cloud services involved."

When to Use This vs. Writing Code

SituationUse This WorkflowWrite Code
One-time exportOverkill
Client demoToo slow
Ad-hoc analysis
Recurring daily job✓ (automate)
10,000+ records✓ (Python/Node)
Complex transformations

For consulting work, 90% of data requests are one-time. This workflow handles those efficiently.

Tools for the Workflow

API Testing:

  • Postman (free tier works)
  • Insomnia
  • HTTPie (CLI)
  • VS Code REST Client extension

JSON → Excel:

Excel Cleanup:

  • Excel's built-in filters and formatting
  • Power Query for advanced transformations

Documentation:

  • Markdown → PDF for formal docs
  • Excel with comments for working docs

Conclusion

API testing deliverables don't require custom scripts. The workflow:

  1. Capture - Export from Postman or cURL
  2. Convert - Flatten JSON to Excel (30 seconds)
  3. Polish - Rename columns, add context
  4. Deliver - Professional spreadsheet, minimal effort

Your clients get clear visibility into their data. You spend time on high-value work instead of manual formatting.

Try the workflow now - Paste any API response, export to Excel.


Related Guides: