AccuraCite Verify API

The Verify API from AccuraCite — 1 operation(s) for verify.

Operations 1

POST /api/v1/verify Verify one or a small batch of citations #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/accuracite:accuracite-verify-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

accuracite-verify-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AccuraCite Verify API
  version: 1.0.0
  description: Synchronous REST API for citation verification and claim-backed citation finding.
  termsOfService: https://accuracite.com/terms
  contact:
    email: support@accuracite.com
servers:
- url: https://accuracite.com
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: Verify
paths:
  /api/v1/verify:
    post:
      operationId: verifyCitation
      summary: Verify one or a small batch of citations
      description: 'Checks a citation against 6 academic databases (OpenAlex, Crossref, Semantic Scholar, PubMed, DBLP, arXiv) to see if it''s accurate, not found, or has mismatches. Provide exactly one of `text`, `texts`, `citation`, or `citations`. `text`/`texts` is a raw citation string (or a batch of up to 10), parsed via LLM extraction; it can be a formatted bibliographic citation or a bare URL -- a URL that isn''t in an academic database is fetched directly and its title/author text is confirmed to appear on the page, rather than matched against a bibliographic record. `citation`/`citations` instead takes already-structured bib-style fields (title/author/year/doi/journal/volume/issue/page/publisher/url/type) and skips the LLM parse entirely -- use this if you already have structured metadata (e.g. from your own .bib file). Batch items are verified in parallel, so response time is close to that of a single citation rather than growing with batch size. Rate limit: 60 requests/minute per API key.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/VerifySingleRequest'
              - $ref: '#/components/schemas/VerifyBatchRequest'
              - $ref: '#/components/schemas/VerifyCitationFieldsRequest'
              - $ref: '#/components/schemas/VerifyCitationsBatchRequest'
            examples:
              single:
                summary: Single citation (raw text)
                value:
                  text: Vaswani, A., et al. (2017). Attention is all you need. Advances in neural information processing systems, 30.
              batch:
                summary: Batch of citations (raw text)
                value:
                  texts:
                  - Vaswani, A., et al. (2017). Attention is all you need. Advances in neural information processing systems, 30.
                  - Kuhn, T. S. (1962). The Structure of Scientific Revolutions. University of Chicago Press.
              structured:
                summary: Single citation (structured fields, no LLM parse)
                value:
                  citation:
                    title: Attention is all you need
                    author: Vaswani, Ashish
                    year: 2017
                    journal: Advances in Neural Information Processing Systems
                    volume: '30'
              structured_batch:
                summary: Batch of citations (structured fields)
                value:
                  citations:
                  - title: Attention is all you need
                    author: Vaswani, Ashish
                    year: 2017
                  - title: The Structure of Scientific Revolutions
                    author: Kuhn, T. S.
                    year: 1962
      responses:
        '200':
          description: 'Verification result. A `text` request returns a single VerifyResult object; a `texts` request returns `{"results": [...]}`, one VerifyResult per input citation, in the same order.'
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/VerifyResult'
                - $ref: '#/components/schemas/VerifyBatchResponse'
              examples:
                verified:
                  summary: A real, matched paper
                  value:
                    verification_status: verified
                    mismatches: []
                    reason: null
                    source: Semantic Scholar
                    retracted: false
                    citation:
                      title: Attention is all you need
                      author: Vaswani A, Shazeer N, Parmar N, ...
                      doi: 10.48550/arXiv.1706.03762
                      url: https://arxiv.org/abs/1706.03762
                      year: '2017'
                      bibtex_entry_type: article
                      volume: null
                      issue: null
                      page: null
                      publisher: null
                      container_title: Advances in Neural Information Processing Systems
                      abstract: The dominant sequence transduction models...
                retracted:
                  summary: A real, matched paper that has been retracted
                  value:
                    verification_status: verified
                    mismatches: []
                    reason: null
                    source: OpenAlex
                    retracted: true
                    citation:
                      title: 'RETRACTED: Ileal-lymphoid-nodular hyperplasia, non-specific colitis, and pervasive developmental disorder in children'
                      doi: 10.1016/S0140-6736(97)11096-0
                      year: '1998'
                not_found:
                  summary: No confident match
                  value:
                    verification_status: not_found
                    mismatches: []
                    reason: null
                    source: OpenAlex
                    retracted: false
                    citation:
                      title: A closest-match paper title, unrelated to what you sent
                batch:
                  summary: Batch response
                  value:
                    results:
                    - verification_status: verified
                      mismatches: []
                      reason: null
                      source: Crossref
                      retracted: false
                      citation:
                        title: Attention is all you need
                    - verification_status: verified
                      mismatches: []
                      reason: null
                      source: OpenAlex
                      retracted: false
                      citation:
                        title: The Structure of Scientific Revolutions
        '400':
          description: None or more than one of `text`/`texts`/`citation`/`citations` provided, a non-string item in `texts`, a missing `title` or unrecognized field name in `citation`/`citations`, or a field value over 500 characters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid X-API-Key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: A citation exceeds 2,000 characters, or `texts`/`citations` exceeds 10 items.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit or credit limit reached. For a batch, the whole batch is rejected atomically if the credit balance can't cover every item — nothing is charged or processed. A rate-limit response includes a `Retry-After` header and `retry_after_seconds`; a credit-limit response includes `credits_reset_at` (when the pool refills).
          headers:
            Retry-After:
              description: 'Present only on a rate-limit rejection: seconds to wait before retrying.'
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Verify
components:
  schemas:
    VerifyResult:
      type: object
      properties:
        verification_status:
          type: string
          enum:
          - verified
          - mismatch
          - not_found
        mismatches:
          type: array
          items:
            type: string
          description: 'Populated only when verification_status is "mismatch". Any of: title, author, year, DOI, journal, volume, issue, page.'
        reason:
          type:
          - string
          - 'null'
          description: Set for some not_found results (e.g. a dead URL); otherwise null.
        source:
          type:
          - string
          - 'null'
          description: 'Database that supplied `citation`: OpenAlex, Crossref, Semantic Scholar, PubMed, DBLP, arXiv, or Google Scholar. "Publisher Metadata" and "URL Direct Check" mean a URL was fetched directly instead.'
        retracted:
          type: boolean
          description: 'Independent of verification_status: a citation can be a real, correctly-matched paper (verification_status "verified") and still be retracted. Sourced from retraction metadata already published by OpenAlex, Crossref, and PubMed; corroborated the same way the rest of verification is, so any one provider flagging it is enough. False does not mean "confirmed not retracted" -- only that none of the providers consulted flagged it.'
        citation:
          oneOf:
          - $ref: '#/components/schemas/Citation'
          - type: 'null'
          description: Null only if nothing at all was found. When verification_status is not_found, this may still be populated as the closest candidate match, not a confirmed one — always branch on verification_status, never on whether citation is present.
    CitationFields:
      type: object
      required:
      - title
      description: 'Already-structured bib-style fields for one citation -- skips LLM extraction entirely. A few common BibTeX spellings are accepted as aliases: `authors` for `author`, `container_title` for `journal`, `number` for `issue`, `pages` for `page`, `bibtex_entry_type` for `type`. Every value is capped at 500 characters; unrecognized field names are rejected with a 400.'
      properties:
        title:
          type: string
          maxLength: 500
        author:
          type: string
          maxLength: 500
        authors:
          type: string
          maxLength: 500
          description: Alias for author.
        year:
          type:
          - string
          - integer
        doi:
          type: string
          maxLength: 500
        DOI:
          type: string
          maxLength: 500
          description: Alias for doi.
        url:
          type: string
          maxLength: 500
        journal:
          type: string
          maxLength: 500
        container_title:
          type: string
          maxLength: 500
          description: Alias for journal.
        volume:
          type: string
          maxLength: 500
        issue:
          type: string
          maxLength: 500
        number:
          type: string
          maxLength: 500
          description: Alias for issue.
        page:
          type: string
          maxLength: 500
        pages:
          type: string
          maxLength: 500
          description: Alias for page.
        publisher:
          type: string
          maxLength: 500
        type:
          type: string
          maxLength: 500
          description: BibTeX entry type, e.g. article, book.
        bibtex_entry_type:
          type: string
          maxLength: 500
          description: Alias for type.
        abstract:
          type: string
          maxLength: 500
      additionalProperties: false
    VerifyCitationFieldsRequest:
      type: object
      required:
      - citation
      properties:
        citation:
          $ref: '#/components/schemas/CitationFields'
      additionalProperties: false
    Citation:
      type: object
      properties:
        title:
          type:
          - string
          - 'null'
        author:
          type:
          - string
          - 'null'
        doi:
          type:
          - string
          - 'null'
        url:
          type:
          - string
          - 'null'
          format: uri
        year:
          type:
          - string
          - 'null'
        bibtex_entry_type:
          type:
          - string
          - 'null'
        volume:
          type:
          - string
          - 'null'
        issue:
          type:
          - string
          - 'null'
        page:
          type:
          - string
          - 'null'
        publisher:
          type:
          - string
          - 'null'
        container_title:
          type:
          - string
          - 'null'
        abstract:
          type:
          - string
          - 'null'
    Error:
      type: object
      properties:
        error:
          type: string
        retry_after_seconds:
          type: integer
          description: Present only on a rate-limit (429) rejection.
        credits_reset_at:
          type:
          - string
          - 'null'
          format: date-time
          description: 'Present only on a credit-limit (429) rejection: ISO-8601 UTC timestamp of when the credit pool refills.'
    VerifySingleRequest:
      type: object
      required:
      - text
      properties:
        text:
          type: string
          maxLength: 2000
          description: A single raw academic citation string, or a bare URL.
      additionalProperties: false
    VerifyCitationsBatchRequest:
      type: object
      required:
      - citations
      properties:
        citations:
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/CitationFields'
          description: A batch of up to 10 structured citations, verified in parallel.
      additionalProperties: false
    VerifyBatchResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/VerifyResult'
    VerifyBatchRequest:
      type: object
      required:
      - texts
      properties:
        texts:
          type: array
          minItems: 1
          maxItems: 10
          items:
            type: string
            maxLength: 2000
          description: A batch of up to 10 citation strings, verified in parallel.
      additionalProperties: false
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key from any plan, including Free. Manage keys at https://accuracite.com/api-docs.
externalDocs:
  description: Full API documentation with curl and Python examples
  url: https://accuracite.com/api-docs