{
  "openapi": "3.0.1",
  "info": {
    "title": "arXiv Papers Scraper: Search, Metadata, Authors, Full Abstracts",
    "description": "arXiv papers scraper to search and scrape academic research papers from arXiv. Extract paper titles, full abstracts, author lists, subject categories, DOIs, PDF links and publication dates by keyword, author or category. Ideal for literature reviews, RAG pipelines and LLM training datasets.",
    "version": "1.0",
    "x-build-id": "AqU9E6NlyQfjQi9W2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/reapx~arxiv-papers-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-reapx-arxiv-papers-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/reapx~arxiv-papers-scraper/runs": {
      "post": {
        "operationId": "runs-sync-reapx-arxiv-papers-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/reapx~arxiv-papers-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-reapx-arxiv-papers-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": {
          "searchQuery": {
            "title": "Keyword or phrase",
            "type": "string",
            "description": "Words or a phrase to search for. Multi-word input is matched as an exact phrase. Leave empty to browse a whole subject category by date."
          },
          "searchField": {
            "title": "Search this field",
            "enum": [
              "all",
              "ti",
              "abs",
              "au",
              "co",
              "jr"
            ],
            "type": "string",
            "description": "Which part of the arXiv record the keyword above is matched against. 'Everything' searches title, abstract, authors, comments and journal reference at once.<br><br>Options: <code>all</code>, <code>ti</code>, <code>abs</code>, <code>au</code>, <code>co</code>, <code>jr</code>.",
            "default": "all"
          },
          "categories": {
            "title": "arXiv subject categories",
            "uniqueItems": true,
            "type": "array",
            "description": "arXiv subject class codes, e.g. <code>cs.AI</code> (artificial intelligence), cs.LG (machine learning), cs.CL (computation and language), cs.CV (computer vision), cs.CR (cryptography and security), cs.DB (databases), cs.SE (software engineering), cs.RO (robotics), stat.ML, math.ST, q-bio.QM, econ.EM, physics.comp-ph, eess.SP, quant-ph, astro-ph.CO. Any code from the arXiv taxonomy works. Leave empty to search all of arXiv.",
            "items": {
              "type": "string"
            }
          },
          "categoryMatch": {
            "title": "How to combine categories",
            "enum": [
              "any",
              "all"
            ],
            "type": "string",
            "description": "'Any' returns a paper filed under at least one of the categories. 'All' returns only papers filed under every category at once - useful for finding genuinely cross-disciplinary work.<br><br>Options: <code>any</code>, <code>all</code>.",
            "default": "any"
          },
          "authors": {
            "title": "Authors",
            "uniqueItems": true,
            "type": "array",
            "description": "Author names to match. A paper is kept if it has at least one of these authors. Full names work best.<br><br>Leave this field empty to include every option.",
            "items": {
              "type": "string"
            }
          },
          "affiliations": {
            "title": "Affiliations or institutions",
            "uniqueItems": true,
            "type": "array",
            "description": "Institution names matched anywhere in the arXiv record (author affiliation tag, comments, title or abstract). A paper is kept if it matches at least one. arXiv does not index affiliation as a separate field, so treat this as a strong text filter rather than a registry lookup.<br><br>Leave this field empty to include every option.",
            "items": {
              "type": "string"
            }
          },
          "arxivIds": {
            "title": "Specific arXiv IDs",
            "uniqueItems": true,
            "type": "array",
            "description": "Fetch these exact papers instead of searching. Accepts new-style IDs (2504.12342), versioned IDs (1706.03762v7) and old-style IDs (cs/9510101). When set, all search filters above are ignored.<br><br>Leave this field empty to include every option.",
            "items": {
              "type": "string"
            }
          },
          "primaryCategoryOnly": {
            "title": "Only papers whose PRIMARY category matches",
            "type": "boolean",
            "description": "Drop papers that were merely cross-listed into your categories. Gives you the native output of a subject class, the way its listing page reads.",
            "default": false
          },
          "crossListedOnly": {
            "title": "Only cross-listed papers",
            "type": "boolean",
            "description": "Keep only papers whose primary category is something else - work imported into your categories from another field. The fastest way to see what physics or biology is borrowing from machine learning.",
            "default": false
          },
          "dateField": {
            "title": "Date to filter on",
            "enum": [
              "submittedDate",
              "lastUpdatedDate"
            ],
            "type": "string",
            "description": "Filter on the day the paper first appeared, or on the day its latest version was posted.<br><br>Options: <code>submittedDate</code>, <code>lastUpdatedDate</code>.",
            "default": "submittedDate"
          },
          "lastDays": {
            "title": "Rolling window: last N days",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Return only papers from the last N days, recomputed on every run. Use this for scheduled monitoring - 1 for a daily digest, 7 for a weekly review. Overrides the fixed dates below.<br><br>The higher the number, the longer the run takes and the more you are charged, because you pay per row returned."
          },
          "dateFrom": {
            "title": "From date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Earliest date to include, inclusive. Ignored when a rolling window is set."
          },
          "dateTo": {
            "title": "To date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Latest date to include, inclusive. Ignored when a rolling window is set."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "submittedDate",
              "lastUpdatedDate",
              "relevance"
            ],
            "type": "string",
            "description": "Newest first is the right choice for monitoring. Relevance is the right choice for a one-off literature search.<br><br>Options: <code>submittedDate</code>, <code>lastUpdatedDate</code>, <code>relevance</code>.",
            "default": "submittedDate"
          },
          "sortOrder": {
            "title": "Sort order",
            "enum": [
              "descending",
              "ascending"
            ],
            "type": "string",
            "description": "Descending puts the newest (or most relevant) paper first.<br><br>Options: <code>descending</code>, <code>ascending</code>.",
            "default": "descending"
          },
          "maxPapers": {
            "title": "Maximum papers to return",
            "minimum": 1,
            "maximum": 30000,
            "type": "integer",
            "description": "Hard stop on how many papers are returned and charged. Each paper returned costs $0.0025. 50 papers finishes in well under a minute.<br><br>The higher the number, the longer the run takes and the more you are charged, because you pay per row returned.",
            "default": 50
          },
          "dedupeByPaper": {
            "title": "One row per paper, not per version",
            "type": "boolean",
            "description": "Collapse v1, v2, v3 of the same paper into a single row holding the latest version seen. Turn off if you want every revision separately.",
            "default": true
          },
          "rawSearchQuery": {
            "title": "Advanced: raw arXiv query string",
            "type": "string",
            "description": "Full arXiv API search_query syntax, passed straight through. Overrides every filter in sections 1 to 3. Example: cat:cs.LG AND abs:\"graph neural network\" ANDNOT cat:cs.CV<br><br>Leave this field empty to skip this filter."
          },
          "requestDelaySecs": {
            "title": "Delay between requests (seconds)",
            "minimum": 3,
            "maximum": 60,
            "type": "integer",
            "description": "arXiv asks API clients to wait at least 3 seconds between requests. 3 is the minimum this Actor allows; raise it if you are running several jobs at once.",
            "default": 3
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}