Three lightweight helpers for agent pipelines that need document text, web pages, or search results without spinning up your own crawler.
| Endpoint | Input | Output | Privacy |
|---|---|---|---|
POST /augment/text-parser |
multipart/form-data file (PDF / DOCX / XLSX / plain text, ≤ 25 MB) |
{ text, tokens } JSON or plain text |
In-memory only, zero retention |
POST /augment/scrape |
{ url } |
{ url, content (markdown), format: "markdown" } |
Zero retention |
POST /augment/search |
{ query, limit?, search_provider? } |
{ query, results: [{ title, url, content, date }] } |
Brave ZDR / Google anonymized; zero retention |
All three accept Bearer API key or SIWE (x402 wallet). All three are priced dynamically ($0.001–$10.00).
POST /augment/text-parser — extract text from documentsAlways multipart/form-data:
| Field | Notes |
|---|---|
file |
Required. PDF, DOCX, XLSX, or plain text. Max 25 MB. |
response_format |
json (default) or text. |
curl -X POST https://api.venice.ai/api/v1/augment/text-parser \
-H "Authorization: Bearer $VENICE_API_KEY" \
-F "file=@./contract.pdf" \
-F "response_format=json"
response_format=json:
{
"text": "…extracted plaintext…",
"tokens": 3821
}
response_format=text — raw plaintext body (Content-Type: text/plain).
tokens is the count of the extracted text — use it to pre-budget a downstream chat request./chat/completions instead.POST /augment/scrape — URL → markdown{ "url": "https://example.com/article" }
curl -X POST https://api.venice.ai/api/v1/augment/scrape \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'
{
"url": "https://example.com",
"content": "# Example Domain\n\nThis domain is for use in …",
"format": "markdown"
}
400 immediately. Use enable_x_search or enable_web_search on /chat/completions for those.content length before piping into a model./chat/completions: scrape → feed markdown into messages → summarize.POST /augment/search — web search| Field | Notes |
|---|---|
query |
1–400 chars. Required. |
limit |
1–20. Default 10. |
search_provider |
"brave" (default, ZDR) or "google" (anonymized). |
curl -X POST https://api.venice.ai/api/v1/augment/search \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "venice ai api pricing",
"limit": 5,
"search_provider": "brave"
}'
{
"query": "venice ai api pricing",
"results": [
{
"title": "Pricing — Venice.ai",
"url": "https://venice.ai/pricing",
"content": "Venice offers per-token pricing …",
"date": "2026-04-10"
}
]
}
| Provider | Retention | Bias / filter |
|---|---|---|
brave (default) |
Zero Data Retention — Brave never stores queries. | Safesearch defaults, Brave Index. |
google |
Anonymized — proxied through Venice so Google doesn't see you; Venice doesn't log queries. | Google ranking. |
/chat/completions + venice_parameters.enable_web_citations to generate cited answers. See venice-chat.results[*].url into /augment/scrape in parallel.query is validated as 1–400 chars. Anything longer is rejected (400 INVALID_REQUEST), not truncated.| Status | Cause |
|---|---|
400 |
Missing/oversized file, unsupported format, URL on a blocklist (X, Reddit), empty query, query > 400 chars. |
401 |
Missing/invalid Bearer or SIWE. |
402 |
Insufficient balance. x402 wallets receive the PAYMENT-REQUIRED header with base64 top-up instructions; Bearer users get INSUFFICIENT_BALANCE. |
403 |
Unauthorized access. |
429 |
Rate limit tripped. Back off with jitter. |
500 |
Upstream fetch / parse failure. Safe to retry. |
X-Balance-Remaining — remaining x402 credit (x402 auth only).Content-Encoding — present when Accept-Encoding: gzip, br is sent (text-parser + scrape outputs compress well)./augment/text-parser, pass text into a /chat/completions system message, ask questions./augment/search → parallel /augment/scrape → /chat/completions with all markdown bodies.response_format: { type: "json_schema", ... }./augment/search to pick sources, then give the chat model venice_parameters.enable_web_citations: true for inline [n] marks.