{
  "openapi": "3.0.1",
  "info": {
    "title": "Crossref API New Works Feed: New DOIs & Journal Articles",
    "description": "New journal articles, preprints and datasets registered with Crossref, via the keyless Crossref REST API. Monitor journals (ISSN), publishers, funders or keywords on a schedule; get only new DOIs with title, journal, dates, funders, licences. No author names or abstracts. Unofficial.",
    "version": "0.2",
    "x-build-id": "PV6YWAdumPmZyAAjH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fecklesspleb~crossref-new-works-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fecklesspleb-crossref-new-works-feed",
        "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/fecklesspleb~crossref-new-works-feed/runs": {
      "post": {
        "operationId": "runs-sync-fecklesspleb-crossref-new-works-feed",
        "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/fecklesspleb~crossref-new-works-feed/run-sync": {
      "post": {
        "operationId": "run-sync-fecklesspleb-crossref-new-works-feed",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "daily_feed",
              "date_range"
            ],
            "type": "string",
            "description": "Daily feed: works from the last N days, skipping DOIs already saved by earlier runs with the same state key. Date range: everything between two dates.",
            "default": "daily_feed"
          },
          "lookbackDays": {
            "title": "Look back (days)",
            "minimum": 0,
            "maximum": 90,
            "type": "integer",
            "description": "Daily feed only. 0 = today only (UTC), 1 = yesterday and today.",
            "default": 1
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "Date range only, e.g. 2026-10-01 (UTC, inclusive)."
          },
          "endDate": {
            "title": "End date",
            "type": "string",
            "description": "Date range only (inclusive). Empty = today."
          },
          "dateField": {
            "title": "Date field",
            "enum": [
              "created",
              "published",
              "indexed",
              "deposited"
            ],
            "type": "string",
            "description": "Which Crossref date the range and the newest-first order use.",
            "default": "created"
          },
          "types": {
            "title": "Work types",
            "type": "array",
            "description": "Crossref work types. Empty list = all types. Default: journal articles.",
            "items": {
              "type": "string",
              "enum": [
                "journal-article",
                "proceedings-article",
                "book-chapter",
                "book",
                "monograph",
                "edited-book",
                "reference-entry",
                "posted-content",
                "dissertation",
                "report",
                "dataset",
                "standard",
                "peer-review",
                "component",
                "journal-issue",
                "grant",
                "other"
              ]
            },
            "default": [
              "journal-article"
            ]
          },
          "query": {
            "title": "Keywords",
            "type": "string",
            "description": "Optional bibliographic keywords (title, journal, ...). Results are still sorted newest first by the chosen date field, not by relevance, and the date range still applies. Crossref's keyword matching is loose: not every result contains every word (in one test only 28 of 246 'perovskite solar' matches had both words in the title). For precision, use filters (ISSN, DOI prefix, member, funder, type) or a narrower phrase."
          },
          "issns": {
            "title": "Journal ISSNs",
            "type": "array",
            "description": "Only works in these journals, e.g. 0028-0836. Up to 50.",
            "items": {
              "type": "string"
            }
          },
          "doiPrefixes": {
            "title": "DOI prefixes",
            "type": "array",
            "description": "Only works with these DOI prefixes, e.g. 10.1038. Up to 50.",
            "items": {
              "type": "string"
            }
          },
          "memberIds": {
            "title": "Crossref member IDs",
            "type": "array",
            "description": "Only works from these publishers (Crossref member id, e.g. 297 = Springer). Up to 50.",
            "items": {
              "type": "string"
            }
          },
          "funderDois": {
            "title": "Funder DOIs",
            "type": "array",
            "description": "Only works acknowledging these funders (Open Funder Registry DOI, e.g. 10.13039/100000001 = NSF). Up to 50.",
            "items": {
              "type": "string"
            }
          },
          "hasAbstract": {
            "title": "Only works with an abstract on file",
            "type": "boolean",
            "description": "The abstract itself is never output.",
            "default": false
          },
          "hasFunder": {
            "title": "Only works with funding information",
            "type": "boolean",
            "description": "Only works whose Crossref record lists at least one funder.",
            "default": false
          },
          "creativeCommonsOnly": {
            "title": "Only Creative Commons licensed works",
            "type": "boolean",
            "description": "Keep only works whose Crossref licence list includes a creativecommons.org licence.",
            "default": false
          },
          "maxItems": {
            "title": "Max works",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many works (charged per work). Default 9 (about $0.009), also when left empty. Minimum 1, maximum 100,000; there is no unlimited setting. A weekday brings roughly 27,000 to 35,000 new journal articles, so for a complete daily feed use filters and set this above your expected daily count.",
            "default": 9
          },
          "onlyNewSinceLastRun": {
            "title": "Only new since last run",
            "enum": [
              "auto",
              "yes",
              "no"
            ],
            "type": "string",
            "description": "Skip DOIs saved by earlier runs with the same state key. Each state key remembers at most 200,000 DOIs. Beyond that, the earliest-saved DOIs are dropped from the list, so they can be returned (and charged) again if they are still inside the date range of a later run.",
            "default": "auto"
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Use different keys for different scheduled feeds so they keep separate 'seen' lists.",
            "default": "default"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}