venice-augment
Rating is derived from the repo's GitHub stars and shown for reference.
shell_executionnetwork_accesscredential_access
name: venice-augment
description: Venice augmentation endpoints for agent pipelines. Covers POST /augment/text-parser (extract text from PDF/DOCX/XLSX/plain text, multipart, up to 25MB, JSON or plain text response), POST /augment/scrape (fetch a URL and return markdown; blocks X/Reddit), and POST /augment/search (Brave ZDR or anonymized Google; structured title/url/content/date results, up to 20 per query). Privacy (zero data retention), rate limits, and error shapes.
Venice Augment (text parse / scrape / search)
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 (.001–.00).
POST /augment/text-parser — extract text from documents
Request
Always 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 " \
-F "file=@./contract.pdf" \
-F "response_format=json"
Response
response_format=json:
{
"text": "…extracted plaintext…",
"tokens": 3821
}
response_format=text — raw plaintext body (Content-Type: text/plain).
Tips
tokensis the count of the extracted text — use it to pre-budget a downstream chat request.- Scanned image PDFs are not OCR'd. Run images through a vision model via
/chat/completionsinstead. - Documents are processed in memory only and content is not retained after the response. (Operational metadata like request IDs and error traces may still be logged for debugging — this is a no-content-retention guarantee, not a zero-log guarantee.)
POST /augment/scrape — URL → markdown
Request
{ "url": "https://example.com/article" }
curl -X POST https://api.venice.ai/api/v1/augment/scrape \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'
Response
{
"url": "https://example.com",
"content": "# Example Domain\n\nThis domain is for use in …",
"format": "markdown"
}
Tips
- Blocked sites — X/Twitter and Reddit reject automated access and return
400immediately. Useenable_x_searchorenable_web_searchon/chat/completionsfor those. - Some sites may return a partial body. Verify with the returned
contentlength before piping into a model. - Use together with
/chat/completions: scrape → feed markdown into messages → summarize. - For bulk scraping, issue requests in parallel; each is billed independently.
POST /augment/search — web search
Request
| 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 " \
-H "Content-Type: application/json" \
-d '{
"query": "venice ai api pricing",
"limit": 5,
"search_provider": "brave"
}'
Response
{
"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"
}
]
}
Providers
| 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. |
Tips
- Pair with
/chat/completions+venice_parameters.enable_web_citationsto generate cited answers. Seevenice-chat. - For "search + read" pipelines, feed
results[*].urlinto/augment/scrapein parallel. queryis validated as 1–400 chars. Anything longer is rejected (400INVALID_REQUEST), not truncated.
Errors
| 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. |
Response headers
X-Balance-Remaining— remaining x402 credit (x402 auth only).Content-Encoding— present whenAccept-Encoding: gzip, bris sent (text-parser + scrape outputs compress well).
Patterns
- Document QA — Upload PDF via
/augment/text-parser, passtextinto a/chat/completionssystem message, ask questions. - Research agent —
/augment/search→ parallel/augment/scrape→/chat/completionswith all markdown bodies. - Data extraction — XLSX via text-parser surfaces tab-delimited cell data you can then pipe to a model with
response_format: { type: "json_schema", ... }. - Citation pipeline — Use
/augment/searchto pick sources, then give the chat modelvenice_parameters.enable_web_citations: truefor inline[n]marks.