Skip to content

Latest commit

 

History

History
143 lines (112 loc) · 3.51 KB

File metadata and controls

143 lines (112 loc) · 3.51 KB

GET /v1/account/usage

Read the authenticated account identity, current credit balance, crawl pricing, search pricing, screenshot pricing, and a 30-day usage summary.

Authentication

  • Authorization: Bearer <apiKey>
  • x-api-key: <apiKey>

Request

This endpoint does not accept a request body.

Response Shape

The response body includes:

  • account: account identifier, display name, and plan code
  • balance_credits: current total balance
  • request_credit_costs: current crawl pricing model
  • search_credit_costs: current search pricing model
  • screenshot_credit_costs: screenshot pricing model
  • usage: requests_30d, credits_used_30d, and daily history

This endpoint does not guarantee gateway metadata headers such as x-request-id or x-credits-used.

For POST /v1/crawl/page, request_credit_costs.base.cache_hit applies to render cache hits only. Fetch requests use request_credit_costs.base.fetch and do not read from or write to cache.

Examples

Shared SDK files: TypeScript, JavaScript, Python, curl

TypeScript

import { AnyCrawlerClient } from "../shared/sdks/typescript/anycrawler";

const client = new AnyCrawlerClient({
  apiKey: process.env.ANYCRAWLER_API_KEY!,
});

const { data, meta } = await client.getAccountUsage();

console.log(data.usage.requests_30d);
console.log(data.request_credit_costs.base.browser);
console.log(data.search_credit_costs.per_10_results);
console.log(meta.requestId); // null for this endpoint is expected.

JavaScript

const { AnyCrawlerClient } = require("../shared/sdks/javascript/anycrawler.js");

const client = new AnyCrawlerClient({
  apiKey: process.env.ANYCRAWLER_API_KEY,
});

client.getAccountUsage().then(({ data, meta }) => {
  console.log(data.balance_credits);
  console.log(data.search_credit_costs.results_block_size);
  console.log(data.screenshot_credit_costs.full_page);
  console.log(meta.status);
});

Python

from anycrawler import AnyCrawlerClient
import os

client = AnyCrawlerClient(api_key=os.environ["ANYCRAWLER_API_KEY"])
response = client.get_account_usage()

print(response["data"]["account"]["plan_code"])
print(response["data"]["search_credit_costs"]["per_10_results"])
print(response["data"]["usage"]["credits_used_30d"])
print(response["meta"]["requestId"])

curl

ANYCRAWLER_API_KEY="sk-your-key" \
./shared/sdks/curl/get-account-usage.sh

Example Response

{
  "account": {
    "id": "acct_123",
    "name": "Example Workspace",
    "plan_code": "starter"
  },
  "balance_credits": 74231,
  "ok": true,
  "request_credit_costs": {
    "base": {
      "browser": 10,
      "cache_hit": 1,
      "fetch": 2
    },
    "modifiers": {
      "include_links": 1,
      "include_media": 1,
      "include_metadata": 1,
      "markdown_variant_readability": 0
    }
  },
  "search_credit_costs": {
    "per_10_results": 20,
    "results_block_size": 10
  },
  "screenshot_credit_costs": {
    "full_page": 50,
    "viewport_only": 20
  },
  "usage": {
    "requests_30d": 42,
    "credits_used_30d": 321,
    "history": [
      {
        "date": "2026-04-10T00:00:00.000Z",
        "requests": 28,
        "credits_used": 215
      }
    ]
  }
}

Status Codes

  • 200 on success
  • 401 INVALID_API_KEY when the API key is missing, invalid, or revoked
  • 503 DATABASE_NOT_CONFIGURED when public API storage is not configured