{
  "openapi": "3.0.1",
  "info": {
    "title": "arXiv Scraper & API - Papers by Category, Keyword, Author, Date",
    "description": "arXiv papers from the official arXiv API as flat rows: ID, version, title, abstract, authors, categories, dates, DOI, journal ref and abs/PDF links. Search by keyword, title, author, category or date range, look up IDs in bulk, or monitor a category for new papers. PDFs are linked, never copied.",
    "version": "0.1",
    "x-build-id": "Xrdubn27bHk8cyIw1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~arxiv-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-arxiv-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/neverempty~arxiv-scraper/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-arxiv-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/neverempty~arxiv-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-arxiv-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": {
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "arXiv category codes such as cs.CL, cs.LG, math.AG, hep-th or q-bio.NC (case-sensitive; full list at arxiv.org/category_taxonomy). Several codes mean OR. A category matches cross-listed papers too; turn on 'Primary category only' to keep only papers whose main category is one of these. Six codes are aliases that arXiv answers with zero results (cs.SY, cs.NA, math.IT, math.MP, q-fin.EC, stat.TH): they are searched under the real code instead and every row says so. The bare pre-2009 archive names astro-ph, cond-mat and q-bio work too. An unknown code is refused with a row saying so, because arXiv itself answers it with zero results.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Words searched across title, abstract, authors and comments. Every word must appear (AND). Put a phrase in double quotes to keep it together, e.g. \"large language model\"."
          },
          "title": {
            "title": "Words in the title",
            "type": "string",
            "description": "Every word must appear in the title. Quotes keep a phrase together, e.g. \"attention is all you need\"."
          },
          "abstract": {
            "title": "Words in the abstract",
            "type": "string",
            "description": "Every word must appear in the abstract. Quotes keep a phrase together."
          },
          "authors": {
            "title": "Authors",
            "type": "array",
            "description": "Author names, e.g. Percy Liang or Yoshua Bengio. Each name is searched as a whole; several names mean papers by any of them (OR).",
            "items": {
              "type": "string"
            }
          },
          "submittedFrom": {
            "title": "Submitted from (YYYY-MM-DD)",
            "type": "string",
            "description": "Keep papers whose first version was submitted on or after this day (GMT). Can be used on its own to list everything submitted in a date range."
          },
          "submittedTo": {
            "title": "Submitted to (YYYY-MM-DD)",
            "type": "string",
            "description": "Keep papers whose first version was submitted on or before this day (GMT); the whole day is included."
          },
          "searchQuery": {
            "title": "Advanced query (arXiv syntax)",
            "type": "string",
            "description": "A raw arXiv API query such as ti:transformer AND au:\"Ashish Vaswani\" or (cat:cs.CV OR cat:eess.IV) AND abs:diffusion. Combined with the fields above using AND. Use parentheses around OR: without them arXiv applies the OR last and a date-limited search can turn into the whole category."
          },
          "arxivIds": {
            "title": "arXiv IDs to look up",
            "type": "array",
            "description": "Look up papers by identifier instead of searching: 2609.11917, 2609.11917v2, arXiv:1706.03762, hep-th/9901001 or an arxiv.org/abs or /pdf link. An ID without a version returns the latest version. IDs arXiv does not have come back as not-found rows (arXiv itself just leaves them out). When IDs are given, the search fields are not applied.",
            "items": {
              "type": "string"
            }
          },
          "primaryCategoryOnly": {
            "title": "Primary category only",
            "type": "boolean",
            "description": "Skip cross-lists: keep only papers whose primary category is one of the categories above. On 1-5 September 2026, 159 of the 459 papers in cs.CL were cross-lists from other categories. Skipped papers are not charged.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "submittedDate",
              "lastUpdatedDate",
              "relevance"
            ],
            "type": "string",
            "description": "Newest submissions first is what most people want. Relevance is arXiv's own ranking.",
            "default": "submittedDate"
          },
          "sortOrder": {
            "title": "Sort order",
            "enum": [
              "descending",
              "ascending"
            ],
            "type": "string",
            "description": "Descending = newest first.",
            "default": "descending"
          },
          "maxResults": {
            "title": "Maximum papers",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "How many papers to return. You are charged only for the paper rows you receive. arXiv serves at most the first 10,000 results of one search (it answers HTTP 500 beyond that), so narrow a larger search by date range.",
            "default": 100
          },
          "monitoringMode": {
            "title": "Monitoring mode (new papers only)",
            "type": "boolean",
            "description": "Return only papers not delivered by an earlier run of this same search. The first run returns the newest papers; later runs return what was added since. A paper is delivered once, not again when a new version appears. Papers announced more than 14 days after their submission date can be missed.",
            "default": false
          },
          "resetMonitoringState": {
            "title": "Reset monitoring memory",
            "type": "boolean",
            "description": "Forget what monitoring mode has already delivered for this search, so the next monitoring run starts over.",
            "default": false
          },
          "maxRetries": {
            "title": "Attempts per request",
            "minimum": 1,
            "maximum": 6,
            "type": "integer",
            "description": "arXiv often answers HTTP 429 or 503 when it is busy; the Actor waits (10s, 20s, 40s ...) and tries again up to this many times in total. After a 429 or 503 it also widens the gap between every later request in the run (3.5s, then 7s, then 14s). HTTP 400 is a permanent answer and is never retried.",
            "default": 4
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}