get_pdf
Download submission PDFs from OpenReview conferences using venue ID and submission identifier to access paper content for review workflows.
Instructions
Download a submission's PDF and return the file path so you can read it.
Args: venue_id: The venue identifier (e.g., 'ICLR.cc/2025/Conference'). submission_id: The submission's note ID. Provide this OR submission_number. submission_number: The submission's paper number. Provide this OR submission_id.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| venue_id | Yes | ||
| submission_id | No | ||
| submission_number | No |
Implementation Reference
- The `get_pdf` function is a tool that downloads a submission's PDF file from OpenReview and saves it to a local temporary directory, returning the file path.
async def get_pdf( venue_id: str, submission_id: str | None = None, submission_number: int | None = None, ) -> str: """Download a submission's PDF and return the file path so you can read it. Args: venue_id: The venue identifier (e.g., 'ICLR.cc/2025/Conference'). submission_id: The submission's note ID. Provide this OR submission_number. submission_number: The submission's paper number. Provide this OR submission_id. """ client = get_client() note_id = submission_id if not note_id: if submission_number is not None: notes = client.get_all_notes( invitation=f"{venue_id}/-/Submission", number=submission_number, ) if not notes: return f"No submission found with number {submission_number} in {venue_id}." note_id = notes[0].id else: return "Please provide either submission_id or submission_number." pdf_bytes = client.get_pdf(id=note_id) os.makedirs(PDF_DIR, exist_ok=True) safe_id = note_id.replace("/", "_").replace("..", "_") filename = f"{safe_id}.pdf" filepath = os.path.join(PDF_DIR, filename) with open(filepath, "wb") as f: f.write(pdf_bytes) return f"PDF downloaded to: {filepath}\n\nYou can now read this file to analyze the paper."