Algolia API Scraper
Pricing
from $0.50 / 1,000 scraped items
Algolia API Scraper
Generalised scraper for any Algolia-powered search index: scrape hits or discover facets and their values directly via the Algolia Search REST API.
Algolia API Scraper
Pricing
from $0.50 / 1,000 scraped items
Generalised scraper for any Algolia-powered search index: scrape hits or discover facets and their values directly via the Algolia Search REST API.
You can access the Algolia API Scraper 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": "sgoA1kjfBLl2tN0x0" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/rl1987~algolia-api-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-rl1987-algolia-api-scraper", "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/rl1987~algolia-api-scraper/runs": { "post": { "operationId": "runs-sync-rl1987-algolia-api-scraper", "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/rl1987~algolia-api-scraper/run-sync": { "post": { "operationId": "run-sync-rl1987-algolia-api-scraper", "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": [ "algoliaAppId", "algoliaApiKey", "indexName" ], "properties": { "algoliaAppId": { "title": "Algolia Application ID", "type": "string", "description": "The Algolia Application ID (find it in the site's network requests as `X-Algolia-Application-Id` or in the request URL host `<appId>-dsn.algolia.net`). Defaults to Hacker News Search's own public Algolia integration (hn.algolia.com).", "default": "UJ5WYC0L7X" }, "algoliaApiKey": { "title": "Algolia API Key", "type": "string", "description": "A search-only Algolia API key (header `X-Algolia-API-Key`). Most public sites expose this in their frontend JS bundle or network requests. Defaults to Hacker News Search's public search-only key.", "default": "28f0e1ec37a5e792e6845e67da5f20dd" }, "indexName": { "title": "Index name", "type": "string", "description": "Name of the Algolia index to query. Defaults to Hacker News Search's \"Item_dev\" index (stories and comments).", "default": "Item_dev" }, "searchQuery": { "title": "Search query", "type": "string", "description": "Free-text query string. Leave empty to match all records (browse mode).", "default": "" }, "filters": { "title": "Filters", "type": "string", "description": "Algolia filter expression, e.g. `category:Shoes AND price < 50`. See https://www.algolia.com/doc/api-reference/api-parameters/filters/", "default": "" }, "facetFilters": { "title": "Facet filters", "type": "array", "description": "Algolia facetFilters array, e.g. [\"category:Shoes\", [\"color:Red\", \"color:Blue\"]]. Each entry is a string or a nested array (OR group).", "default": [] }, "numericFilters": { "title": "Numeric filters", "type": "array", "description": "Algolia numericFilters array, e.g. [\"price>=10\", \"price<=100\"].", "default": [] }, "facets": { "title": "Facets to discover", "type": "array", "description": "Facet attribute names to request counts for. Use [\"*\"] to discover every facetable attribute and its values.", "default": [ "*" ] }, "maxValuesPerFacet": { "title": "Max values per facet", "minimum": 1, "maximum": 1000, "type": "integer", "description": "Maximum number of facet values returned per facet.", "default": 100 }, "discoverFacetsOnly": { "title": "Discover facets only (no item scraping)", "type": "boolean", "description": "When enabled, the Actor makes a single hitsPerPage=0 request and only outputs the discovered facets and their values/counts, without scraping any search result items.", "default": false }, "attributesToRetrieve": { "title": "Attributes to retrieve", "type": "array", "description": "Limit which attributes are returned per hit. Leave empty to retrieve all attributes (`*`).", "default": [] }, "hitsPerPage": { "title": "Hits per page", "minimum": 1, "maximum": 1000, "type": "integer", "description": "Number of hits fetched per Algolia request page.", "default": 1000 }, "maxItems": { "title": "Max items", "minimum": 0, "type": "integer", "description": "Maximum number of items to scrape in total. 0 = unlimited (scrape all pages Algolia returns).", "default": 0 }, "extraQueryParams": { "title": "Extra Algolia query parameters", "type": "object", "description": "Advanced: any additional Algolia SearchParams fields (e.g. distinct, optionalFilters, restrictSearchableAttributes) merged directly into the request body.", "default": {} } } }, "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 Algolia API Scraper 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: