MCP Hub
Back to servers

Talk2Data InsightGenius

Survey data analysis: crosstabs with significance, ANOVA, correlation, Excel exports.

Registryglama
Updated
Mar 25, 2026

SPSS InsightGenius API

Professional SPSS processing API + MCP server for market research. Upload .sav files, get crosstabs with significance testing, auto-detected question types, and publication-ready Excel exports. Includes AI-powered zero-config analysis.

Live: spss.insightgenius.io | API Docs: spss.insightgenius.io/docs | MCP: spss.insightgenius.io/mcp/sse


Quick Start

Option 1: Web UI (no code needed)

  1. Open spss.insightgenius.io
  2. Drag & drop your .sav file
  3. Click Auto-Analyze for instant results, or configure manually:
    • Select banner variables (demographics for columns)
    • Choose stubs (questions for rows)
    • Enable Top 2 Box / Means
  4. Click Generate Excel → download your tabulation

Option 2: Auto-Analyze (zero config)

curl -X POST https://spss.insightgenius.io/v1/auto-analyze \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@survey.sav" \
  -o auto_analysis.xlsx

AI auto-detects banners, groups variables into MRS/Grid, applies nets, and generates a complete Excel.

Option 3: Full Control

curl -X POST https://spss.insightgenius.io/v1/tabulate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@survey.sav" \
  -F 'spec={
    "banners": ["gender", "region", "age_group"],
    "stubs": ["_all_"],
    "significance_level": 0.95,
    "include_means": true,
    "nets": {"sat_overall": {"Top 2 Box": [4,5], "Bottom 2 Box": [1,2]}},
    "mrs_groups": {"Brand_Awareness": ["AWARE_A","AWARE_B","AWARE_C"]}
  }' -o tabulation.xlsx

Option 4: Python

import requests, json

resp = requests.post(
    "https://spss.insightgenius.io/v1/tabulate",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    files={"file": open("survey.sav", "rb")},
    data={"spec": json.dumps({
        "banners": ["gender", "region"],
        "stubs": ["_all_"],
        "include_means": True,
        "significance_level": 0.95,
    })}
)
with open("tabulation.xlsx", "wb") as f:
    f.write(resp.content)
print(f"Done: {resp.headers['X-Stubs-Success']} tables generated")

Option 5: MCP (for AI agents)

Connect to https://spss.insightgenius.io/mcp/sse and use any of the 12 tools. Files are passed as base64.


Endpoints (14)

MethodEndpointDescription
POST/v1/auto-analyzeZero-config — upload .sav, get complete Excel (AI-detected banners, MRS, grids, nets)
POST/v1/tabulateFull tabulation → Excel with sig letters, nets, means, MRS, grids, custom groups. Accepts optional .docx Reporting Ticket.
POST/v1/metadataVariable metadata + suggested banners + detected groups + preset nets
POST/v1/frequencyFrequency table (counts, %, mean, std, median)
POST/v1/crosstabSingle crosstab with sig letters (A/B/C) + chi-square p-value
POST/v1/correlationCorrelation matrix (Pearson/Spearman/Kendall) with p-values
POST/v1/anovaOne-way ANOVA with Tukey HSD post-hoc comparisons
POST/v1/gap-analysisImportance-Performance gap analysis with quadrants
POST/v1/satisfaction-summaryCompact T2B/B2B/Mean for multiple scale variables
POST/v1/processMulti-operation pipeline (auto-detect or manual)
POST/v1/convertConvert .sav → xlsx, csv, parquet, dta
POST/v1/parse-ticketParse Reporting Ticket .docx → tab plan (Haiku AI)
GET/v1/healthHealth check + engine status
GET/v1/usageUsage stats for your API key

MCP Tools (12)

ToolDescription
get_spss_metadataVariable metadata + auto-detect
get_variable_infoSingle variable detail
analyze_frequenciesFrequency table
analyze_crosstabsCrosstab with sig letters
analyze_correlationCorrelation matrix
analyze_anovaANOVA + Tukey HSD
analyze_gapGap analysis with quadrants
summarize_satisfactionSatisfaction summary
create_tabulationFull tabulation → Excel (base64)
auto_analyzeZero-config → Excel (base64)
export_dataFormat conversion
list_filesAvailable tools

Tabulate Spec

FieldTypeDefaultDescription
bannersstring[]requiredDemographics for columns (e.g., ["gender", "region"])
stubsstring[]["_all_"]Questions for rows (_all_ = auto-select all)
significance_levelfloat0.950.90, 0.95, or 0.99
weightstringnullWeight variable name
include_meansboolfalseAdd Mean row with T-test sig letters
include_total_columnbooltrueTotal as first column
output_modestring"multi_sheet""multi_sheet" or "single_sheet"
netsobjectnullPer-variable net definitions
mrs_groupsobjectnullMRS groups: {"name": ["var1", "var2"]}
grid_groupsobjectnullGrid groups: {"name": {"variables": [...], "show": ["t2b","mean"]}}
custom_groupsarraynullCustom breaks with AND conditions
titlestring""Report title

Excel Output

  • Summary sheet: file info, column legend (A=London, B=South East...), stub index
  • One sheet per stub: headers → letters → base (N) → data with pct% SIG_LETTERS → nets → means
  • MRS sheets: one per group, percentages can exceed 100%
  • Grid sheets: compact T2B/B2B/Mean summary
  • Significance letters in red, nets in green rows
  • Freeze panes for scrolling

Significance Testing

Column proportion z-test with letter notation (A/B/C):

  • Each banner category gets a letter (e.g., Male=A, Female=B, London=C, North=D)
  • Each cell tested vs every other column
  • Significantly higher → other column's letter appears (e.g., 68.6% E means sig higher than column E)
  • Supports weighted (Kish effective-n) and unweighted
  • Means tested with independent T-test
  • Confidence levels: 90%, 95%, 99%

Authentication

All endpoints require: Authorization: Bearer sk_live_... or sk_test_...

Rate Limits

PlanRequests/minMax filePrice
Free105 MB$0
Growth6050 MB$29/mo
Business200200 MB$99/mo
EnterpriseUnlimited500 MBCustom

Error Codes

CodeHTTPMeaning
UNAUTHORIZED401Missing/invalid API key
FORBIDDEN403Valid key, wrong scope
RATE_LIMIT_EXCEEDED429Too many requests
INVALID_FILE_FORMAT400Not a .sav file
FILE_TOO_LARGE413Exceeds plan limit
VARIABLE_NOT_FOUND400Variable doesn't exist
PROCESSING_FAILED500Engine error
PROCESSING_TIMEOUT504Exceeded time limit

Local Development

git clone https://github.com/quack2025/spss-insightgenius-api.git
cd spss-insightgenius-api
pip install -r requirements.txt
cp .env.example .env  # Edit with your API key hash
python main.py        # → http://localhost:8000
python -m pytest tests/ -v  # 68 tests

Stack

LayerTechnology
APIFastAPI + Pydantic v2
EngineQuantipyMRX (crosstab, sig testing, auto-detect, MRS, NPS)
AIClaude Haiku (ticket parsing, smart labels, executive summary)
AuthAPI keys (SHA256, no DB)
Rate LimitingRedis (fallback: in-memory)
MCPFastMCP with SSE transport
DeployRailway (Docker, Gunicorn, 4 replicas, auto-deploy)

Built by Genius Labs.

Reviews

No reviews yet

Sign in to write a review