55
/100
prowl
Benchmarked Apr 13, 2026

Finnhub

Real-Time RESTful APIs and Websocket for Stocks, Currencies, and Crypto

cryptoapi crypto_app
Benchmark Your API

Score Breakdown

Token Efficiency 7/10
Parseability 7/10
Error Clarity 6/10
Consistency 5/10
Documentation 5/10
Auth Simplicity 5/10
Latency 3/10
First-Try Success 3/10

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
```json
{
  "service_type": "crypto_app",
  "base_url": "https://finnhub.io/api/v1",
  "auth_method": "api_key_header",
  "auth_config": {
    "header_name": "X-Finnhub-Token",
    "param_name": "token"
  },
  "endpoints": [
    {
      "path": "/crypto/symbol",
      "method": "GET",
      "purpose": "list crypto trading pairs"
    },
    {
      "path": "/crypto/candle",
      "method": "GET",
      "purpose": "retrieve historical price data"
    }
  ],
  "pricing_model": {
    "type": "tiered",
    "details": {
      "free": {
        "limits": {
          "requests": 60
        }
      },
      "premium": {
        "limits": {
          "requests": 600
        }
      }
    }
  },
  "rate_limits": {
    "rpm": 60
  },
  "capabilities": ["spot_trading", "portfolio", "market_data"],
  "crypto_specifics": {
    "supported_chains": ["ethereum", "bitcoin", "solana"],
    "token_count": 200,
    "has_websocket": true,
    "has_orderbook": false,
    "fee_structure": "free|tiered",
    "security_features": ["api key"]
  }
}
```
Plan
```json
{
  "tests": [
    {
      "name": "test_connectivity_and_auth",
      "endpoint": "/crypto/symbol",
      "method": "GET",
      "headers": {"X-Finnhub-Token": "<API_KEY>"},
      "payload": {},
      "expected_status": 200,
      "expected_behavior": "Returns list of crypto trading pairs",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "data", "type": "array", "min_length": 1}
    },
    {
      "name": "test_historical_data_retrieval",
      "endpoint": "/crypto/candle",
      "method": "GET",
      "headers": {"X-Finnhub-Token": "<API_KEY>"},
      "payload": {"symbol": "BINANCE:BTCUSDT", "resolution": "D", "from": 1609459200, "to": 1612137600},
      "expected_status": 200,
      "expected_behavior": "Returns historical price data",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {"field": "data", "type": "object", "min_length": 1}
    },
    {
      "name": "test_rate_limit_handling",
      "endpoint": "/crypto/symbol",
      "method": "GET",
      "headers": {"X-Finnhub-Token": "<API_KEY>"},
      "payload": {},
      "expected_status": 429,
      "expected_behavior": "Returns error on exceeding rate limit",
      "metrics": ["status_code"],
      "validation": {"field": "error", "type": "object", "min_length": 1}
    },
    {
      "name": "test_invalid_auth_token",
      "endpoint": "/crypto/symbol",
      "method": "GET",
      "headers": {"X-Finnhub-Token": "INVALID_API_KEY"},
      "payload": {},
      "expected_status": 401,
      "expected_behavior": "Returns authentication error",
      "metrics": ["status_code"],
      "validation": {"field": "error", "type": "object", "min_length": 1}
    },
    {
      "name": "test_error_handling_with_missing_params",
      "endpoint": "/crypto/candle",
      "method": "GET",
      "headers": {"X-Finnhub-Token": "<API_KEY>"},
      "payload": {"symbol": "BINANCE:BTCUSDT"},
      "expected_status": 400,
      "expected_behavior": "Returns error due to missing params",
      "metrics": ["status_code"],
      "validation": {"field": "error", "type": "object", "min_length": 1}
    }
  ],
  "pricing_probes": [],
  "stress_profile": {
    "concurrent_requests": 5,
    "duration_seconds": 10,
    "ramp_up": true
  }
}
```
Execute

0/5 tests passed

TestEndpointStatusLatency
test_connectivity_and_authGET /crypto/symbol40197ms
test_historical_data_retrievalGET /crypto/candle40147ms
test_rate_limit_handlingGET /crypto/symbol40115036ms
test_invalid_auth_tokenGET /crypto/symbol401174ms
test_error_handling_with_missing_paramsGET /crypto/candle40171ms
Interpret
```json
{
  "overall": 38,
  "dimensions": {
    "token_efficiency": 7.0,
    "first_try_success": 3.0,
    "response_parseability": 7.0,
    "error_clarity": 6.0,
    "doc_quality": 5.0,
    "auth_simplicity": 5.0,
    "latency": 3.0,
    "consistency": 5.0
  },
  "pricing_normalized": {
    "maker_fee_bps": null,
    "taker_fee_bps": null,
    "withdrawal_fee_usd": null,
    "free_tier_requests": null
  },
  "issues": [
    "High latency observed in one test (15036 ms)",
    "Consistent authentication errors across tests"
  ],
  "recommendations": [
    "Improve documentation on authentication to reduce errors",
    "Significantly reduce latency to improve market data freshness",
    "Ensure security headers are included in responses"
  ]
}
```

Agent Readiness

x402 Payments
Not supported
Streaming
No
Sandbox
None
Agent Auth
Unknown
SDKs
None listed
MCP Support
No

Want the full interactive view?

See operational metrics, LLM evaluations, agent readiness, and more.

Open in Dashboard