{
  "openapi": "3.0.1",
  "info": {
    "title": "Crossref Academic Paper Search",
    "description": "Search over 150 million scholarly works indexed by Crossref -- the largest open registry of DOI metadata in the world. Retrieve structured publication data including titles, authors with ORCID identifiers, citation counts, journal names, funding information, abstracts, and more. No API key required.",
    "version": "2.0",
    "x-build-id": "2L8RKpVWEbJQb7Pgv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ryanclinton~crossref-paper-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ryanclinton-crossref-paper-search",
        "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/ryanclinton~crossref-paper-search/runs": {
      "post": {
        "operationId": "runs-sync-ryanclinton-crossref-paper-search",
        "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/ryanclinton~crossref-paper-search/run-sync": {
      "post": {
        "operationId": "run-sync-ryanclinton-crossref-paper-search",
        "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": {
          "query": {
            "title": "Search Query",
            "type": "string",
            "description": "Search by title, abstract, or full text (e.g. 'machine learning', 'climate change')",
            "default": "CRISPR gene editing"
          },
          "authorName": {
            "title": "Author Name",
            "type": "string",
            "description": "Filter by author name (e.g. 'Einstein', 'Jennifer Doudna')"
          },
          "containerTitle": {
            "title": "Journal/Source Name",
            "type": "string",
            "description": "Filter by journal or conference name (e.g. 'Nature', 'Science')"
          },
          "doiPrefix": {
            "title": "DOI Prefix",
            "type": "string",
            "description": "Filter by publisher DOI prefix (e.g. '10.1038' for Nature Publishing, '10.1016' for Elsevier, '10.1007' for Springer)"
          },
          "issn": {
            "title": "Journal ISSN",
            "type": "string",
            "description": "Filter by exact journal ISSN (e.g. '0028-0836' for Nature, '0036-8075' for Science). More precise than journal name search."
          },
          "dois": {
            "title": "DOI Lookup Mode",
            "type": "string",
            "description": "Paste specific DOIs (one per line or comma-separated) to fetch their metadata directly. When set, search filters are ignored."
          },
          "mode": {
            "title": "Search Mode",
            "enum": [
              "literature_review"
            ],
            "type": "string",
            "description": "Standard search returns papers matching your filters. Literature Review mode automatically fetches the most cited AND newest papers, deduplicates, and produces a richer summary with top authors and journals."
          },
          "publicationType": {
            "title": "Publication Type",
            "enum": [
              "journal-article",
              "book-chapter",
              "proceedings-article",
              "posted-content",
              "book",
              "dataset",
              "report"
            ],
            "type": "string",
            "description": "Filter by type of publication"
          },
          "minCitations": {
            "title": "Minimum Citations",
            "minimum": 0,
            "type": "integer",
            "description": "Only return papers with at least this many citations. Useful for finding influential papers and filtering noise."
          },
          "maxCitations": {
            "title": "Maximum Citations",
            "minimum": 0,
            "type": "integer",
            "description": "Only return papers with at most this many citations. Useful for finding recent or niche work that isn't heavily cited yet."
          },
          "fromYear": {
            "title": "From Year",
            "type": "integer",
            "description": "Earliest publication year (e.g. 2020)"
          },
          "toYear": {
            "title": "To Year",
            "type": "integer",
            "description": "Latest publication year (e.g. 2025)"
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "relevance",
              "is-referenced-by-count",
              "published"
            ],
            "type": "string",
            "description": "How to sort results",
            "default": "relevance"
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of papers to return (1-1000)",
            "default": 50
          },
          "includeBibtex": {
            "title": "Include BibTeX Citations",
            "type": "boolean",
            "description": "Generate a BibTeX citation string for each paper. Ready for import into Overleaf, Zotero, Mendeley, or any reference manager.",
            "default": false
          },
          "includeOpenAccess": {
            "title": "Include Open Access Status",
            "type": "boolean",
            "description": "Check each paper against Unpaywall to detect Open Access status, OA type (gold/green/bronze/hybrid), and free PDF URLs. Adds ~1 second per paper.",
            "default": false
          },
          "onlyNew": {
            "title": "Only New Papers (Incremental)",
            "type": "boolean",
            "description": "Only return papers not seen in previous runs. Perfect for scheduled monitoring — each run returns only new publications. Seen DOIs are stored in the Key-Value Store.",
            "default": 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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}