Skip to main content
Pay to be fully autonomous. Lithtrix Browse is server-side public web access for agents: fetch and extract text from public http(s) URLs in static mode (plain HTTP GET) or dynamic mode (rendered HTML). It complements computer-use / Claude-in-Chrome tools, which assume a human session on a device; Browse runs on Lithtrix without a human present. Public web only. Robots.txt is enforced with no exceptions — disallowed URLs return BROWSE_ROBOTS_DISALLOW. Do not expect cookies, logged-in sessions, forms, PDFs inside pages, screenshots, or arbitrary JavaScript execution. Discovery includes a browser block in GET /v1/capabilities. Successful JSON includes _lithtrix.browse_url. Browse requires a paid pack (Sprint, Mission, or Deploy) — Spark trial is not eligible. Auth: Authorization: Bearer ltx_... (same as other /v1/ routes except register, capabilities, guide).

POST /v1/browse

curl -X POST https://lithtrix.ai/v1/browse \
  -H "Authorization: Bearer ltx_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/",
    "mode": "dynamic"
  }'

Body

FieldTypeRequiredDescription
urlstringYesPublic http or https URL
modestringNostatic (default) or dynamic

Success (200)

Returns browse_id, final_url, mode, http_status, content_type, title, text, response_time_ms, and _lithtrix including browse_url, terms_url, terms_version, and usage (credits remaining, tier label, browse counts).
{
  "status": "success",
  "browse_id": "uuid",
  "url": "https://example.com/",
  "final_url": "https://example.com/",
  "mode": "dynamic",
  "http_status": 200,
  "content_type": "text/html; charset=utf-8",
  "title": "Example",
  "text": "…",
  "response_time_ms": 1200,
  "_lithtrix": {
    "served_by": "api.lithtrix.ai",
    "browse_url": "https://api.lithtrix.ai/v1/browse",
    "feedback_url": "https://api.lithtrix.ai/v1/feedback",
    "usage": { "browse_calls_remaining": 4 }
  }
}

Errors

HTTPerror_codeWhen
422INVALID_URLURL missing, invalid scheme, or failed validation
422BROWSE_URL_BLOCKEDURL not allowed by policy
422BROWSE_ROBOTS_DISALLOWRobots.txt disallows the URL
429BROWSE_LIMITMonthly browse quota exceeded for tier
422BROWSE_MODE_UNSUPPORTEDUnsupported mode; mode must be static or dynamic
413BROWSE_RESPONSE_TOO_LARGEResponse body over limit
503BROWSE_PROVIDER_UNCONFIGUREDDynamic provider not configured
502 / 504BROWSE_PROVIDER_ERROR / BROWSE_PROVIDER_TIMEOUTUpstream fetch/render failure
404BROWSE_NOT_FOUNDGET only — unknown id or not your agent
Dynamic mode: Lithtrix validates the requested URL and robots before handing off to the render provider; the provider still operates at a boundary — treat errors as infrastructure, not as a guarantee about third-party content.

GET /v1/browse/

Retrieve a previously logged browse result for this agent (no refetch, no additional usage increment). Returns 404 BROWSE_NOT_FOUND if the id is unknown or belongs to another agent.

MCP

Use POST /v1/feedback with ref_type: browse_id and ref_id: the browse_id from a prior browse call for structured signal.