Table of Contents
Authentication
All API endpoints require authentication using an API key. Include your API key in the Authorization header:Base URL
The base URL for all API endpoints is:Endpoints
→ Papers
GET /v1/papers/search
Search for papers by title.
Headers:
Authorization(required): Bearer token with your API key (format:Bearer YOUR_API_KEY)
title(required): The title of the paper to search for
200 OK: Returns an array of matching papers
abstract: Paper abstract text (string or null)authors: Comma-separated list of author names (string)doi: Digital Object Identifier (string or null)downloadable: Whether the paper PDF is downloadable (boolean)engine: Search engine used (string, optional)fieldsOfStudy: Array of field of study categories (string array)id: Unique paper identifier (string)impactFactor: Object containing citation metrics:citationCount: Total number of citations (number)influentialCitationCount: Number of influential citations (number)referenceCount: Number of references (number)
isOpenAccess: Whether the paper is open access (boolean, optional)isPrePrint: Whether the paper is a preprint (boolean, optional)journalName: Name of the journal (string or null)link: URL to the paper (string, optional)pdfLink: URL to the PDF (string, optional)publicationType: Type of publication (string or null)publishedAt: Publication date (string or null)score: Relevance score (number or null)semanticLink: Link to Semantic Scholar page (string, optional)title: Paper title (string)titleLink: Link to paper title page (string, optional)tldr: TLDR summary (string or null)v_country: Country of publication venue (string or null)v_journal_name: Journal name from venue data (string or null)v_publisher: Publisher name (string or null)v_quartile_ranking: Quartile ranking (Q1, Q2, Q3, Q4, or null)year: Publication year (number or null)
GET /v1/papers/{corpusId}
Get a paper by its corpus ID.
Headers:
Authorization(required): Bearer token with your API key (format:Bearer YOUR_API_KEY)
corpusId(required): The corpus ID of the paper
200 OK: Returns paper details
/v1/papers/search for detailed field descriptions.
Example:
→ Jobs
POST /v1/job/{jobType}
Create a new search job. Jobs are asynchronous operations that can be checked for status later.
Headers:
Authorization(required): Bearer token with your API key (format:Bearer YOUR_API_KEY)Content-Type: application/json
jobType(required): Type of job to create. Must be one of:keywordSearch: Search using phrasesquerySearch: Search using a query stringcombinedSearch: Search using both phrases and query
limit(optional): Maximum number of results. Must be100,200, or300. Default:100fieldsOfStudy(optional): Comma-separated list of fields of study. Valid values:Computer ScienceMedicineChemistryBiologyMaterials SciencePhysicsGeologyPsychologyArtHistoryGeographySociologyBusinessPolitical ScienceEconomicsPhilosophyMathematicsEngineeringEnvironmental ScienceAgricultural and Food SciencesEducationLawLinguistics
minCitationCount(optional): Minimum number of citations. Must be a positive integer.openAccessPdf(optional): Filter for open access PDFs. Must betrueorfalse.downloadable(optional): Filter for downloadable papers. Must betrueorfalse.quartileRanking(optional): Filter by quartile ranking(s). Can be a single value or comma-separated list. Valid values:Q1,Q2,Q3,Q4. Example:Q1orQ1,Q2,Q3publicationTypes(optional): Comma-separated list of publication types. Valid values:journalbook seriesconference
sort(optional): Sort order. Format:field:direction. Valid fields:scorecitationCountinfluentialCitationCountquartileRankingreferenceCountyear
year(optional): Filter by year. Format:YYYY(single year) orYYYY:YYYY(year range). Example:2020or2020:2023
keywordSearch: Requiresphrases(3-10 phrases)querySearch: Requiresquery(50-5000 characters)combinedSearch: Requires eitherphrases(3-10 phrases) ORquery(50-5000 characters), or both
-
Credits Calculation: Credits deducted =
Math.ceil(limit / 100)- Example:
limit=100→ 1 credit,limit=200→ 2 credits,limit=300→ 3 credits
- Example:
-
Credit Tier:
- If
enrich=true: Uses Pro Tier Credits (higherTierCreditsBalance) - If
enrich=false: Uses Free Tier Credits (lowerTierCreditsBalance)
- If
-
Insufficient Credits: If you don’t have enough credits, the request will fail with a
403 Forbiddenerror:Response: -
200 OK: Returns job creation response with job ID: -
403 Forbidden: Insufficient credits
→ GET /v1/job/{jobId}
Get the status of a job by its job ID.
Headers:
Authorization(required): Bearer token with your API key (format:Bearer YOUR_API_KEY)
jobId(required): The job ID returned from job creation
200 OK: Returns job status and results (if completed)
queued:
error:
success:
status: Job status. Possible values:queued: Job is queued for processingsuccess: Job completed successfullyerror: Job failed with an error
results: Array of paper results (only present whenstatusissuccess). Each result follows the same structure as described in the Response Fields section under GET/v1/papers/search.
→ User
GET /v1/user/getCredits
Get your current credit balance and plan information.
Headers:
Authorization(required): Bearer token with your API key (format:Bearer YOUR_API_KEY)
-
200 OK: Returns credit balance information:
proTierCreditsBalance: Current balance of Pro Tier credits (used whenenrich=true)proTierCreditsTotal: Total Pro Tier credits ever allocatedfreeTierCreditsBalance: Current balance of Free Tier credits (used whenenrich=false)freeTierCreditsTotal: Total Free Tier credits ever allocatedplan: Your current plan (e.g., “free”, “pro”)
Error Handling
All endpoints return standard HTTP status codes:200 OK: Request successful400 Bad Request: Invalid request parameters or body401 Unauthorized: Missing or invalid API key404 Not Found: Resource not found500 Internal Server Error: Server error
Common Error Scenarios
-
Missing API Key:
-
Invalid Parameters:
-
Invalid Callback URL:
-
Insufficient Credits:
This error occurs when creating a job and you don’t have enough credits in the appropriate tier (Pro Tier for enriched searches, Free Tier for non-enriched searches).
Examples
Complete Workflow: Check Credits, Create Job, and Check Status
Search with Multiple Filters
Get Paper Details and Citations
Notes
- Callback URLs: Must be valid HTTPS URLs. Localhost URLs are not allowed.
- Query Length: For query and combined searches, queries must be between 50 and 5000 characters.
- Phrases: For keyword and combined searches, you must provide between 3 and 10 phrases.
- Rate Limiting: API rate limits may apply 10req/min.
- Job Processing: Jobs are processed asynchronously. Use the callback URL or poll the job status endpoint to check completion.
- Field Names: Field names in query parameters are case-sensitive. Use exact values as specified in the documentation.
- Credits System:
- Credits are deducted immediately when a job is created (before queuing)
- Credits required =
Math.ceil(limit / 100)(e.g., limit 100 = 1 credit, limit 200 = 2 credits, limit 300 = 3 credits) - Pro Tier credits are used when
enrich=true, Free Tier credits whenenrich=false - Always check your credit balance using
/v1/user/getCreditsbefore creating jobs - If job creation fails due to insufficient credits, no credits are deducted
Contact and Support
Need help or onboarding support? Email: [email protected]Website: www.veritus.ai
Offices: Tokyo & Kobe, Japan Veritus is backed by academic and government partners including JETRO, OIST Innovation Accelerator, and Lifetime Ventures Japan.