Real-Time RESTful APIs and Websocket for Stocks, Currencies, and Crypto
Full LLM thinking from the 4-phase benchmark pipeline.
```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"]
}
}
``````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
}
}
```0/5 tests passed
| Test | Endpoint | Status | Latency |
|---|---|---|---|
| test_connectivity_and_auth | GET /crypto/symbol | 401 | 97ms |
| test_historical_data_retrieval | GET /crypto/candle | 401 | 47ms |
| test_rate_limit_handling | GET /crypto/symbol | 401 | 15036ms |
| test_invalid_auth_token | GET /crypto/symbol | 401 | 174ms |
| test_error_handling_with_missing_params | GET /crypto/candle | 401 | 71ms |
```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"
]
}
```Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.
<a href="https://prowl.world/service/finnhub">
<img src="https://prowl.world/badge/finnhub.svg" height="56" alt="Agent-readiness on Prowl">
</a>
See operational metrics, LLM evaluations, agent readiness, and more.
Open in Dashboard