โ† Back to Search

API Documentation

Integrate priorwork.fyi into your tools and workflows

๐Ÿ”‘ Free API Key

Use the key below to get started immediately โ€” no sign-up required.

Your API Key
pw_live_65d65b6a1f42920fda777e306f0005c0b9141bba4327dff203be010c1f34be72
Daily limit
500 requests / day
Available endpoints
Retrieval & Summaries

The limit resets at midnight UTC. If you need higher volume or synthesis analysis, get in touch.

โšก Quick Start

Set your key as an environment variable, then try a text search:

# Set once
export API_KEY="pw_live_65d65b6a1f42920fda777e306f0005c0b9141bba4327dff203be010c1f34be72"

# Text search โ€” returns the 10 most relevant papers
curl -X POST https://priorwork.fyi/api/query \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "contrastive learning for vision transformers",
    "max_results": 10
  }'
The base URL is https://priorwork.fyi. Pass your key in the X-API-Key header on every request.

๐Ÿ“ก Endpoints

POST /api/query โ€” Text search

Search by free-text query. Optionally request per-paper summaries.

curl -X POST https://priorwork.fyi/api/query \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "diffusion models for image generation",
    "analysis": "summaries",
    "max_results": 10
  }'
FieldTypeDefaultDescription
query string required Free-text query
analysis string "none" "none" or "summaries" โ€” see below
max_results int 10 1โ€“10

POST /api/search/paper-sections โ€” Structured search

Search using the sections of a paper (title, abstract, intro, โ€ฆ). Produces the best results because the embedding is built from your full paper structure.

curl -X POST https://priorwork.fyi/api/search/paper-sections \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sections": {
      "title": "Your Paper Title",
      "Abstract": "We present a novel approach to ...",
      "1. Introduction": "This problem is important because ...",
      "References": "[1] Smith et al. 2023. ..."
    },
    "analysis": "summaries",
    "check_citations": true,
    "max_results": 10
  }'
FieldTypeDefaultDescription
sections object required Section name โ†’ text. The first 4 sections are used for the search embedding.
analysis string "none" "none" or "summaries"
check_citations bool false Marks results that already appear in your References section via is_cited
max_results int 10 1โ€“10

๐Ÿง  The analysis Parameter

ValueDescriptionExtra latency
"none" Search results only, no LLM processing โ€”
"summaries" Per-paper structured notes: problem, method, key results, evidence strength. Uses cached extractions when available. +5โ€“15 s

๐Ÿ“ฆ Response Structure

Search-only (analysis: "none")

{
  "query": "diffusion models for image generation",
  "total_results": 10,
  "uncited_count": 8,
  "cited_count": 2,
  "results": [
    {
      "paper_id":    "DDPM_2020",
      "title":      "Denoising Diffusion Probabilistic Models",
      "authors":    "Ho, Jain, Abbeel",
      "year":       "2020",
      "conference": "NeurIPS",
      "abstract":   "We present ...",
      "similarity": 0.91,
      "is_cited":   false,
      "download_url": "https://..."
    }
  ],
  "llm_analysis": null,
  "llm_error":    null
}

With summaries (analysis: "summaries")

The results array is unchanged. An llm_analysis.extractions list is added:

{
  "results": [ /* same as above */ ],
  "llm_analysis": {
    "extractions": [
      {
        "paper_id":               "DDPM_2020",
        "problem":                "The core problem addressed",
        "core_insight":           "The key observation that justifies the approach",
        "method_summary":         "How the paper solves it",
        "key_results":            ["Result 1", "Result 2"],
        "baselines_beaten":       ["Baseline A"],
        "limitations":            ["Main limitation", "Secondary limitation"],
        "applicability_conditions":"Assumptions and constraints on when this applies",
        "positioning":            "Gap in prior work the authors claim to fill",
        "evidence_strength":      "4/5 โ€” Strong empirical evidence with ablations"
      }
    ],
    "error": null
  }
}
is_cited is only meaningful when check_citations: true is passed. similarity values above 0.83 indicate a strong match; above 0.97 likely means the paper is already in your references.