Scrape API
Fetch a webpage through the Venym execution backend and receive clean, structured content. Use optional internal-link following for controlled crawls.
https://search.venym.io/api/v1/scrapeScrape one URL with selectable content fields and optional internal-link following.
https://search.venym.io/api with Authorization: Bearer <your-api-key>.Scrape a Page
curl -X POST https://search.venym.io/api/v1/scrape \
-H "Authorization: Bearer $VENYM_SEARCH_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"url": "https://example.com",
"extract_options": ["title", "text", "links", "metadata"]
}'Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Required | The HTTP or HTTPS URL to scrape. Example: |
extract_options | array[string] | Optional | Fields to request from the target: title, text, links, images, metadata, or all. Default: ["title", "text"] Example: |
follow_internal_links | boolean | Optional | Follow and scrape internal links discovered on the primary page. Requires Unicorn. Default: false Example: |
max_pages | integer | Optional | Maximum discovered internal pages to process when follow_internal_links is true. Allowed range: 1–50. Default: 10 Example: |
include_contacts | boolean | Optional | Extract contacts from returned page text. Requires Starter or higher. Default: false Example: |
Predictable Charges
Scrape reserves the requested internal-page allowance, then refunds pages that do not complete.
Response Format
| Field | Type | Description |
|---|---|---|
url | string | The normalized primary URL. |
primary_content | object | Structured content returned for the primary page by the execution backend. |
discovered_links | array | Present only when follow_internal_links is true; contains scraped internal pages. |
links_scraped | integer | Number of discovered pages completed without an error. |
contacts | array | Present when include_contacts is true. |
credits_used | integer | Credits charged after completed work is settled. |
remaining_credits | integer | Account balance after settlement. |
success | boolean | True when primary_content has no error. |
{
"url": "https://example.com/",
"primary_content": {
"url": "https://example.com/",
"title": "Example Domain",
"text": "Example Domain...",
"links": [],
"metadata": {},
"error": null
},
"credits_used": 5,
"remaining_credits": 4995,
"success": true
}Response Codes
code, request_id, timestamp, and documentation_url.