Vjav Video Downloader
Pricing
from $0.50 / 1,000 results
Vjav Video Downloader
Download videos from VJAV.com with support for multiple URLs, concurrent downloads, and automatic file management
Vjav Video Downloader
Pricing
from $0.50 / 1,000 results
Download videos from VJAV.com with support for multiple URLs, concurrent downloads, and automatic file management
You can access the Vjav Video Downloader programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "GgIsiG9rfEljplxgj" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/abotapi~vjav-video-downloader/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-abotapi-vjav-video-downloader", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/abotapi~vjav-video-downloader/runs": { "post": { "operationId": "runs-sync-abotapi-vjav-video-downloader", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/abotapi~vjav-video-downloader/run-sync": { "post": { "operationId": "run-sync-abotapi-vjav-video-downloader", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "required": [ "urls" ], "properties": { "urls": { "title": "URLs", "type": "array", "description": "List of VJAV video URLs to download (maximum 10)", "items": { "type": "string" } }, "proxy": { "title": "Proxy URL", "type": "string", "description": "Optional proxy URL in format host:port or user:pass@host:port" }, "maxConcurrent": { "title": "Max Concurrent Downloads", "minimum": 1, "maximum": 10, "type": "integer", "description": "Maximum number of concurrent downloads (1-10)", "default": 3 }, "downloadFolder": { "title": "Download Folder", "type": "string", "description": "Folder to temporarily store downloaded videos (default: ./downloaded-videos)", "default": "./downloaded-videos" }, "resumeFromRunId": { "title": "Resume from run/dataset ID", "type": "string", "description": "Paste a previous run ID or dataset ID here to skip URLs it already downloaded successfully, so a re-run does not re-download (and re-charge for) them. Independent of Incremental mode below -- works with it off too." }, "incrementalMode": { "title": "Incremental mode (recurring monitoring)", "type": "boolean", "description": "When on, the actor remembers each video it has processed (by video ID) and tags every row with changeType: NEW / UPDATED / UNCHANGED / REAPPEARED, so re-running this actor later against the same video(s) reports only what changed. UNCHANGED rows are not pushed to the dataset (see Emit unchanged rows). Off by default: output is a single summary item exactly as before, with no changeType field. EXPIRED never fires for this actor -- see Emit expired rows below.", "default": false }, "stateKey": { "title": "State key (optional)", "type": "string", "description": "Only used when Incremental mode is on. Leave blank to use one shared watchlist for all your incremental runs of this actor (tracking is by video ID, not by which URLs you happen to paste in a given run). Set your own text here to keep a separate, isolated watchlist -- e.g. one per project." }, "emitUnchanged": { "title": "Emit unchanged rows", "type": "boolean", "description": "Only used when Incremental mode is on. When on, videos classified UNCHANGED are also pushed to the dataset (and billed as normal dataset items) instead of being suppressed. Off by default.", "default": false }, "emitExpired": { "title": "Emit expired rows", "type": "boolean", "description": "Only used when Incremental mode is on. Kept for consistency with Apify's other incremental-mode actors, but it has NO EFFECT here: EXPIRED requires proving a complete scan of a site-side listing, and this actor has no listing -- its only input is the URLs you paste into each run, so a video missing from `urls` this run simply was not pasted, not removed from vjav.com. This actor will never emit an EXPIRED row regardless of this setting.", "default": false }, "mcpConnectors": { "title": "Pipe results into your apps (optional)", "type": "array", "description": "Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON — the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com)." }, "notionParentPageUrl": { "title": "Notion parent page (Notion connector only)", "type": "string", "description": "URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors." }, "maxNotifyListings": { "title": "Max items to export per connector", "minimum": 1, "maximum": 1000, "type": "integer", "description": "Cap on items written to each connector per run. Does not affect the dataset.", "default": 50 } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Vjav Video Downloader from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: