Rentalcars Search API (per-search)
Pricing
from $6.00 / 1,000 search executeds
Rentalcars Search API (per-search)
Private client build of the RentalCars.com scraper, billed per executed search instead of per result. Not published on the Apify Store.
Rentalcars Search API (per-search)
Pricing
from $6.00 / 1,000 search executeds
Private client build of the RentalCars.com scraper, billed per executed search instead of per result. Not published on the Apify Store.
You can access the Rentalcars Search API (per-search) 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 Integrations settings in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "M2Dtfk8uOSeyOQfYK" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/studio-amba~rentalcars-search-api/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-studio-amba-rentalcars-search-api", "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/studio-amba~rentalcars-search-api/runs": { "post": { "operationId": "runs-sync-studio-amba-rentalcars-search-api", "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/studio-amba~rentalcars-search-api/run-sync": { "post": { "operationId": "run-sync-studio-amba-rentalcars-search-api", "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", "properties": { "pickupLocation": { "title": "Pickup Location", "type": "string", "description": "City, airport, or station to pick up the car. The actor resolves this via the RentalCars location search and uses the best match. Example: \"Barcelona Airport\", \"Brussels\", \"Malaga\". For multiple destinations in one run, use Pickup Locations (batch) below instead." }, "pickupLocations": { "title": "Pickup Locations (batch)", "type": "array", "description": "Run many searches in one go: one billed search per location, all with the same dates. Overrides the single Pickup Location field. Up to 100 locations per run — split bigger grids across runs (e.g. one run per date pair).", "items": { "type": "string" } }, "pickupDate": { "title": "Pickup Date", "type": "string", "description": "Pickup date in YYYY-MM-DD format. Leave empty to default to about 30 days from now. Dates in the past are automatically replaced by that default." }, "dropoffDate": { "title": "Drop-off Date", "type": "string", "description": "Drop-off date in YYYY-MM-DD format. Leave empty to default to a 7-day rental." }, "driverAge": { "title": "Driver Age", "minimum": 18, "maximum": 99, "type": "integer", "description": "Driver age (affects pricing and availability).", "default": 30 }, "currency": { "title": "Currency", "enum": [ "", "EUR", "GBP", "USD", "CHF", "PLN", "CZK", "HUF", "RON", "SEK", "NOK", "DKK", "CAD", "AUD" ], "type": "string", "description": "ISO 4217 currency code to price results in (e.g. EUR, GBP, USD, CHF, PLN). Leave empty to auto-detect from the pickup destination's country — a Spanish airport returns EUR, a UK airport returns GBP, etc. Set this to force a specific currency regardless of destination (e.g. price a Spanish rental in USD for a US customer)." }, "countryOfResidence": { "title": "Country of Residence (advanced)", "type": "string", "description": "ISO 3166-1 alpha-2 country code (e.g. \"gb\", \"es\", \"us\") sent as the location-search locale. Affects location-suggestion ordering only — it does NOT control pricing currency (use the Currency field above for that). Leave empty to use the default \"gb\"." }, "searchUrl": { "title": "Search Results URL (advanced)", "type": "string", "description": "Optional. A RentalCars.com search-results URL. The actor extracts the location name and dates from it (query params like locationName, puDay/puMonth/puYear). Most users should leave this empty and use the pickup location and dates above instead." }, "maxResults": { "title": "Max Results Per Search", "minimum": 1, "maximum": 500, "type": "integer", "description": "Maximum number of car rental offers to return per search. Results beyond this are dropped; the search still costs the same, so leave it high to get everything your $0.01 already paid for.", "default": 500 }, "proxyConfiguration": { "title": "Proxy Configuration", "type": "object", "description": "Proxy settings. Residential proxies are strongly recommended for RentalCars.com due to AWS WAF protection." } } }, "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 Rentalcars Search API (per-search) 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: