Prowl
8/100
prowl
Benchmarked Sep 17, 2026

ISBNdb API

Definition of ISBNdb.com API

defiapi defi_yield api_key_header
Benchmark Your API

Score Breakdown

Latency9/10
Error Clarity2/10
Parseability1/10
Consistency0/10
Documentation0/10
Auth Simplicity0/10
Token Efficiency0/10
First-Try Success0/10

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
{
  "service_type": "defi_protocol",
  "base_url": "https://api.isbndb.com",
  "auth_method": "api_key_header",
  "auth_config": {
    "header_name": "Authorization",
    "header_format": "API_KEY {api_key}"
  },
  "endpoints": [],
  "pricing_model": {
    "type": "free",
    "details": {
      "note": "The service at https://isbndb.com is not a DeFi protocol. It appears to be a book database API. No DeFi endpoints or pricing information are available for this service."
    }
  },
  "rate_limits": {},
  "capabilities": [],
  "defi_specifics": {
    "chains": [],
    "protocols": [],
    "yield_types": [],
    "has_tvl_data": false,
    "has_apy_data": false,
    "has_price_feeds": false,
    "contract_verified": false
  }
}
Plan
```json
{
  "tests": [
    {
      "name": "auth_valid_api_key_basic_connectivity",
      "endpoint": "/book/9780262033848",
      "method": "GET",
      "headers": {
        "Authorization": "API_KEY {api_key}",
        "Accept": "application/json"
      },
      "payload": {},
      "expected_status": 200,
      "intent": "happy_path",
      "expected_behavior": "Returns the book record for the provided ISBN (Introduction to Algorithms, 3rd ed) including title, authors, and publisher fields",
      "metrics": ["latency", "status_code", "accuracy"],
      "validation": {
        "field": "book",
        "type": "object",
        "min_length": 1
      }
    },
    {
      "name": "happy_path_isbn_lookup_known_valid",
      "endpoint": "/book/9780140328721",
      "method": "GET",
      "headers": {
        "Authorization": "API_KEY {api_key}",
        "Accept": "application/json"
      },
      "payload": {},
      "expected_status": 200,
      "intent": "happy_path",
      "expected_behavior": "Returns a book object with a non-empty title and at least one author for a well-known ISBN",
      "metrics": ["latency", "status_code", "accuracy"],
      "validation": {
        "field": "book.title",
        "type": "string",
        "min_length": 1
      }
    },
    {
      "name": "auth_missing_credential_rejected",
      "endpoint": "/book/9780262033848",
      "method": "GET",
      "headers": {
        "Accept": "application/json"
      },
      "payload": {},
      "expected_status": 401,
      "intent": "auth",
      "expected_behavior": "API rejects the request without an Authorization header, returning 401 (or 403) with a structured error body",
      "metrics": ["status_code"],
      "validation": {
        "field": "error",
        "type": "string",
        "min_length": 1
      }
    },
    {
      "name": "auth_malformed_credential_rejected",
      "endpoint": "/book/9780262033848",
      "method": "GET",
      "headers": {
        "Authorization": "API_KEY invalid_key_000000000000",
        "Accept": "application/json"
      },
      "payload": {},
      "expected_status": 401,
      "intent": "auth",
      "expected_behavior": "API rejects an invalid/unknown API key with 401 (or 403) and a structured error body",
      "metrics": ["status_code"],
      "validation": {
        "field": "error",
        "type": "string",
        "min_length": 1
      }
    },
    {
      "name": "validation_invalid_isbn_format_rejected",
      "endpoint": "/book/not-an-isbn",
      "method": "GET",
      "headers": {
        "Authorization": "API_KEY {api_key}",
        "Accept": "application/json"
      },
      "payload": {},
      "expected_status": 400,
      "intent": "validation",
      "expected_behavior": "API rejects a malformed ISBN with 400 (or 422) and a structured error body; correctly rejecting bad input is a pass",
      "metrics": ["status_code"],
      "validation": {
        "field": "error",
        "type": "string",
        "min_length": 1
      }
    },
    {
      "name": "validation_nonexistent_isbn_valid_format",
      "endpoint": "/book/9999999999999",
      "method": "GET",
      "headers": {
        "Authorization": "API_KEY {api_key}",
        "Accept": "application/json"
      },
      "payload": {},
      "expected_status": 404,
      "intent": "validation",
      "expected_behavior": "API returns 404 for a well-formed but non-existent ISBN with a structured error body",
      "metrics": ["latency", "status_code"],
      "validation": {
        "field": "error",
        "type": "string",
        "min_length": 1
      }
    },
    {
      "name": "happy_path_search_by_title",
      "endpoint": "/books/algorithm",
      "method": "GET",
      "headers": {
        "Authorization": "API_KEY {api_key}",
        "Accept": "application/json"
      },
      "payload": {},
      "expected_status": 200,
      "intent": "happy_path",
      "expected_behavior": "Returns a books array matching the query term with at least one result",
      "metrics": ["latency", "status_code", "accuracy"],
      "validation": {
        "field": "books",
        "type": "array",
        "min_length": 1
      }
    },
    {
      "name": "validation_empty_search_query_rejected",
      "endpoint": "/books/",
      "method": "GET",
      "headers": {
        "Authorization": "API_KEY {api_key}",
        "Accept": "application/json"
      },
      "payload": {},
      "expected_status": 400,
      "intent": "validation",
      "expected_behavior": "API rejects an empty/blank search query with 400 (or 404) and a structured error body",
      "metrics": ["status_code"],
      "validation": {
        "field": "error",
        "type": "string",
        "min_length": 1
      }
    },
    {
      "name": "happy_path_batch_isbn_lookup",
      "endpoint": "/books",
      "method": "POST",
      "headers": {
        "Authorization": "API_KEY {api_key}",
        "Content-Type": "application/json",
        "Accept": "application/j
Execute

0/11 tests passed

TestEndpointStatusLatency
auth_valid_api_key_basic_connectivityGET /book/9780262033848401143ms
happy_path_isbn_lookup_known_validGET /book/978014032872140177ms
auth_missing_credential_rejectedGET /book/978026203384840165ms
auth_malformed_credential_rejectedGET /book/978026203384840162ms
validation_invalid_isbn_format_rejectedGET /book/not-an-isbn40175ms
validation_nonexistent_isbn_valid_formatGET /book/999999999999940181ms
happy_path_search_by_titleGET /books/algorithm401110ms
validation_empty_search_query_rejectedGET /books/40579ms
happy_path_batch_isbn_lookupPOST /books401106ms
validation_batch_missing_isbns_fieldPOST /books40194ms
Interpret
{
  "overall": 8,
  "dimensions": {
    "token_efficiency": 0.0,
    "first_try_success": 0.0,
    "response_parseability": 1.0,
    "error_clarity": 1.5,
    "doc_quality": 0.0,
    "auth_simplicity": 0.0,
    "latency": 9.0,
    "consistency": 0.0
  },
  "pricing_normalized": {
    "cost_per_1k_requests": null,
    "free_tier_requests": null
  },
  "issues": [
    "CRITICAL: Service is not a DeFi protocol at all — endpoints (/book/{isbn}, /books/{query}) belong to ISBNdb, a book metadata API. No yield, TVL, staking, or APY data is exposed.",
    "FUNDAMENTAL MISMATCH: 10 of 11 tests returned HTTP 401 'Bad credentials' — the provided credentials do not work, so no production data was ever retrieved.",
    "ZERO DeFi FUNCTIONALITY: No token efficiency, yield retrieval, or on-chain data pathways exist. All DeFi-specific dimensions (APY accuracy, TVL verification, yield consistency) are unscorable and default to 0.",
    "Auth is entirely broken for this API key. First-try success is 0/11.",
    "Only a routing error (405, method not allowed) leaked useful structural information; every other response is a generic credential rejection.",
    "CANNOT VERIFY: No yields or TVL figures were returned, so no manipulation/unrealistic-yield flags could be assessed — but this absence itself is a disqualifying failure for a DeFi benchmark."
  ],
  "recommendations": [
    "Reclassify: this test was almost certainly run against the wrong base URL or service. Confirm the intended DeFi provider endpoint before scoring.",
    "Verify API credentials: 10/11 calls failed with 401 'Bad credentials'. Regenerate and re-test keys before any benchmark run.",
    "If a DeFi protocol was intended, supply its actual yield/TVL/price endpoints — e.g. /pools, /apy, /tvl, /staking — rather than ISBN lookup routes.",
    "Expose numeric JSON (APY as float, TVL in USD, token addresses) rather than any HTML/string-wrapped payloads.",
    "Document rate limits, supported chains, and APY-vs-APR calculation methodology before re-benchmarking.",
    "Distinguish auth-failure vs validation-failure responses so callers can debug without guessing (current 401 masks invalid inputs like 'not-an-isbn')."
  ]
}

Agent Readiness

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

Embed your Prowl badge

Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.

Prowl agent-readiness badge
<a href="https://prowl.world/service/isbndb-api">
  <img src="https://prowl.world/badge/isbndb-api.svg" height="56" alt="Agent-readiness on Prowl">
</a>

Options: ?style=light|dark · ?size=sm|md · ?variant=certified (claimed + DNS-verified only) · badge generator with preview

Want the full interactive view?

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

Open in Dashboard