pVerify Patient Cost Estimator API

Estimate patient financial responsibility for a planned service from the payer benefit data, for point-of-service collection.

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/pverify-estimation-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 email required.

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

OpenAPI Specification

pverify-estimation-api-openapi.yml Raw ↑
# Derived from pVerify's published Postman collection: https://postman.pverify.com/
# method: derived  generated: 2026-08-14
openapi: 3.0.3
info:
  title: pVerify Patient Cost Estimator API
  description: pVerify Patient Cost Estimator API, derived operation-for-operation from the public Postman
    collection pVerify publishes at https://postman.pverify.com/ (last updated 03/01/2026). All calls
    require an OAuth2 bearer token from POST /Token plus the Client-API-Id header.
  version: '1.0'
  termsOfService: https://pverify.com/privacy-policy/
  contact:
    name: pVerify Support
    email: support@pverify.com
    url: https://pverify.com/contact-support/
servers:
- url: https://api.pverify.com
  description: Production
- url: https://testapi.pverify.com
  description: Test environment published by pVerify
tags:
- name: Estimation
paths:
  /api/EstimateCalculation:
    post:
      operationId: estimateCalculation
      tags:
      - Estimation
      summary: EstimateCalculation
      description: "Environment | \nURL | \n\nProduction | \nhttps://api.pverify.com/api/EstimateCalculation\
        \ | \n\nThis POST call will get an estimated price from CMS (Medicare) non-facility price index.\
        \ In order for you to use this, we must add the estimator service (which is free) to your account.\
        \ Additionally, for the Zip code, use 0 for national pricing, and you can send an array of CPT\
        \ codes per the Postman example. Please note, due to the nature of the EstimateCalculation call,\
        \ no test credentials are available.\n\nEstimateCalculation Request\n\nKey | \nValue | \n\nURL\
        \ | \nhttps://api.pverify.com/api/EstimateCalculation | \n\nMethod | \nPOST | \n\nHeaders | \n\
        Description | \n\nClient-API-Id* | \nYour pVerify client-api-id | \n\nContent-Type | \napplication/json\
        \ | \n\nBody | \nDescription | \n\nData Parameters | \nSee fields to the right | \n\n*Note: The\
        \ Client-API-Id is required in header. Header keys are case sensitive.\n\nEstimateCalculation\
        \ Request Fields\n\nField | \nType | \nDescription | \n\nzipCode | \nString | \nZip code of your\
        \ location. Use 0 for national pricing. | \n\ncptCodes | \nString | \nArray of CPT codes needed\
        \ for estimate. If there is a modifier include it as a dash. For example, 93024-TC would be the\
        \ cardiac drug stress test technical component. | \n\ncoPay | \nString | \nDollar amount of patient\
        \ copay. | \n\ncoinsPercentage | \nString | \nIn percent, coinsurance | \n\ndeductibleRemaining\
        \ | \nString | \nDollar amount of deductible remaining | \n\noutofPocketRemaining | \nString |\
        \ \nOut of pocket remaining- if this is blank we will not include this in the calculation. | \n\
        \nisCopayIncludeInDeductible | \nBoolean | \nAdd copay to coinsurance or not. | \n\nisSecondaryStatusActive\
        \ | \nBoolean | \nIf patient has secondary insurance- if this is true then patient responsibility\
        \ is zero. | \n\nNonMedicareMultipleFactor | \nDecimal | \nNonMedicare Multiple factor to CPT\
        \ values calculation | \n\nInternalId | \nString | \nInternal Id for patient | \n\nEstimateCalculation\
        \ Response\n\nField | \nDescription | \n\npatientResponsibility | \nThe amount the patient owes.\
        \ | \n\ncopay | \nPatient copay. | \n\ncoInsPercentage | \nCoinsurance percentage. | \n\ncoInsAmount\
        \ | \nCoinsurance Amount. | \n\nestimatedAllowable | \nTHe sum of the charges (note: not all charges\
        \ are approved by CMS) | \n\ndeductibleRemainging | \nAmount of deductible remaining.+ | \n\n\
        outOfPocketRemaining | \nAmount remaining for out of pocket.++ | \n\namountPayable | \nAmount\
        \ Payable | \n\nselected CPTs | \nSelected CPT codes | \n\nzipCode | \nZip code returned | \n\n\
        apiResponseCode | \nAPI response code | \n\napiResponseMessage | \nAPI response message | \n\n\
        InternalId | \nInternal Id for patient | \n\n+The deductible must be met before insurance applies.\
        \ For example, if the deductible remaining is 1000, then the patient will have to pay out of pocket\
        \ $1000 for next procedure as long as the procedure amount > $1000.++This is typically a high\
        \ number. Once it reaches zero, the patient responsibility is zero. It is designed for catastrophic\
        \ coverage ie: major surgery or chemotherapy."
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                zipCode:
                  type: string
                  example: '27713'
                cptCodes:
                  type: array
                  items:
                    type: string
                    example: '10061'
                coPay:
                  type: string
                  example: '20'
                coinsPercentage:
                  type: string
                  example: '30'
                deductibleRemaining:
                  type: string
                  example: '40'
                outofPocketRemaining:
                  type: string
                isCopayIncludeInDeductible:
                  type: boolean
                  example: false
                isSecondryStatusActive:
                  type: boolean
                  example: false
                NonMedicareMultipleFactor:
                  type: number
                  example: 1.2
                InternalId:
                  nullable: true
            example:
              zipCode: '27713'
              cptCodes:
              - '10061'
              - 0191T
              - '33300'
              coPay: '20'
              coinsPercentage: '30'
              deductibleRemaining: '40'
              outofPocketRemaining: ''
              isCopayIncludeInDeductible: false
              isSecondryStatusActive: false
              NonMedicareMultipleFactor: 1.2
              InternalId: null
      responses:
        '200':
          description: OK
      security:
      - bearerAuth: []
        clientApiId: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'OAuth2 access token returned by POST /Token, sent as `Authorization: Bearer <token>`.'
    clientApiId:
      type: apiKey
      in: header
      name: Client-API-Id
      description: Client API identifier issued by pVerify. Required on every call; header keys are case
        sensitive.
    clientSecret:
      type: apiKey
      in: header
      name: Client-Secret
      description: Client secret issued by pVerify, used by the one-step (no-token) endpoints and the
        premium report endpoints.