Search Payers
Search for payers by name, ID, or alias.
/payers/search
This endpoint queries the Payer Network. It's especially useful when you want to embed dynamic payer search capabilities into your system or application.
- Call this endpoint with your desired search criteria. You can search by the payer's name, payer ID, or payer ID aliases. You can also filter the results by supported transaction types.
- The endpoint returns information about matching payers, including their possible names, their primary payer ID, payer ID aliases, and supported transaction types.
The search supports fuzzy matching, which means that the results contain an array of exact (if available) and close matches.
Results
When you specify multiple transaction filters, they are combined with AND logic, meaning payers must satisfy all specified transaction criteria to be included in results.
Stedi weights results based on text match relevance and additional factors, such as payer size, market share, and transaction volume in order to present the most likely matches first. Stedi also accounts for potential misspellings (a search for CEGNA still returns CIGNA) and transposed letters (a search for ICGNA still returns CIGNA) when searching the payer database.
Examples
This page contains two examples of search results:
- Basic Search: The
SearchPayers_example1
response shows the results of a basic search for the query string "Blue Cross". The URL for this request ishttps://healthcare.us.stedi.com/2024-04-01/payers/search?query=Blue%20Cross
. - Complex Search: The
SearchPayers_example2
response shows the results of a more advanced search that includes a query string for "Blue Cross", plus additional query parameters that filter for payers supporting eligibility checks and real-time claim status. The URL for this request ishttps://healthcare.us.stedi.com/2024-04-01/payers/search?query=Blue%20Cross&eligibilityCheck=SUPPORTED&claimStatus=SUPPORTED
. In thestats
object, the summary counts of payers matching the search criteria are fewer than the summary counts for the basic search. This is because the advanced search only returns payers that support both eligibility checks and claim status, while the basic search returns all payers, regardless of the transaction types they support.
Both examples are truncated for brevity to show only one payer matching the results (Blue Cross Blue Shield of Michigan).
A Stedi API Key for authentication.
Query Parameters
The maximum number of elements to return in a page. If not specified, the default is 20.
- Range:
≥ 10 and ≤ 100
An opaque token returned by a previous call to this endpoint in the nextPageToken
property. You can use it to request the next page of results. If not specified, Stedi returns the first page of results.
- Required string length:
1 - 1024
The query Stedi will use to search the Payer Network database. You can supply a payer's name, ID, or alias. The query is case-insensitive, and fuzzy matching is supported. For example, cig
, 62308
, and SX071
all return Cigna in the results. If not provided, the other search options are used to conduct the search.
Transaction support filter values. When multiple transaction filters are specified, they are combined with AND logic (payers must satisfy all criteria).
SUPPORTED
NOT_SUPPORTED
ENROLLMENT_REQUIRED
EITHER
Transaction support filter values. When multiple transaction filters are specified, they are combined with AND logic (payers must satisfy all criteria).
SUPPORTED
NOT_SUPPORTED
ENROLLMENT_REQUIRED
EITHER
Transaction support filter values. When multiple transaction filters are specified, they are combined with AND logic (payers must satisfy all criteria).
SUPPORTED
NOT_SUPPORTED
ENROLLMENT_REQUIRED
EITHER
Transaction support filter values. When multiple transaction filters are specified, they are combined with AND logic (payers must satisfy all criteria).
SUPPORTED
NOT_SUPPORTED
ENROLLMENT_REQUIRED
EITHER
Transaction support filter values. When multiple transaction filters are specified, they are combined with AND logic (payers must satisfy all criteria).
SUPPORTED
NOT_SUPPORTED
ENROLLMENT_REQUIRED
EITHER
Transaction support filter values. When multiple transaction filters are specified, they are combined with AND logic (payers must satisfy all criteria).
SUPPORTED
NOT_SUPPORTED
ENROLLMENT_REQUIRED
EITHER
Transaction support filter values. When multiple transaction filters are specified, they are combined with AND logic (payers must satisfy all criteria).
SUPPORTED
NOT_SUPPORTED
ENROLLMENT_REQUIRED
EITHER
Transaction support filter values. When multiple transaction filters are specified, they are combined with AND logic (payers must satisfy all criteria).
SUPPORTED
NOT_SUPPORTED
ENROLLMENT_REQUIRED
EITHER
Filter for matching payers that support transactions for all of the specified coverage types. For example, setting this array to ["medical", "dental"]
returns only payers who provide both medical and dental coverage.
The results also exclude payers without coverage type classifications in Stedi's database.
medical
dental
Response
SearchPayers 200 response
Matching payers sorted by relevance. Each payer record includes a score starting at 0 that indicates how relevant it is to the search query. Higher scores indicate a more relevant match.
Token for pagination to retrieve the next page of results; null if there are no more results
- Required string length:
1 - 1024
Statistics about the search results, including the total number of payers matching the search query and the number of payers supported per transaction type.
curl --request GET \
--url "https://healthcare.us.stedi.com/2024-04-01/payers/search?query=Blue+Cross" \
--header "Authorization: <api_key>"
fetch("https://healthcare.us.stedi.com/2024-04-01/payers/search?query=Blue+Cross", {
headers: {
"Authorization": "<api_key>"
}
})
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://healthcare.us.stedi.com/2024-04-01/payers/search?query=Blue+Cross"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api_key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import requests
url = "https://healthcare.us.stedi.com/2024-04-01/payers/search?query=Blue+Cross"
response = requests.request("GET", url, headers = {
"Authorization": "<api_key>"
})
print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create("https://healthcare.us.stedi.com/2024-04-01/payers/search?query=Blue+Cross"))
.header("Authorization", "<api_key>")
.GET()
.build();
try {
HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Response body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}