curl --request GET \
--url https://api.tryfuse.ai/api/v1/business/research/providers \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.tryfuse.ai/api/v1/business/research/providers"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.tryfuse.ai/api/v1/business/research/providers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"providers": [
{
"id": "apollo",
"label": "Apollo",
"category": "contact-email-and-phone-enrichment",
"description": "People & company search with contact info; people match/enrich.",
"iconUrl": "https://www.google.com/s2/favicons?sz=128&domain=apollo.io",
"docsUrl": "https://tryfuse.ai/providers/apollo",
"keyMode": "byok-required",
"hasUserKey": false,
"allowedInRuns": true,
"source": "none",
"enrichment": {
"channels": [
"work_email",
"personal_email",
"phone"
],
"inputs": {
"anyOf": [
[
"linkedin_url"
],
[
"first_name",
"last_name",
"company_name"
],
[
"first_name",
"last_name",
"domain"
]
]
},
"keyMode": "platform"
}
},
{
"id": "zerobounce",
"label": "ZeroBounce",
"category": "contact-verification",
"description": "Verify/validate email deliverability.",
"iconUrl": "https://www.google.com/s2/favicons?sz=128&domain=zerobounce.net",
"docsUrl": "https://tryfuse.ai/providers/zerobounce",
"keyMode": "platform",
"hasUserKey": false,
"allowedInRuns": true,
"source": "platform",
"enrichment": null
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}The research providers a run can use
The Deep Research provider catalog for the token owner: every provider’s id (slug), label, category, description, icon and docs link, its key mode (platform: it runs on Fuse’s key; byok-required: the user must save their own key), whether this user has saved one (hasUserKey), where the key that would be used comes from (source: platform, byok or none), whether research runs may call it (allowedInRuns) and, when the provider can back an enrichment waterfall, the channels it fills and the input-field combinations it accepts. Keys are never returned. The catalog informs BYOK settings and smart-column provider choice; a run itself has no provider selector. Rate limit: 30 requests per minute, 1000 per day.
Errors:
429RATE_LIMITED— Per-user quota for this endpoint family exceeded (30 per minute, 1000 per day); retry after the Retry-After / RateLimit-Reset seconds.
Requires one of the following token scopes: research.
curl --request GET \
--url https://api.tryfuse.ai/api/v1/business/research/providers \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.tryfuse.ai/api/v1/business/research/providers"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.tryfuse.ai/api/v1/business/research/providers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"providers": [
{
"id": "apollo",
"label": "Apollo",
"category": "contact-email-and-phone-enrichment",
"description": "People & company search with contact info; people match/enrich.",
"iconUrl": "https://www.google.com/s2/favicons?sz=128&domain=apollo.io",
"docsUrl": "https://tryfuse.ai/providers/apollo",
"keyMode": "byok-required",
"hasUserKey": false,
"allowedInRuns": true,
"source": "none",
"enrichment": {
"channels": [
"work_email",
"personal_email",
"phone"
],
"inputs": {
"anyOf": [
[
"linkedin_url"
],
[
"first_name",
"last_name",
"company_name"
],
[
"first_name",
"last_name",
"domain"
]
]
},
"keyMode": "platform"
}
},
{
"id": "zerobounce",
"label": "ZeroBounce",
"category": "contact-verification",
"description": "Verify/validate email deliverability.",
"iconUrl": "https://www.google.com/s2/favicons?sz=128&domain=zerobounce.net",
"docsUrl": "https://tryfuse.ai/providers/zerobounce",
"keyMode": "platform",
"hasUserKey": false,
"allowedInRuns": true,
"source": "platform",
"enrichment": null
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}