getqueryly API
Upload your file via code, ask in plain English, get calculated answers from your actual file.
Base URL: https://getqueryly.com
Quick Start
# 1. Upload a dataset
curl -X POST https://getqueryly.com/api/data-scientist/upload \
-F "session_id=my_session_1" \
-F "file=@sales_data.csv"
# 2. Ask a question
curl -X POST https://getqueryly.com/api/data-scientist/query \
-F "session_id=my_session_1" \
-F "query=Show average revenue by region"
# 3. Run a health check
curl https://getqueryly.com/api/data-scientist/health/my_session_1
Authentication
getqueryly supports two authentication methods: API keys for server-to-server calls, and session tokens for user sessions.
API Key Authentication
Generate an API key from the dashboard. Include it in the X-API-Key header.
curl -H "X-API-Key: dmk_your_key_here" \
https://getqueryly.com/api/makes/limits
Bearer Token Authentication
For user-specific endpoints, use the session token from sign-in.
curl -H "Authorization: Bearer eyJhbGciOi..." \
https://getqueryly.com/api/auth/me
Rate Limits
Limits are per-day and reset at midnight UTC. Anonymous users get 2 uses/day.
| Plan | Makes | Price |
|---|---|---|
| Anonymous | 2/day | Free |
| Free (registered) | 10/day | Free |
| Starter | 50 (no expiry) | GHS 49 |
| Growth | 200 (no expiry) | GHS 149 |
| Pro | 600 (no expiry) | GHS 399 |
Paid users have no daily limit. Buy as many times as you want, balance stacks.
Requests per minute (per API key)
AI endpoints (analysis, chat, actions, MCP) get the AI rate. Exceeding the rate returns 429 with a Retry-After header.
| Plan | Regular RPM | AI RPM |
|---|---|---|
| Free | 10/min | 5/min |
| Starter | 30/min | 15/min |
| Developer | 60/min | 30/min |
| Business | 120/min | 60/min |
Every API response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. Live per-key state is on the usage page.
Upload File
Upload a CSV, Excel, JSON, PDF, or text file. Returns an overview of the data and a session ID for querying.
| Param | Type | Required | Description |
|---|---|---|---|
session_id | string | Yes | Unique session identifier (e.g., ds_1234567890_abc) |
file | File | Yes | File to upload. Max 50MB. CSV, XLSX, XLS, JSON, PDF, TXT, MD, PARQUET. |
curl -X POST https://getqueryly.com/api/data-scientist/upload \
-F "session_id=ds_1720000000_abc12" \
-F "file=@sales_data.csv"
Response
{
"session_id": "ds_1720000000_abc12",
"load_info": {
"rows": 4520,
"columns": 12,
"column_names": ["date", "region", "product", "revenue", ...],
"dtypes": {"date": "object", "revenue": "float64", ...}
},
"overview": "Dataset Loaded: 4,520 rows and 12 columns..."
}
Query Data
Ask a natural language question about your data. The AI writes and executes real Python code to produce results with charts.
| Param | Type | Required | Description |
|---|---|---|---|
session_id | string | Yes | Session ID from upload |
query | string | Yes | Natural language question |
curl -X POST https://getqueryly.com/api/data-scientist/query \
-F "session_id=ds_1720000000_abc12" \
-F "query=Show average salary by department as a bar chart"
Response
{
"text": "The average salary by department is:\n- Engineering: $95,400\n- Marketing: $72,300\n- Sales: $68,100",
"charts": ["/outputs/ds_1720000000_abc12/salary_bar_chart.png"],
"code_executed": true,
"session_id": "ds_1720000000_abc12"
}
Generate Code
Generate Python analysis code without executing it. Useful for previewing what the AI would do.
| Param | Type | Required | Description |
|---|---|---|---|
session_id | string | Yes | Session ID from upload |
query | string | Yes | What to generate code for |
Health Check
Run a data quality health check. Scores completeness, consistency, accuracy, and timeliness across all dimensions.
curl https://getqueryly.com/api/data-scientist/health/ds_1720000000_abc12
Response
{
"overall_score": 82,
"dimensions": {
"completeness": {"score": 85, "detail": "3.2% missing values"},
"consistency": {"score": 90, "detail": "No type mismatches"},
"accuracy": {"score": 78, "detail": "2 outlier regions detected"},
"timeliness": {"score": 75, "detail": "Data spans 2023-2025"}
},
"summary": "Your data is in good shape with minor issues.",
"fixes": ["Fill 145 missing email values", "Review 12 salary outliers"]
}
Insights
Mine actionable insights from your data. Finds correlations, trends, anomalies, and patterns automatically.
curl https://getqueryly.com/api/data-scientist/insights/ds_1720000000_abc12
Data Guardian (Autonomous Analysis)
Tell-Me-What-Matters (no question needed): We scan your file the second you upload: what's wrong, what's hiding, what's next - and explain it in plain English with a chart. We tell you first, without you needing to ask.
curl https://getqueryly.com/api/data-scientist/autonomous/ds_1720000000_abc12
Response
{
"pulse": {
"alerts": [
{"severity": "critical", "type": "missing_crisis", "title": "email is 45% missing", "action": "Drop email or use advanced imputation."},
{"severity": "warning", "type": "outlier", "title": "Unusual values in revenue: 12 outliers (8.2%)"}
],
"overall_health": {"score": 72, "label": "Good", "detail": "Minor issues detected."},
"summary": {"total": 5, "critical": 1, "warnings": 2, "info": 2}
},
"discoveries": {
"discoveries": [
{"type": "strong_correlation", "title": "revenue and cost are strongly positively correlated", "detail": "r = 0.847"},
{"type": "category_pattern", "title": "'Region A' has 34% more revenue than 'Region B'"}
],
"total": 3
},
"prophets": {
"predictions": [
{"type": "trend_forecast", "title": "revenue is projected to increase by 12%", "detail": "Current: 1250. Predicted next: 1400 (R² = 0.89)"},
{"type": "acceleration", "title": "cost is accelerating (45% change)"}
],
"total": 2
},
"narrative": "Data Health: Good (72/100)\nALERT: 1 critical issue(s) detected.\nHidden patterns found:\n - revenue and cost are strongly positively correlated\nForecasts:\n - revenue is projected to increase by 12%",
"metadata": {"filename": "sales.csv", "rows": 500, "columns": 12, "analysis_time": 1.23}
}
Multi-Analyst Reports
Deploy multiple AI analyst personas. Each analyzes independently, then findings are cross-validated and consolidated.
| Param | Type | Required | Description |
|---|---|---|---|
session_id | string | Yes | Session ID from upload |
query | string | Yes | Analysis question for the swarm |
depth | string | No | quick, standard, or deep (default: standard) |
curl -X POST https://getqueryly.com/api/data-scientist/swarm \
-F "session_id=ds_1720000000_abc12" \
-F "query=Analyze this data thoroughly and provide key insights" \
-F "depth=deep"
Response
{
"persona_names": ["Statistician", "BI Analyst", "Domain Expert"],
"persona_results": {
"statistician": {"name": "Statistician", "output": "Revenue follows a right-skewed distribution..."},
"bi_analyst": {"name": "BI Analyst", "output": "Q4 shows 23% growth over Q3..."},
"domain_expert": {"name": "Domain Expert", "output": "The engineering department drives 62%..."}
},
"consensus": {"text": "Key finding: Revenue is growing 15% QoQ driven by..."}
}
Available Personas
List all available analyst personas and their roles.
| Persona | Role |
|---|---|
statistician | Statistical analysis, distributions, significance tests |
bi_analyst | Business intelligence, KPIs, revenue drivers |
data_engineer | Data quality, missing values, schema validation |
domain_expert | Domain-specific insights and recommendations |
economist | Pricing, optimization, market dynamics |
Kaggle Dataset Explorer
Search and load 200K+ public datasets from Kaggle directly via the API. Requires Kaggle API credentials configured on the server.
Check if Kaggle API is configured.
curl https://getqueryly.com/api/kaggle/status
# Response
{"configured": true}
Search Kaggle datasets by keyword. Returns 10 results per page with license info.
curl "https://getqueryly.com/api/kaggle/search?q=world+population&page=1"
# Response
{
"results": [
{
"ref": "iamsouravbanerjee/world-population-dataset",
"title": "World Population Dataset",
"description": "Global Headcount by Country/Territory",
"license": "Other (specified in description)",
"downloads": 89310,
"votes": 768,
"files_count": 1,
"tags": ["people", "tabular", "beginner"]
}
],
"query": "world population",
"page": 1
}
Download a Kaggle dataset and create an analysis session. Returns session_id ready for queries.
curl -X POST https://getqueryly.com/api/kaggle/load \
-H "Content-Type: application/json" \
-d '{"dataset": "iamsouravbanerjee/world-population-dataset"}'
# Response
{
"session_id": "kgl_abc123...",
"load_info": {"rows": 234, "columns": 15},
"dataset": "iamsouravbanerjee/world-population-dataset",
"overview": "Loaded Kaggle dataset: iamsouravbanerjee/world-population-dataset"
}
License Notice: Datasets are subject to their original license. Check the license field in search results. CC0, MIT, Apache licenses allow commercial use. CC BY-NC licenses prohibit commercial use. Always verify before using data commercially.
List Sessions
List all active sessions for the current user.
Session History
Get query history for a session.
Delete Session
Delete a session and all its data.
User Info
Get current user info. Requires Bearer token.
curl -H "Authorization: Bearer eyJhbGciOi..." \
https://getqueryly.com/api/auth/me
Response
{
"uid": "abc123",
"email": "[email protected]",
"displayName": "John",
"provider": "password",
"tier": "free",
"dailyLimit": 10
}
API Keys
Generate a new API key. Requires Bearer token.
List all API keys for the current user.
Revoke an API key.
Rotate an API key (generates a new key, invalidates the old one).
Permanently delete a revoked or expired key. Active keys must be revoked first.
Pricing
Get all pricing plans and pay-as-you-go options.
curl https://getqueryly.com/api/pricing
Usage Limits
Check current usage and remaining daily limit.
curl https://getqueryly.com/api/makes/limits
Response
{
"tier": "free",
"limit": 10,
"used": 3,
"remaining": 7,
"balance": 0,
"total_available": 7
}
Get detailed usage statistics.
Payments
getqueryly uses a secure payment gateway for payments. All amounts are in GHS (Ghanaian Cedis).
Initialize a payment for subscription or pay-as-you-go credits.
Verify a completed payment and activate subscription/credits.
AI Tool Integration
getqueryly connects to AI coding tools and assistants, letting them upload, query, and analyze your data directly.
Endpoint: https://getqueryly.com/mcp/sse
Available Tools
| Tool | Description | Cost |
|---|---|---|
chat | Chat with AI, generate content, search web (MCP: ai_chat) | 1 Make |
ds_upload | Upload a data file for analysis | Free |
ds_query | Ask a natural language question about your data | 1 Make |
ds_health | Run a data quality health check (MCP: ds_health_check) | 2 Makes |
ds_insights | Mine patterns, anomalies, trends, correlations | 3 Makes |
ds_swarm_quick | Multi-analyst report, quick (3 analysts) | 5 Makes |
ds_swarm_full | Multi-analyst report, full (5 analysts) | 8 Makes |
ds_report | Generate PDF report from analysis | 3 Makes |
ds_test_recommend | AI picks and runs the right statistical test (MCP: smart_test) | 1 Make |
ds_interview | Ask a specific analyst persona | 2 Makes |
ds_autonomous | Guardian autonomous analysis | 5 Makes |
ds_dashboard | Executive dashboard with KPIs and charts | 2 Makes |
ds_notebook | Data notebook overview (stats, quality, correlations) | 2 Makes |
ds_elasticity | Pricing sensitivity analysis | 1 Make |
ds_graph | Knowledge graph build and query | 1 Make |
visuals | Auto visuals, any chart type (MCP: chart) | 2 Makes |
diagram | Create flowchart or org chart | 1 Make |
infographic | Professional infographic with stats | 1 Make |
kaggle_search | Search 200K+ Kaggle datasets | Free |
kaggle_load | Download Kaggle dataset + create session | Free |
web_search | Search the web for context | 2 Makes |
get_usage | Check your Makes balance and limits | Free |
get_costs | Get the full cost table | Free |
Connect Your AI Tools
Add getqueryly to your AI tool using this configuration:
{
"mcpServers": {
"getqueryly": {
"url": "https://getqueryly.com/mcp/sse",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}
Chat
Send a message to the AI chat. Context-aware conversations about your data.
Get chat history for the current session.
Service Health
Check service health, uptime, and system status.
curl https://getqueryly.com/health
Response
{
"status": "ok",
"service": "getqueryly",
"version": "2.0",
"firebase": "connected",
"queue": {"waiting": 0, "running": 0, "capacity": 3},
"disk_gb": 65.4,
"uptime": "active"
}