{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenAlex Scraper",
    "description": "Optimize your academic research with our comprehensive OpenAlex scraper! Obtain complete academic information, including publication dates, DOI links, open access status, and citation metrics. Ideal for researchers, academic institutions, and data analysts who need accurate data without manual work.",
    "version": "1.0",
    "x-build-id": "e1GadbGeo6gXwQanG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~openalex-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-openalex-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/parseforge~openalex-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-openalex-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/parseforge~openalex-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-openalex-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",
        "properties": {
          "startUrl": {
            "title": "Start URL",
            "type": "string",
            "description": "Direct OpenAlex API URL to scrape from. Use this OR the filter fields below, but not both. Example: https://api.openalex.org/works?search=machine+learning&sort=cited_by_count:desc"
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
          },
          "authorId": {
            "title": "Author ID",
            "type": "array",
            "description": "OpenAlex author ID(s) to filter works by author. Can specify multiple values (OR logic). Example: [\"A2208157607\", \"A123456789\"]. Leave empty if using startUrl.",
            "items": {
              "type": "string"
            }
          },
          "funderId": {
            "title": "Funder ID",
            "type": "array",
            "description": "OpenAlex funder ID(s) to filter works by funder. Can specify multiple values (OR logic). Example: [\"F123456789\", \"F987654321\"]. Leave empty if using startUrl.",
            "items": {
              "type": "string"
            }
          },
          "institutionId": {
            "title": "Institution ID",
            "type": "array",
            "description": "OpenAlex institution ID(s) to filter works by institution. Can specify multiple values (OR logic). Example: [\"I114527120\", \"I987654321\"]. Leave empty if using startUrl.",
            "items": {
              "type": "string"
            }
          },
          "isOA": {
            "title": "Open Access",
            "type": "boolean",
            "description": "Filter for Open Access works only. Leave empty if using startUrl."
          },
          "search": {
            "title": "Title & Abstract",
            "type": "array",
            "description": "Search query/queries to find works in titles and abstracts. Can specify multiple values (OR logic). Example: [\"machine learning\", \"deep learning\"]. Leave empty if using startUrl.",
            "items": {
              "type": "string"
            }
          },
          "topicId": {
            "title": "Topic ID",
            "type": "array",
            "description": "OpenAlex topic/concept ID(s) to filter works by topic. Can specify multiple values (OR logic). Example: [\"C123456789\", \"C987654321\"]. Leave empty if using startUrl.",
            "items": {
              "type": "string"
            }
          },
          "keywordId": {
            "title": "Keyword ID",
            "type": "array",
            "description": "OpenAlex keyword ID(s) to filter works by keyword. Can specify multiple values (OR logic). Example: [\"keywords/machine-learning\", \"keywords/neural-networks\"]. Leave empty if using startUrl.",
            "items": {
              "type": "string"
            }
          },
          "workType": {
            "title": "Type",
            "type": "array",
            "description": "Type(s) of work to filter. Can specify multiple values (OR logic). Examples: [\"article\", \"book\"], [\"chapter\", \"dataset\"]. Leave empty if using startUrl.",
            "items": {
              "type": "string"
            }
          },
          "fromPublicationDate": {
            "title": "From Publication Date",
            "type": "string",
            "description": "Filter works published on or after this date. Format: YYYY-MM-DD. Leave empty if using startUrl."
          },
          "toPublicationDate": {
            "title": "To Publication Date",
            "type": "string",
            "description": "Filter works published on or before this date. Format: YYYY-MM-DD. Leave empty if using startUrl."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "cited_by_count:desc",
              "citation_normalized_percentile.value:desc",
              "fwci:desc",
              "display_name:asc",
              "publication_year:desc"
            ],
            "type": "string",
            "description": "Sort field and direction. Default: Citation Count. Leave empty if using startUrl.",
            "default": "cited_by_count:desc"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}