{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenAlex Work Search: Papers by Keyword, Author or Institution",
    "description": "Search scholarly papers by keyword, author, or institution via OpenAlex. Fast metadata export: DOIs, citations, authors with ORCID, abstracts, and OA links.",
    "version": "1.0",
    "x-build-id": "hJ6ti8mTxbld3i8Rn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/accountable_eel~openalex-work-search-lookup/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-accountable_eel-openalex-work-search-lookup",
        "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/accountable_eel~openalex-work-search-lookup/runs": {
      "post": {
        "operationId": "runs-sync-accountable_eel-openalex-work-search-lookup",
        "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/accountable_eel~openalex-work-search-lookup/run-sync": {
      "post": {
        "operationId": "run-sync-accountable_eel-openalex-work-search-lookup",
        "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": {
          "queries": {
            "title": "OpenAlex Work Search — keywords, topics, author or institution",
            "type": "array",
            "description": "One search per line. Enter keywords (e.g. \"graph neural networks\"), OpenAlex author IDs (e.g. \"A5057871229\"), ORCIDs, or institution IDs (e.g. \"I4210132348\"). Accepted formats: graph neural networks, A5057871229, 0000-00-02-1963-8755, I4210132348, author:Yann LeCun, institution:Harvard University. You're only charged for the ones we actually find — a miss costs nothing.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum works to return",
            "type": "integer",
            "description": "Maximum works to return per search query. Capped at 200 for fast single-hop responses. Default 25.",
            "default": 25
          },
          "testRun": {
            "title": "Try it first — only process the first 5",
            "type": "boolean",
            "description": "Turn this on to test your input on a small sample before running the full list. Turn it off to process everything.",
            "default": false
          },
          "onlyFound": {
            "title": "Hide rows with no result",
            "type": "boolean",
            "description": "Only keep rows where something was actually found. Misses are always free, whether or not you show them here.",
            "default": false
          },
          "includeKeywords": {
            "title": "Only keep rows containing",
            "type": "array",
            "description": "Optional. Only keep results that mention at least one of these words (e.g. a job title, a city, a product name). Leave empty to keep everything.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Skip rows containing",
            "type": "array",
            "description": "Optional. Drop any result that mentions one of these words. Leave empty to skip nothing.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Stop after this many results",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Stop the run once this many results have been found — useful for a quick, cheap sample. Leave blank for no limit."
          },
          "publicationYear": {
            "title": "Filter by publication year",
            "type": "string",
            "description": "Optional publication year filter (e.g. \"2024\", \"2020-2024\", or \">2020\"). Leave empty for all years.",
            "default": ""
          },
          "author": {
            "title": "Filter by author",
            "type": "string",
            "description": "Optional author filter: author name, OpenAlex author ID (A...), or ORCID. Narrow results to works by this author.",
            "default": ""
          },
          "institution": {
            "title": "Filter by institution",
            "type": "string",
            "description": "Optional institution filter: institution name, OpenAlex institution ID (I...), or ROR. Narrow results to works affiliated with this institution.",
            "default": ""
          },
          "openAccessOnly": {
            "title": "Open access papers only",
            "type": "boolean",
            "description": "When enabled, restricts results to open-access papers only.",
            "default": false
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "cited_by_count:desc",
              "publication_date:desc"
            ],
            "type": "string",
            "description": "Sort order for search results.",
            "default": "relevance"
          },
          "columns": {
            "title": "Which columns do you want?",
            "type": "array",
            "description": "Choose which pieces of information to include in each result row. All are included by default.",
            "items": {
              "type": "string",
              "enum": [
                "searchQuery",
                "workCount",
                "totalResults",
                "works",
                "openalexId",
                "doi",
                "title",
                "publicationYear",
                "publicationDate",
                "type",
                "venue",
                "citedByCount",
                "isOpenAccess",
                "oaStatus",
                "oaUrl",
                "pdfUrl",
                "landingPageUrl",
                "authorNames",
                "authorCount",
                "primaryInstitution",
                "institutions",
                "authors",
                "primaryTopic",
                "concepts",
                "abstract",
                "sourceUrl"
              ],
              "enumTitles": [
                "Search query searched",
                "Works returned for this search",
                "Total estimated works matching query in OpenAlex",
                "All works returned (full array)",
                "OpenAlex work ID",
                "DOI URL",
                "Paper title",
                "Publication year",
                "Publication date",
                "Work type",
                "Venue / Journal name",
                "Citations count",
                "Is open access?",
                "Open access status",
                "Open access URL",
                "Direct PDF URL",
                "Landing page URL",
                "Author names",
                "Total authors count",
                "First author institution",
                "Affiliated institutions",
                "Full authorships array",
                "Primary topic domain",
                "Concepts / Key topics",
                "Reconstructed abstract text",
                "Source URL"
              ]
            },
            "default": [
              "searchQuery",
              "workCount",
              "totalResults",
              "works",
              "openalexId",
              "doi",
              "title",
              "publicationYear",
              "publicationDate",
              "type",
              "venue",
              "citedByCount",
              "isOpenAccess",
              "oaStatus",
              "oaUrl",
              "pdfUrl",
              "landingPageUrl",
              "authorNames",
              "authorCount",
              "primaryInstitution",
              "institutions",
              "authors",
              "primaryTopic",
              "concepts",
              "abstract",
              "sourceUrl"
            ]
          },
          "expandRows": {
            "title": "One row per work (recommended) — turn off for one row per query instead",
            "type": "boolean",
            "description": "When on, each work found gets its own row instead of being grouped under its query. You're still only charged once per query, no matter how many rows it produces.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Parallel requests. Keep conservative — this target has no browser fallback, so getting blocked costs more than slow-and-steady.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy config. This target is a free public API that needs no proxy — defaults to off, but you can turn one on if you prefer.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}