Agents & Humans

Superhuman exploratory data analysis in one tool call.

Faster, cheaper, and more accurate than any agent: Disco is the API for automated pattern discovery.

You see things I cannot see.

...found something that we may never have found, that could be worth billions.

Exactly the kind of non-obvious insight that operators and investors pay for.

Unethical.

Scientific revolution 2.0 coming in hott.

Python SDK

SDK docs →

Install the SDK, put data in, get statistically significant patterns out.

Install

pip install discovery-engine-api

Usage

from discovery import Engine

engine = Engine(api_key="disco_...")

result = await engine.discover(
    file="data.csv",
    target_column="outcome",
)

for pattern in result.patterns:
    if pattern.novelty_type == "novel":
        print(pattern.description)

print(result.report_url)

Example result

{
  "patterns": [
    {
      "description": "When soil_nitrogen is 12–18 mg/kg
        AND genotype is Col-0, root_length increases
        by 34%",
      "conditions": [
        {"type": "continuous",
         "feature": "soil_nitrogen",
         "min_value": 12.0, "max_value": 18.0},
        {"type": "categorical",
         "feature": "genotype",
         "values": ["Col-0"]}
      ],
      "p_value": 0.0023,
      "abs_target_change": 0.34,
      "novelty_type": "novel",
      "citations": [
        {"title": "Nitrogen uptake in Arabidopsis",
         "doi": "10.1038/s41586-023-..."}
      ],
      "support_count": 847,
      "support_percentage": 0.12
    }
  ],
  "report_url": "https://disco.leap-labs.com/r/abc123"
}

All the REST endpoints your heart desires.

Upload + analyse

# Upload (direct, for small files)
curl -X POST disco.leap-labs.com/api/data/upload/direct \
  -H "Authorization: Bearer disco_..." \
  -H "Content-Type: application/json" \
  -d '{"fileName": "data.csv",
       "content": "<base64>"}'

# For large files, use presigned upload:
#   POST /api/data/upload/presign
#   PUT  <presigned URL>
#   POST /api/data/upload/finalize

# Submit analysis
curl -X POST disco.leap-labs.com/api/run-analysis \
  -H "Authorization: Bearer disco_..." \
  -H "Content-Type: application/json" \
  -d '{"file": {...}, "columns": [...],
       "targetColumn": "outcome",
       "analysisDepth": 2, "isPublic": true}'

# Poll for results
curl disco.leap-labs.com/api/runs/{run_id}/results \
  -H "Authorization: Bearer disco_..."

Auth + account

# Signup (two-step OTP, no password)
POST /api/signup
  {"email": "you@example.com"}
POST /api/signup/verify
  {"email": "...", "code": "123456"}
  -> {"key": "disco_...", "credits": 10}

# Login (same OTP flow)
POST /api/login
POST /api/login/verify

# Account
GET  /api/account
POST /api/account/payment-method
POST /api/account/subscribe
POST /api/account/credits/purchase
GET  /api/plans

MCP server: superhuman insights for your agent.

claude_desktop_config.json

{
  "mcpServers": {
    "discovery-engine": {
      "url": "https://disco.leap-labs.com/mcp",
      "env": {
        "DISCOVERY_API_KEY": "disco_..."
      }
    }
  }
}

Requires only a dataset and a target.

Full parameter set

result = await engine.discover(
    file="data.csv",               # path, URL, or DataFrame
    target_column="outcome",       # the column to explain

    # Optional
    analysis_depth=2,              # lower is faster, higher is more comprehensive 
    visibility="private",          # "public" (free) or "private"
    column_descriptions={          # improves LLM explanations
        "bmi": "Body mass index",
        "hdl": "HDL cholesterol mg/dL",
    },
    excluded_columns=["id"],       # drop before analysis
    use_llms=True,                 # Smart preprocessing & explain findings ($)
    title="My experiment",
    timeout=1800,                  # seconds
)

Why not just let your agent do it?

Read the benchmark →

Because it'll overgeneralize, overlook key patterns, and burn your token budget.

Disco is more comprehensive.

Disco finds even complex, combinatorial, non-linear patterns that humans and agents almost always miss.

Disco is more trustworthy.

Every pattern we return has been validated on held-out data with FDR-corrected p-values. No hallucinated findings.

Disco is faster and cheaper.

Combinatorial search blows up fast. Disco is purpose built to analyse complex datasets efficiently, saving you time and tokens. No back and forth, no iterative exploration – just validated insight in one call.

Free for public data. Pay per run for everything else.

Analyses are free if you publish the results (science)! Private runs cost credits, which scale with dataset size.

Explorer

$0

/month

Try it out. No card required.

10 credits/mo

  • +

    Unlimited published analyses (data and reports public)

  • +

    10 credits/month for private analyses (no roll over)

  • +

    Additional credits available to purchase

  • +

    Standard processing queue

Get API Key

Researcher

$49

/month

For production use with private data.

500 credits/mo (which roll over)

  • +

    Unlimited published analyses (data and reports public)

  • +

    500 credits/month for private analysis (which roll over)

  • +

    Additional credits available to purchase

  • +

    Deep analysis for more comprehensive pattern search

  • +

    Priority processing queue

  • +

    Email support

Start Researcher

Team

$199

/month

For teams integrating Disco into production.

2000 credits/mo (which roll over)

  • +

    Unlimited published analyses (data and reports public)

  • +

    2000 credits/month for private analysis (which roll over)

  • +

    Additional credits available to purchase

  • +

    Deep analysis for more comprehensive pattern search

  • +

    Highest priority processing

  • +

    Priority email support

  • +

    Up to 5 seats

Start Team

Enterprise

Custom

Dedicated compute, custom integrations, volume pricing.

Unlimited credits

  • +

    Everything in Team, plus:

  • +

    Dedicated compute

  • +

    Unlimited seats

  • +

    Dedicated support

Talk to Us

Get an API key and see what your data is hiding.