NinjaPear Übersicht
NinjaPear ist eine B2B-Unternehmens-Intelligence-Plattform mit Fokus auf Dateneigentümerschaft und ethischer Datenbeschaffung. Als Erstanbieter pflegen wir ein nachhaltiges Ökosystem aus proprietären und rechtlich geprüften Daten. Unsere Mission ist es, eine zuverlässige Dateninfrastruktur bereitzustellen, die Unternehmen befähigt, wertschöpfende Anwendungen und Workflows sicher zu entwickeln und zu skalieren.
Für KI-Agenten
Entwickeln Sie mit einem KI-Coding-Agenten? Verwenden Sie die einfache Markdown-Version dieser Dokumentation – optimiert für LLMs und KI-Tools wie Claude, Cursor und ChatGPT:
- LLM-freundliche Dokumentation (Markdown) — vollständige API-Referenz als Klartext, bereit zum Einfügen oder per Drag-and-Drop in jeden AI-Chat
- llms.txt — leichtgewichtiger Index für die Entdeckung durch AI-Agenten
- OpenAPI 3.0 Spec — maschinenlesbares API-Schema
AI Skill
Der NinjaPear AI Skill vermittelt Coding-Agents das prozedurale Wissen, um korrekten NinjaPear-Integrationscode in Ihren Anwendungen zu schreiben. Installieren Sie ihn mit einem einzigen Befehl, und Ihr Agent weiß, wie er sich authentifiziert, den richtigen Endpunkt auswählt, SDK-Code generiert und Randfälle behandelt – alles mit integriertem Kostenbewusstsein.
Voraussetzungen — Ein NinjaPear API-Schlüssel von nubela.co/dashboard und Node.js 18+.
Installieren Sie den Skill mit dem npx skills CLI. Wählen Sie den Befehl für Ihren Agenten:
Claude Code
npx skills add NinjaPear/ninjapear-skill -a claude-code
Codex
npx skills add NinjaPear/ninjapear-skill -a codex
Opencode
npx skills add NinjaPear/ninjapear-skill -a opencode
Was die Skill bietet
Nach der Installation vermittelt der Skill Ihrem Coding-Agenten das nötige Verfahrenswissen, um korrekt mit NinjaPear zu arbeiten:
| Leistung | Beschreibung |
|---|---|
| Authentifizierungs-Setup | Konfigurieren Sie API-Schlüssel über Umgebungsvariablen und SDK-Initialisierung |
| Endpunktauswahl | Wählen Sie kostenbewusst den richtigen NinjaPear-API-Endpunkt |
| Python SDK-Integration | Generieren Sie den richtigen Code mit dem ninjapear Python-Paket |
| JavaScript SDK-Integration | Generieren Sie den richtigen Code mit dem ninjapear npm-Paket |
| Handhabung der Paginierung | Implementieren Sie die Cursor-basierte Paginierung für Listenendpunkte |
| Umgang mit Ratenlimits | Beachten Sie die Ratengrenzen mit der richtigen Wiederholungs- und Backoff-Logik |
| Fehlerbehandlung | Behandeln Sie alle NinjaPear-Fehlercodes (401, 403, 404, 429, 500, 503) |
| Timeout-Konfiguration | Legen Sie geeignete Zeitüberschreitungen für Endpunkte mit langer Laufzeit fest |
Erkläre es mir wie einem Kind
- Eine Liste von Kunden, Investoren und Partnern eines beliebigen Unternehmens abrufen mit dem Kunden-Listing-Endpunkt.
- Wettbewerber eines Unternehmens und deren Wettbewerbsgründe ermitteln mit dem Wettbewerber-Listen-Endpunkt.
- Den Produkt- und Dienstleistungskatalog eines Unternehmens abrufen mit dem Produkt-Listing-Endpunkt.
- Das Logo eines beliebigen Unternehmens kostenlos abrufen mit dem Unternehmenslogo-Endpunkt.
- Vollständige Unternehmensdetails wie Branche, Beschreibung, Führungskräfte und Standorte abrufen mit dem Unternehmensdetails-Endpunkt.
- Die Mitarbeiterzahl eines beliebigen Unternehmens abrufen mit dem Mitarbeiterzahl-Endpunkt.
- Aktuelle Blog-Beiträge und Social-Media-Updates eines beliebigen Unternehmens abrufen mit dem Unternehmens-Updates-Endpunkt.
- Die vollständige Finanzierungshistorie und Investoren eines beliebigen Unternehmens abrufen mit dem Unternehmensfinanzierungs-Endpunkt.
- Einen Unternehmensnamen in seine kanonische Website-URL mit der auflösen Website-Abfrage-Endpunkt.
- Die Geschäftliche E-Mail einer Person anhand von Name und Unternehmens-Domain ermitteln mit dem Geschäftliche E-Mail-Endpunkt.
- Rufen Sie das Profil, den Berufsverlauf und die Ausbildung einer Person anhand ihrer geschäftlichen E-Mail ab mit der Personen-Profil-Endpunkt.
- Personen mit ähnlichem Profil wie eine Zielperson finden — gleiche Rolle bei Wettbewerbern — mit dem Endpunkt für ähnliche Personen.
- Prüfen Sie, ob eine E-Mail-Adresse ein Wegwerf-Konto oder von einem kostenlosen E-Mail-Anbieter stammt, mit dem Wegwerf-E-Mail-Prüf-Endpunkt.
- Überwachen Sie Unternehmen auf neue Blog-Beiträge, Tweets und Website-Änderungen via RSS mit der Monitor-API.
- Prüfen Sie Ihr verbleibendes API-Guthaben mit dem Guthaben-Endpunkt anzeigen.
Authentifizierung
curl "https://nubela.co/api/v1/customer/listing" \
-H "Authorization: Bearer YOUR_API_KEY"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CustomerAPIApi(api_client)
response = api.get_customer_listing(website="https://example.com")
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
var bearerAuth = defaultClient.authentications["bearerAuth"];
bearerAuth.accessToken = "YOUR_API_KEY";
var api = new NinjaPear.CustomerAPIApi();
api.getCustomerListing("https://example.com").then(function (data) {
console.log(data);
});
Die API von NinjaPear verwendet Bearer-Token zur Authentifizierung von Nutzern. Jedem Nutzer wird ein zufällig generierter geheimer Schlüssel unter dem API-Bereich im Dashboard.
Das Bearer-Token wird im Authorization Header.
Client-Bibliotheken
Wir stellen offizielle Client-Bibliotheken für JavaScript und Python bereit, um die Integration mit der NinjaPear API zu erleichtern.
JavaScript (Node.js)
npm install ninjapear
# JavaScript library - see JavaScript tab
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
var bearerAuth = defaultClient.authentications["bearerAuth"];
bearerAuth.accessToken = "YOUR_API_KEY";
// Now you can use any API class
var companyApi = new NinjaPear.CompanyAPIApi();
var customerApi = new NinjaPear.CustomerAPIApi();
var productApi = new NinjaPear.ProductAPIApi();
var contactApi = new NinjaPear.ContactAPIApi();
var metaApi = new NinjaPear.MetaAPIApi();
Python
uv add ninjapear
# or: pip install ninjapear
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
# Use the client with a context manager
with ninjapear.ApiClient(configuration) as api_client:
company_api = ninjapear.CompanyAPIApi(api_client)
customer_api = ninjapear.CustomerAPIApi(api_client)
product_api = ninjapear.ProductAPIApi(api_client)
contact_api = ninjapear.ContactAPIApi(api_client)
meta_api = ninjapear.MetaAPIApi(api_client)
// Python library - see Python tab
Ratenlimit
Ratenlimits gelten pro Produktkonto und werden von allen API-Schlüsseln unter diesem Produkt gemeinsam genutzt.
Kostenpflichtige API-Endpunkte sind beschränkt auf 50 Anfragen pro Minute.
Für die Ratenbegrenzung zählen Monitor-Feed- und Zielverwaltungs-Endpunkte als kostenpflichtiger API-Datenverkehr, auch wenn die Guthaben-Kosten des Endpunkts 0.
In Zeiten hoher Auslastung kann unser System die Rate Limits für alle Konten verschärfen, um sicherzustellen, dass unsere Dienste für alle Nutzer erreichbar bleiben.
Wir geben HTTP zurück 429 wenn Sie einem Rate-Limit unterliegen. Sie können auch HTTP empfangen 429 wenn unsere seitige Kapazität begrenzt ist.
Sie sollten 429-Fehler behandeln und exponentielles Backoff anwenden.
Antworten bei erreichtem Ratenlimit enthalten:
| Header | Beschreibung |
|---|---|
Retry-After |
Sekunden bis zum nächsten Versuch |
X-RateLimit-Limit |
Maximale Anfragen im aktuellen Minutenintervall |
X-RateLimit-Remaining |
Verbleibende Anfragen in der aktuellen Minute |
X-RateLimit-Reset |
Unix-Zeitstempel, wann die aktuelle Minute zurückgesetzt wird |
Ratenlimit für kostenlose APIs
Um kostenlose APIs nachhaltig bereitzustellen, hängt das Rate-Limit für kostenlose APIs von Ihrem Abonnementplan ab:
- Kostenlos, Testphase oder Pay-as-you-go-Plan: 2 Anfragen/Min.
- $49/mo Plan: 20 Anfragen/min
- $299/mo Plan: 50 Anfragen/min
- $899/mo Plan: 100 Anfragen/min
- $1899/mo Plan: 300 Anfragen/min
Das kostenlose API-Ratenlimit gilt für Company Logo, Disposable Email Checker, View Credit Balance und RSS-Feed-Abruf.
Guthaben
Jede gültige Anfrage erfordert mindestens 0.1 Guthaben zur Verarbeitung, sofern es sich nicht um einen kostenlosen API-Endpunkt handelt.
Ein Guthaben wird genau dann verbraucht, wenn die Anfrage erfolgreich verarbeitet wird.
Eine erfolgreiche Anfrage ist eine Anfrage, die mit einem 200 HTTP-Statuscode.
Cache-Abrechnung
Für Endpunkte mit einem use_cache Parameter wird ein Produkt nicht erneut berechnet, wenn dieselbe normalisierte Anfrage aus derselben gecachten Datensatzversion bedient wird, für die das Produkt zuvor bezahlt hat. Die Antwort enthält X-NinjaPear-Credit-Cost: 0 für diese wiederholten Cache-Treffer.
use_cache=never führt immer einen neuen Abruf durch und berechnet normal. use_cache=if-recent kommt nur für eine kostenlose Wiederholung in Frage, solange der gecachte Datensatz innerhalb des Aktualitätsfensters dieses Endpunkts liegt.
Bei paginierten Endpunkten ist der kostenlose Wiederholungszugriff auf bereits bezahlte Seiten mit identischer Abfrage, gleichen Filtern, Cursor-Kette und page_size. Kostenpflichtige paginierte Seiten werden bei wiederholten Cache-Treffern exakt wiedergegeben, einschließlich der next_page Wert. Spätere Seiten, die noch nicht bezahlt wurden, werden normal berechnet.
Timeouts und API-Antwortzeit
NinjaPear API-Endpunkte akzeptieren 30-60 Sekunden zur Fertigstellung.
Es wird empfohlen, gleichzeitige Anfragen an unseren API-Dienst zu stellen, um den Durchsatz zu maximieren. Siehe diesen Beitrag dazu, wie Sie den Durchsatz maximieren können.
Wir empfehlen ein Timeout von 100 Sekunden.
Fehler
Dies sind die häufigen Fehler, die von unserer API zurückgegeben werden können:
| HTTP-Code | Berechnung? | Beschreibung |
|---|---|---|
| 400 | Nein | Ungültige Parameter angegeben. Weitere Informationen finden Sie in der Dokumentation und im Nachrichtentext. |
| 401 | Nein | Ungültiger API Key |
| 403 | Nein | Ihr Guthaben ist aufgebraucht |
| 404 | Ja | Die angeforderte Ressource (z. B. Nutzerprofil, Unternehmen) wurde nicht gefunden |
| 410 | Nein | Diese API ist veraltet |
| 429 | Nein | Ratenlimit erreicht. Bitte erneut versuchen |
| 500 | Nein | Es liegt ein Fehler mit unserer API vor. Bitte Kontaktieren Sie uns für Unterstützung |
| 503 | Nein | Anreicherung fehlgeschlagen, bitte erneut versuchen. |
Es wird Ihnen niemals ein Betrag berechnet für fehlgeschlagene Anfragen.
Garantie der Abwärtskompatibilität
Wir verpflichten uns sicherzustellen, dass unsere API abwärtskompatibel bleibt, damit Sie mit Vertrauen integrieren können. Unsere Abwärtskompatibilitätsgarantie bedeutet, dass wir keine Änderungen einführen, die bestehende Funktionalität beeinträchtigen, oder Endpunkte ohne Deprecation-Zeitraum entfernen.
Konkret werden wir keine Breaking Changes auf folgende Arten einführen:
- Wir werden dokumentierte Parameter und Antwortattribute nicht entfernen.
- Wir werden den Datentyp, wie in unseren API-Antworten dokumentiert, nicht ändern.
Die folgenden Änderungen gelten jedoch nicht als Breaking Changes:
- Hinzufügen von Attributen/Parametern zu API-Endpunkten ohne vorherige Ankündigung.
- Hinzufügen zusätzlicher Antwort- oder Anfrage-Header zu unseren API-Endpunkten ohne vorherige Ankündigung.
Wir empfehlen dringend, unsere API so zu integrieren, dass die Integration nicht beeinträchtigt wird, sollten neue Antwortattribute oder Header eingeführt werden.
Wenn wir Änderungen an unserer API vornehmen, stellen wir klare Dokumentation und ausreichende Vorankündigung (30 Tage) bereit, um einen reibungslosen Übergang zu gewährleisten. Benachrichtigungen werden per Newsletter-E-Mail, Twitter/X-Beiträgen und Blog-Aktualisierungen mitgeteilt.
Kunden-API
Kunden-Listing-Endpunkt
GET /api/v1/customer/listing
Kosten: 1 Guthaben / Anfrage + 2 Guthaben / zurückgegebenes Unternehmen. Guthaben wird auch dann berechnet, wenn die Anfrage ein leeres Ergebnis zurückgibt.
Eine Liste hochwahrscheinlicher Kunden, Investoren und Partner/Plattformen eines Zielunternehmens abrufen, kategorisiert nach Beziehungstyp.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "website=https://www.stripe.com" \
"https://nubela.co/api/v1/customer/listing"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CustomerAPIApi(api_client)
response = api.get_customer_listing(website="https://www.stripe.com")
print(response)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.CustomerAPIApi();
api.getCustomerListing("https://www.stripe.com").then(function (data) {
console.log(data);
});
Beispielantwort:
{
"customers": [
{
"name": "Apple",
"description": "Apple Inc. designs, manufactures, and markets smartphones, personal computers, tablets, wearables, and accessories worldwide.",
"tagline": "Think different.",
"website": "https://www.apple.com",
"company_logo_url": "https://nubela.co/api/v1/company/logo?website=https%3A%2F%2Fwww.apple.com",
"id": "abc123",
"industry": 45202030,
"specialties": ["Technology", "Consumer Electronics"],
"x_profile": "https://x.com/Apple"
}
],
"investors": [
{
"name": "Sequoia Capital",
"description": "Sequoia Capital is a venture capital firm focused on technology companies.",
"tagline": null,
"website": "https://www.sequoiacap.com",
"company_logo_url": "https://nubela.co/api/v1/company/logo?website=https%3A%2F%2Fwww.sequoiacap.com",
"id": "def456",
"industry": 40203010,
"specialties": ["Venture Capital", "Growth Equity"],
"x_profile": "https://x.com/sequoia"
}
],
"partner_platforms": [
{
"name": "Amazon Web Services",
"description": "Amazon Web Services provides cloud computing platforms and APIs.",
"tagline": null,
"website": "https://aws.amazon.com",
"company_logo_url": "https://nubela.co/api/v1/company/logo?website=https%3A%2F%2Faws.amazon.com",
"id": "ghi789",
"industry": 45101010,
"specialties": ["Cloud Computing", "Infrastructure"],
"x_profile": "https://x.com/awscloud"
}
],
"next_page": "https://nubela.co/api/v1/customer/listing?website=https://www.stripe.com&cursor=abc123"
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
Website |
Ja | Die Website-URL oder der Unternehmensname des Zielunternehmens. Eine Website-URL (z. B. https://www.stripe.com) wird für Präzision dringend empfohlen. |
https://www.stripe.com |
cursor |
Nein | Paginierungs-Cursor aus next_page in einer früheren Antwort |
abc123 |
page_size |
Nein | Anzahl der Ergebnisse pro Seite (1-200, Standard 200) | 50 |
quality_filter |
Nein | Ergebnisse geringer Qualität herausfiltern (unerwünschte TLDs wie .top, .xyz und nicht erreichbare Websites). Setzen Sie auf false um alle Ergebnisse einzuschließen. (Standard: true) |
false |
use_cache |
Nein | Steuert die Cache-Nutzung. Nicht zwischen Groß-/Kleinschreibung unterscheidend. Werte: if-recent (gecachte Daten verwenden, wenn der letzte Abruf weniger als 29 Tage zurückliegt, andernfalls live anreichern), if-present (Standard; Cache zuerst zurückgeben, live anreichern falls nicht vorhanden), if-present-only (nur Cache zurückgeben; 404 zurückgeben falls nicht vorhanden), never (immer live anreichern). Ungültige Werte fallen auf den Endpunkt-Standard zurück. |
if-present |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
customers |
Eine Liste von Unternehmen, die wahrscheinliche Kunden des Zielunternehmens sind. Entitäten, die für das Produkt/die Dienstleistung des Zielunternehmens zahlen. | Liste von CustomerCompany-Objekten |
investors |
Eine Liste von Unternehmen, die Investoren (VC-Firmen, PE-Fonds, Angel-Netzwerke) des Zielunternehmens sind. | Liste von CustomerCompany-Objekten |
partner_platforms |
Eine Liste von Unternehmen, die Partner, Plattformen oder Dienstleister sind, die das Zielunternehmen nutzt oder integriert (Tech-Stack, Medien, Agenturen). | Liste von CustomerCompany-Objekten |
next_page |
Der API-URI, der als Cursor für die Paginierung dient. Das Aufrufen dieser URL mit Ihrem API-Schlüssel führt zur nächsten Ergebnisseite. Für die letzte Seite ist dieser Wert null. | https://nubela.co/api/v1/customer/list?... |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Es konnten nicht genügend Informationen über das Zielunternehmen extrahiert werden |
| 404 | Nein | Keine gecachten Daten gefunden bei use_cache=if-present-only |
KundeUnternehmen
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
name |
Unternehmensname | "Apple" |
description |
Eine kurze Beschreibung des Unternehmens | "Apple Inc. designs, manufactures, and markets smartphones..." |
tagline |
Unternehmens-Tagline oder Slogan | "Think different." |
Website |
Unternehmens-Website-URL | "https://www.apple.com" |
company_logo_url |
URL zur Unternehmenslogo-API für dieses Unternehmen. Bereitgestellt von Unternehmenslogo-Endpunkt. Authentifizieren Sie sich mit Ihrem Bearer-Token. null wenn keine Website vorhanden. |
"https://nubela.co/api/v1/company/logo?website=https%3A%2F%2Fwww.apple.com" |
id |
Eindeutiger Bezeichner | "abc123" |
industry |
GICS 8-stelliger Branchencode | 45202030 |
specialties |
Liste der Unternehmensspezialisierungen | ["Technology"] |
x_profile |
X (Twitter) Profil-URL | "https://x.com/Apple" |
Hinweis zu
company_logo_url: Diese URL wird bereitgestellt von der Unternehmenslogo-Endpunkt. Authentifizieren Sie sich mit Ihrem Bearer-Token (identisch mit dem Haupt-API). Diese Links sind zeitlich begrenzt — empfohlen wird, das Bild über die URL unmittelbar nach Erhalt der Antwort herunterzuladen und selbst zu hosten.
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 10 |
X-NinjaPear-Cache-Age-Days |
Alter der zurückgegebenen Daten in ganzen Tagen. 0 wenn aktuelle Daten aus der Live-Anreicherung zurückgegeben werden. |
12 |
Wettbewerber-API
Wettbewerber-Listen-Endpunkt
GET /api/v1/competitor/listing
Kosten: 2 Guthaben / zurückgegebener Wettbewerber. Minimum 5 Guthaben pro Anfrage, auch dann berechnet, wenn keine Ergebnisse gefunden werden.
Eine Liste von Wettbewerber-Unternehmen für ein Zielunternehmen abrufen, einschließlich des Wettbewerbsgrundes.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "website=https://www.stripe.com" \
"https://nubela.co/api/v1/competitor/listing"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CompetitorAPIApi(api_client)
response = api.get_competitor_listing(website="https://www.stripe.com")
print(response)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.CompetitorAPIApi();
api.getCompetitorListing("https://www.stripe.com").then(function (data) {
console.log(data);
});
Beispielantwort:
{
"competitors": [
{
"company_details_url": "https://nubela.co/api/v1/company/details?website=https://www.adyen.com",
"website": "https://www.adyen.com",
"competition_reason": "product_overlap"
},
{
"company_details_url": "https://nubela.co/api/v1/company/details?website=https://squareup.com",
"website": "https://squareup.com",
"competition_reason": "product_overlap"
},
{
"company_details_url": "https://nubela.co/api/v1/company/details?website=https://www.checkout.com",
"website": "https://www.checkout.com",
"competition_reason": "organic_keyword_overlap"
}
]
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
Website |
Ja | Die Website-URL oder der Unternehmensname des Zielunternehmens. Eine Website-URL (z. B. https://www.stripe.com) wird für Präzision dringend empfohlen. |
https://www.stripe.com |
use_cache |
Nein | Steuert die Cache-Nutzung. Nicht zwischen Groß-/Kleinschreibung unterscheidend. Werte: if-recent (gecachte Daten verwenden, wenn der letzte Abruf weniger als 29 Tage zurückliegt, andernfalls live anreichern), if-present (Standard; Cache zuerst zurückgeben, live anreichern falls nicht vorhanden), if-present-only (nur Cache zurückgeben; 404 zurückgeben falls nicht vorhanden), never (immer live anreichern). Ungültige Werte fallen auf den Endpunkt-Standard zurück. |
if-present |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
competitors |
Eine Liste von Wettbewerbern des Zielunternehmens. | Liste von WettbewerberUnternehmen Objekte |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Es konnten nicht genügend Informationen über das Zielunternehmen extrahiert werden |
| 404 | Nein | Keine gecachten Daten gefunden bei use_cache=if-present-only |
WettbewerberUnternehmen
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
company_details_url |
URL zum Unternehmensdetails-Endpunkt für diesen Wettbewerber. Authentifizieren Sie sich mit Ihrem Bearer-Token, um vollständige Unternehmensdetails abzurufen. | "https://nubela.co/api/v1/company/details?website=https://www.adyen.com" |
Website |
Unternehmens-Website-URL | "https://www.adyen.com" |
competition_reason |
Warum dieses Unternehmen als Wettbewerber gilt. Einer der Werte aus den Wettbewerbsgrund Enum. | "product_overlap" |
Wettbewerbsgrund-Enum
| Wert | Beschreibung |
|---|---|
organic_keyword_overlap |
Beide Unternehmen ranken für ähnliche organische Suchbegriffe |
product_overlap |
Beide Unternehmen bieten ähnliche Produkte oder Dienstleistungen an |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 4 |
X-NinjaPear-Cache-Age-Days |
Alter der zurückgegebenen Daten in ganzen Tagen. 0 wenn aktuelle Daten aus der Live-Anreicherung zurückgegeben werden. |
12 |
Produkt-API
Produkt-Listing-Endpunkt
GET /api/v1/product/listing
Kosten: 3 Guthaben / Anfrage. Guthaben wird auch dann berechnet, wenn für ein gültiges Unternehmen keine Produkte gefunden werden.
Eine Liste der Produkte und Dienstleistungen eines Zielunternehmens abrufen.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "website=https://matterport.com" \
"https://nubela.co/api/v1/product/listing"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.ProductAPIApi(api_client)
response = api.get_product_listing(website="https://matterport.com")
print(response)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.ProductAPIApi();
api.getProductListing("https://matterport.com").then(function (data) {
console.log(data);
});
Beispielantwort:
{
"products": [
{
"name": "Matterport Digital Twin Platform",
"tagline": "Capture, share, and collaborate in immersive 3D.",
"description": "Matterport's 3D digital twin platform allows users to create immersive 3D models of physical spaces, enabling virtual tours, detailed measurements, and remote collaboration. It helps optimize space planning, manage costs, and streamline project management across various industries.",
"categories": [
"3D Modeling",
"Digital Twins",
"Virtual Tours",
"Real Estate",
"Construction",
"Facilities Management"
],
"tags": [],
"structured_features": {
"3d_insights": true,
"centralized_management": true,
"workplace_planning": true,
"risk_mitigation": true,
"bim_cad_generation": true,
"qa_qc_monitoring": true,
"asset_documentation": true,
"space_planning": true,
"capital_project_execution": true,
"remote_oversight": true,
"dimensionally_accurate_data": true,
"secure_cloud_hosting": true
},
"freeform_features": [
"immersive exploration from the palm of your hand",
"cut the time and cost of workplace planning",
"accelerating your ability to execute",
"unmatched 3D visual clarity"
],
"pricing": {
"model": "unknown",
"starts_at_monthly_usd": null,
"tiers": []
},
"integrations": [
"Procore",
"Autodesk",
"AWS"
],
"platforms": [
"web"
],
"source_urls": [
"http://matterport.com/",
"https://go.matterport.com/corporate-occupiers.html",
"https://matterport.com/solutions/design-construction",
"http://matterport.com/solutions/corporate-real-estate",
"http://matterport.com/contact-sales"
]
}
]
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
Website |
Ja | Die Website-URL oder der Unternehmensname des Zielunternehmens. Eine Website-URL (z. B. https://matterport.com) wird für Präzision dringend empfohlen. |
https://matterport.com |
use_cache |
Nein | Steuert die Cache-Nutzung. Nicht zwischen Groß-/Kleinschreibung unterscheidend. Werte: if-recent (Standard; gecachte Daten verwenden, wenn der letzte Abruf weniger als 29 Tage zurückliegt, andernfalls live anreichern), if-present (Cache zuerst zurückgeben, live anreichern falls nicht vorhanden), if-present-only (nur Cache zurückgeben; 404 zurückgeben falls nicht vorhanden), never (immer live anreichern). Ungültige Werte fallen auf den Endpunkt-Standard zurück. |
if-recent |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
products |
Eine Liste der Produkte und Dienstleistungen des Zielunternehmens. Gibt eine leere Liste zurück, wenn das Unternehmen gültig ist, aber keine Produkte oder Dienstleistungen erkannt werden. | Liste von Produktobjekt Objekte |
Produktobjekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
name |
Vollständiger Produkt- oder Dienstleistungsname. Eigenständig benannte Produkte, SKUs, Plattformen oder separat bepreiste Angebote werden als separate Zeilen zurückgegeben. | "Matterport Digital Twin Platform" |
tagline |
Einzeiliger Produkt-Slogan, sofern verfügbar. | "Capture, share, and collaborate in immersive 3D." |
description |
Ein bis drei Sätze, die beschreiben, was das Produkt leistet. | "Matterport's 3D digital twin platform allows users to create immersive 3D models of physical spaces..." |
categories |
Produktkategorien, einschließlich Produktklasse, Branche oder Anwendungsfall-Gruppierungen, die von der Website unterstützt werden. | ["3D Modeling", "Digital Twins"] |
tags |
Kurze Produktattribute, Bereitstellungsstile, Technologie-Labels oder andere durchsuchbare Tags. | ["ai-powered", "self-hosted"] |
structured_features |
Feature-Map mit kanonischen Feature-Schlüsseln und booleschen, String- oder numerischen Werten. Schlüssel variieren je nach Produktkategorie. | { "secure_cloud_hosting": true } |
freeform_features |
Feature-Beschreibungen, die keinem kanonischen Schlüssel entsprechen. | ["unmatched 3D visual clarity"] |
pricing |
Preismodell, Einstiegspreis und Stufen, sofern Preisinformationen verfügbar sind. null wenn die Preise nicht ermittelt werden können. |
Preisobjekt |
integrations |
Produkt-, Plattform- oder Dienstleistnamen, mit denen dieses Produkt integriert ist. | ["Procore", "Autodesk", "AWS"] |
platforms |
Plattformen, auf denen das Produkt verfügbar ist, z. B. web, ios, android, macos, windows, linux, api, cli, oder chrome-extension. |
["web"] |
source_urls |
URLs von der Website des Zielunternehmens, auf denen die Produktdaten gefunden wurden. | ["https://matterport.com/solutions/design-construction"] |
Preisobjekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
model |
Preismodell. Einer der Werte aus dem Preismodell-Enum. | "subscription" |
starts_at_monthly_usd |
Niedrigster monatlicher USD-Preis, der auf der Website des Unternehmens gefunden wurde. null wenn unbekannt oder nicht verfügbar. |
29.0 |
tiers |
Auf der Website des Unternehmens gefundene Preisstufen. | Liste von PricingTier-Objekt Objekte |
PricingTier-Objekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
name |
Name der Preisstufe. | "Business" |
price_usd_monthly |
Monatlicher USD-Preis für diese Stufe. null wenn unbekannt. |
99.0 |
features |
Für diese Preisstufe aufgeführte Features. | ["SSO", "Audit logs"] |
Preismodell-Enum
| Wert | Beschreibung |
|---|---|
freemium |
Kostenloser Plan mit kostenpflichtigen Upgrades |
subscription |
Wiederkehrendes kostenpflichtiges Abonnement |
one-time |
Einmalkauf |
payg |
Nutzungsbasierte Abrechnung |
enterprise |
Individuelle Enterprise-Preise |
unknown |
Preise vorhanden oder möglicherweise vorhanden, aber Modell unklar |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 3 |
X-NinjaPear-Cache-Age-Days |
Alter der zurückgegebenen Daten in ganzen Tagen. 0 wenn aktuelle Daten aus der Live-Anreicherung zurückgegeben werden. |
12 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Website ist nicht erreichbar oder die Eingabe ist ungültig |
| 404 | Nein | Keine gecachten Daten gefunden bei use_cache=if-present-only |
| 503 | Nein | Die Crawling-Kapazität ist vorübergehend ausgelastet. Bitte nach kurzer Wartezeit erneut versuchen. |
Unternehmens-API
Unternehmenslogo-Endpunkt
GET /api/v1/company/logo
Kosten: 0 Guthaben / erfolgreiche Anfrage. (KOSTENLOS)
Ruft das Logo eines Unternehmens anhand seiner Website-URL ab. Gibt das Logo als PNG-Bild (128x128) zurück.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "website=https://www.stripe.com" \
"https://nubela.co/api/v1/company/logo" \
--output logo.png
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CompanyAPIApi(api_client)
logo_data = api.get_company_logo(website="https://www.stripe.com")
# Save the logo image
with open("logo.png", "wb") as f:
f.write(logo_data)
var NinjaPear = require("ninjapear");
var fs = require("fs");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.CompanyAPIApi();
api.getCompanyLogo("https://www.stripe.com").then(function (data) {
// Save the logo image
fs.writeFileSync("logo.png", Buffer.from(data));
});
Beispielantwort:
Ein rohes PNG-Bild-Binary (Content-Type: image/png).
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
Website |
Ja | Die Website-URL des Zielunternehmens | https://www.stripe.com |
Antwort
A 200 Antwort gibt das Logo als rohes PNG-Bild zurück mit Content-Type: image/png.
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 404 | Nein | Kein Logo für die angegebene Domain gefunden |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 0 |
Unternehmensdetails-Endpunkt
GET /api/v1/company/details
Kosten: 3 Guthaben / Anfrage (Basis). Hinzufügen 2 Guthaben, wenn include_employee_count=true. Hinzufügen 1 Guthaben wenn follower_count=include. Hinzufügen 2 Guthaben, wenn addresses=best-effort-exhaustive. Maximale Gesamtzahl: 8 Guthaben. Guthaben wird auch dann berechnet, wenn keine Daten gefunden werden.
Die Details eines Unternehmens anhand seiner Website-URL abrufen. Gibt Unternehmens-Metadaten zurück, einschließlich Beschreibung, Branche, Social-Media-URLs, das aktuelle Führungsteam und mehr.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "website=https://www.stripe.com" \
"https://nubela.co/api/v1/company/details"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CompanyAPIApi(api_client)
details = api.get_company_details(website="https://www.stripe.com")
print(details)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.CompanyAPIApi();
api.getCompanyDetails("https://www.stripe.com").then(function (data) {
console.log(data);
});
Beispielantwort (privates Unternehmen):
{
"websites": ["https://stripe.com", "https://stripe.dev"],
"description": "Stripe is a technology company that builds economic infrastructure for the internet.",
"industry": 45102010,
"company_type": "PRIVATELY_HELD",
"founded_year": 2010,
"specialties": ["Payments", "Financial Services", "APIs"],
"name": "Stripe",
"tagline": "Financial infrastructure for the internet",
"logo_url": "https://nubela.co/api/v1/company/logo?website=https://stripe.com",
"cover_pic_url": "https://example.com/stripe-cover.png",
"facebook_url": "https://facebook.com/stripe",
"twitter_url": "https://twitter.com/stripe",
"instagram_url": null,
"employee_count": 8000,
"addresses": [
{
"address_type": "HEADQUARTERS",
"line1": "354 Oyster Point Blvd",
"line2": null,
"city": "South San Francisco",
"state": "CA",
"postal_code": "94080",
"country_code": "US",
"country": "United States",
"is_primary": true
}
],
"executives": [
{
"name": "Patrick Collison",
"title": "Chief Executive Officer",
"role": "CEO",
"person_profile_url": "https://nubela.co/api/v2/employee/profile?employer_website=https%3A%2F%2Fstripe.com&first_name=Patrick&last_name=Collison"
}
],
"similar_companies": "https://nubela.co/api/v1/competitor/listing?website=https%3A%2F%2Fstripe.com",
"updates": "https://nubela.co/api/v1/company/updates?website=https%3A%2F%2Fstripe.com",
"funding": "https://nubela.co/api/v1/company/funding?website=https%3A%2F%2Fstripe.com",
"public_listing": null,
"follower_count": 272190,
"following_count": 555
}
Beispielantwort (börsennotiertes Unternehmen):
{
"websites": ["https://apple.com"],
"description": "Apple Inc. designs, manufactures, and markets smartphones, personal computers, tablets, wearables, and accessories worldwide.",
"industry": 45202030,
"company_type": "PUBLIC_COMPANY",
"founded_year": 1976,
"specialties": ["Consumer Electronics", "Software", "Services"],
"name": "Apple",
"tagline": "Think different",
"logo_url": "https://nubela.co/api/v1/company/logo?website=https://apple.com",
"cover_pic_url": "https://example.com/apple-cover.png",
"facebook_url": "https://facebook.com/apple",
"twitter_url": "https://twitter.com/apple",
"instagram_url": "https://instagram.com/apple",
"employee_count": 164000,
"addresses": [
{
"address_type": "HEADQUARTERS",
"line1": "One Apple Park Way",
"line2": null,
"city": "Cupertino",
"state": "CA",
"postal_code": "95014",
"country_code": "US",
"country": "United States",
"is_primary": true
}
],
"executives": [
{
"name": "Tim Cook",
"title": "Chief Executive Officer",
"role": "CEO",
"person_profile_url": "https://nubela.co/api/v2/employee/profile?employer_website=https%3A%2F%2Fapple.com&first_name=Tim&last_name=Cook"
}
],
"similar_companies": "https://nubela.co/api/v1/competitor/listing?website=https%3A%2F%2Fapple.com",
"updates": "https://nubela.co/api/v1/company/updates?website=https%3A%2F%2Fapple.com",
"funding": "https://nubela.co/api/v1/company/funding?website=https%3A%2F%2Fapple.com",
"follower_count": 9500000,
"following_count": 1,
"public_listing": {
"stock_symbol": "AAPL",
"ipo_date": "1980-12-12",
"isin": "US0378331005",
"figi": "BBG000B9XRY4",
"cusip": "037833100",
"lei": "HWUPKR0MPOU8FGXBT394",
"cik": "0000320193",
"sic_code": "3571",
"revenue_usd": 383285000000,
"revenue_captured_at": "2024-09-28",
"ebitda_usd": 134000000000,
"ebitda_captured_at": "2024-09-28"
}
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
Website |
Ja | Die Website-URL oder der Unternehmensname des Zielunternehmens. Eine Website-URL (z. B. https://www.stripe.com) wird für Präzision dringend empfohlen. |
https://www.stripe.com |
include_employee_count |
Nein | Aktuelle Mitarbeiterzahlen per Websuche abrufen. Fügt hinzu 2 Guthaben zu den Anfragekosten. Gültige Werte: true, false (Standard). |
true |
follower_count |
Nein | Twitter/X-Follower- und Folgend-Anzahl einbeziehen. Fügt hinzu 1 Guthaben zu den Anfragekosten. Gültige Werte: include. Weglassen oder einen anderen Wert übergeben, um auszuschließen. |
include |
addresses |
Nein | Adressdetail-Modus. Standardmäßig hq-only. Verwenden Sie best-effort-exhaustive zum Abrufen und Speichern von physischen Büroadressen weltweit (Best-Effort). Fügt hinzu 2 Guthaben zu den Anfragekosten. |
best-effort-exhaustive |
use_cache |
Nein | Steuert die Cache-Nutzung. Nicht zwischen Groß-/Kleinschreibung unterscheidend. Werte: if-recent (Standard; gecachte Daten verwenden, wenn der letzte Abruf weniger als 29 Tage zurückliegt, andernfalls live anreichern), if-present (Cache zuerst zurückgeben, live anreichern falls nicht vorhanden), if-present-only (nur Cache zurückgeben; 404 zurückgeben falls nicht vorhanden), never (immer live anreichern). Ungültige Werte fallen auf den Endpunkt-Standard zurück. |
if-recent |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
websites |
Liste aller Website-URLs des Unternehmens | ["https://stripe.com", "https://stripe.dev"] |
description |
Eine kurze Beschreibung des Unternehmens | "Stripe is a technology company..." |
industry |
GICS 8-stelliger Branchencode | 45102010 |
company_type |
Art des Unternehmens (PUBLIC_COMPANY, PRIVATELY_HELD, GOVERNMENT_AGENCY, NON_PROFIT, EDUCATIONAL, PARTNERSHIP, SELF_EMPLOYED, SELF_OWNED) | "PRIVATELY_HELD" |
founded_year |
Gründungsjahr des Unternehmens | 2010 |
specialties |
Liste der Unternehmensspezialisierungen | ["Payments", "Financial Services"] |
name |
Unternehmensname | "Stripe" |
tagline |
Unternehmens-Tagline oder Slogan | "Financial infrastructure for the internet" |
logo_url |
URL zum Unternehmenslogo-Endpunkt. Authentifizieren Sie sich mit Ihrem API-Key Bearer-Token. | "https://nubela.co/api/v1/company/logo?website=https://stripe.com" |
cover_pic_url |
URL zum Cover-/Bannerbild des Unternehmens | "https://example.com/cover.png" |
facebook_url |
Facebook-Profil-URL | "https://facebook.com/stripe" |
twitter_url |
Twitter/X-Profil-URL | "https://twitter.com/stripe" |
instagram_url |
Instagram-Profil-URL | null |
employee_count |
Geschätzte Anzahl der Mitarbeiter | 8000 |
employee_count_range_min |
Untergrenze des Mitarbeiterzahl-Bereichs. Nur vorhanden, wenn include_employee_count=true. |
7500 |
employee_count_range_max |
Obere Grenze des Mitarbeiterzahlbereichs. Nur vorhanden, wenn include_employee_count=true. |
8500 |
follower_count |
Anzahl der Twitter/X-Follower. Nur vorhanden, wenn follower_count=include. |
272190 |
following_count |
Anzahl der gefolgten Twitter/X-Konten. Nur vorhanden, wenn follower_count=include. |
555 |
addresses |
Liste der Unternehmensadressen. Standardmäßig nur Hauptsitz, sofern nicht addresses=best-effort-exhaustive wird angefordert. |
[Adress-Objekt] |
executives |
Liste der Unternehmensführung und Vorstandsmitglieder | [Executive-Objekt] |
similar_companies |
URL zum Wettbewerber-Listen-Endpunkt. Authentifizieren Sie sich mit Ihrem Bearer-Token, um Wettbewerber abzurufen. | "https://nubela.co/api/v1/competitor/listing?website=https%3A%2F%2Fstripe.com" |
updates |
URL zum Unternehmens-Updates-Endpunkt. Authentifizieren Sie sich mit Ihrem Bearer-Token, um Aktualisierungen abzurufen. | "https://nubela.co/api/v1/company/updates?website=https%3A%2F%2Fstripe.com" |
funding |
URL zum Unternehmensfinanzierungs-Endpunkt. Authentifizieren Sie sich mit Ihrem Bearer-Token, um die Finanzierungshistorie abzurufen. | "https://nubela.co/api/v1/company/funding?website=https%3A%2F%2Fstripe.com" |
public_listing |
Daten börsennotierter Unternehmen, einschließlich Kursinformationen und Finanzkennzahlen. null für private Unternehmen. |
PublicListing-Objekt |
Adress-Objekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
address_type |
Art der Adresse (HEADQUARTERS, REGISTERED, BRANCH, MAILING, OTHER) | "HEADQUARTERS" |
line1 |
Adresszeile 1 | "354 Oyster Point Blvd" |
line2 |
Adresszeile 2 | null |
city |
Stadtname | "South San Francisco" |
state |
Bundesland, Provinz oder Region | "CA" |
postal_code |
Postleitzahl | "94080" |
country_code |
ISO 3166-1 Alpha-2-Ländercode | "US" |
country |
Vollständiger Ländername | "United States" |
is_primary |
Ob dies die primäre Adresse ist | true |
Executive-Objekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
name |
Vollständiger Name der Führungskraft | "Patrick Collison" |
title |
Berufsbezeichnung | "Chief Executive Officer" |
role |
Normalisierter Rollentyp (CEO, CFO, COO, CTO, CMO, PRESIDENT, VICE_PRESIDENT, DIRECTOR, BOARD_MEMBER, CHAIRMAN, FOUNDER, OTHER) | "CEO" |
person_profile_url |
Vorausgefüllte URL zum Personen-Profil-Endpunkt. Authentifizieren Sie sich mit Ihrem Bearer-Token, um das Profil der Führungskraft abzurufen. null wenn Vorname oder Unternehmens-Website fehlt. |
"https://nubela.co/api/v2/employee/profile?employer_website=https%3A%2F%2Fstripe.com&first_name=Patrick&last_name=Collison" |
PublicListing-Objekt
Dieses Objekt ist nur für börsennotierte Unternehmen vorhanden (nicht null). Bei privaten Unternehmen public_listing wird null.
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
stock_symbol |
Börsenkürzel | "AAPL" |
ipo_date |
IPO-Datum im ISO-Format | "1980-12-12" |
isin |
Internationale Wertpapierkennnummer | "US0378331005" |
figi |
Financial Instrument Global Identifier | "BBG000B9XRY4" |
cusip |
CUSIP-Kennung | "037833100" |
lei |
Legal Entity Identifier | "HWUPKR0MPOU8FGXBT394" |
cik |
SEC Central Index Key | "0000320193" |
sic_code |
SEC Standard Industrial Classification-Code | "3571" |
revenue_usd |
Jahresumsatz in USD | 383285000000 |
revenue_captured_at |
Datum, an dem die Umsatzdaten erfasst wurden (ISO-Format) | "2024-09-28" |
ebitda_usd |
EBITDA in USD | 134000000000 |
ebitda_captured_at |
Datum, an dem die EBITDA-Daten erfasst wurden (ISO-Format) | "2024-09-28" |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 2 |
X-NinjaPear-Cache-Age-Days |
Alter der zurückgegebenen Daten in ganzen Tagen. 0 wenn aktuelle Daten aus der Live-Anreicherung zurückgegeben werden. |
12 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Website ist nicht erreichbar |
| 404 | Nein | Keine gecachten Daten gefunden bei use_cache=if-present-only |
| 404 | Ja | Aus der Website konnten keine Unternehmensdaten extrahiert werden |
Mitarbeiterzahl-Endpunkt
GET /api/v1/company/employee-count
Kosten: 2 Guthaben / erfolgreiche Anfrage.
Den Mitarbeiterzahlbereich eines Unternehmens anhand seiner Website-URL abrufen.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "website=https://www.stripe.com" \
"https://nubela.co/api/v1/company/employee-count"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CompanyAPIApi(api_client)
response = api.get_employee_count(website="https://www.stripe.com")
print(response)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.CompanyAPIApi();
api.getEmployeeCount("https://www.stripe.com").then(function (data) {
console.log(data);
});
Beispielantwort:
{
"employee_count": 3500
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
Website |
Ja | Die Website-URL oder der Unternehmensname des Zielunternehmens. Eine Website-URL (z. B. https://www.stripe.com) wird für Präzision dringend empfohlen. |
https://www.stripe.com |
use_cache |
Nein | Steuert die Cache-Nutzung. Nicht zwischen Groß-/Kleinschreibung unterscheidend. Werte: if-recent (Standard; gecachte Daten verwenden, wenn der letzte Abruf weniger als 29 Tage zurückliegt, andernfalls live anreichern), if-present (Cache zuerst zurückgeben, live anreichern falls nicht vorhanden), if-present-only (nur Cache zurückgeben; 404 zurückgeben falls nicht vorhanden), never (immer live anreichern). Ungültige Werte fallen auf den Endpunkt-Standard zurück. |
if-recent |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
employee_count |
Geschätzte Mitarbeiterzahl | 3500 |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 2 |
X-NinjaPear-Cache-Age-Days |
Alter der zurückgegebenen Daten in ganzen Tagen. 0 wenn aktuelle Daten aus der Live-Anreicherung zurückgegeben werden. |
12 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 404 | Nein | Keine Mitarbeiterzahl-Daten für die angegebene Website gefunden |
| 404 | Nein | Keine gecachten Daten gefunden bei use_cache=if-present-only |
Unternehmens-Updates-Endpunkt
GET /api/v1/company/updates
Kosten: 2 Guthaben / Anfrage.
Ruft die neuesten Blog-Beiträge und X/Twitter-Updates eines Unternehmens ab. Gibt eine gemischte Zeitleiste aktueller Blog- und X-Beiträge sortiert nach Zeitstempel zurück.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "website=https://www.stripe.com" \
"https://nubela.co/api/v1/company/updates"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CompanyAPIApi(api_client)
response = api.get_company_updates(website="https://www.stripe.com")
print(response)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.CompanyAPIApi();
api.getCompanyUpdates("https://www.stripe.com").then(function (data) {
console.log(data);
});
Beispielantwort
{
"blogs": ["https://stripe.com/blog/feed.rss"],
"x_profile": "https://x.com/stripe",
"youtube_channels": ["https://www.youtube.com/channel/UCdog0Ap82jpFvSnxorxF_lA"],
"updates": [
{
"url": "https://stripe.com/blog/annual-letter-2024",
"title": "Stripe's annual letter",
"description": "A look back at what we built in 2024 and what's ahead.",
"image_url": null,
"timestamp": "2025-03-01T12:00:00+00:00",
"source": "blog"
},
{
"url": "https://x.com/stripe/status/1234567890",
"title": "We just launched a new feature...",
"description": "We just launched a new feature that makes payments even easier. Check it out!",
"image_url": "https://pbs.twimg.com/media/example.jpg",
"timestamp": "2025-02-28T18:30:00+00:00",
"source": "x"
},
{
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "How Stripe scales payments",
"description": "A deep dive into the infrastructure behind Stripe payments.",
"image_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
"timestamp": "2025-02-20T09:00:00+00:00",
"source": "youtube"
}
],
"timestamp": "2025-03-16T10:00:00+00:00"
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
Website |
Ja | Die Website-URL oder der Unternehmensname des Zielunternehmens. Eine Website-URL (z. B. https://www.stripe.com) wird für Präzision dringend empfohlen. |
https://www.stripe.com |
use_cache |
Nein | Steuert die Cache-Nutzung. Nicht zwischen Groß-/Kleinschreibung unterscheidend. Werte: if-recent (Standard; gecachte Daten verwenden, wenn der letzte Abruf weniger als 1 Tag zurückliegt, andernfalls live anreichern), if-present (Cache zuerst zurückgeben, live anreichern falls nicht vorhanden), if-present-only (nur Cache zurückgeben; 404 zurückgeben falls nicht vorhanden), never (immer live anreichern). Ungültige Werte fallen auf den Endpunkt-Standard zurück. |
if-recent |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
blogs |
Liste der Blog-RSS-Feed-URLs (sofern RSS gefunden wurde) oder Blog-Seiten-URLs | ["https://stripe.com/blog/feed.rss"] |
x_profile |
X/Twitter-Profil-URL oder null wenn nicht gefunden |
"https://x.com/stripe" |
youtube_channels |
Liste der für das Unternehmen gefundenen YouTube-Kanal-URLs oder leer, falls keine gefunden wurden | ["https://www.youtube.com/channel/UCdog0Ap82jpFvSnxorxF_lA"] |
updates |
Liste der Update-Objekte (Blog-Beiträge, Tweets und YouTube-Videos gemischt), nach Zeitstempel absteigend sortiert. | Siehe Objekt aktualisieren |
timestamp |
UTC-Zeitstempel, wann diese Daten abgerufen wurden | "2025-03-16T10:00:00+00:00" |
Objekt aktualisieren
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
url |
URL des Blogbeitrags, Tweets oder YouTube-Videos | "https://stripe.com/blog/example" |
title |
Titel des Beitrags (erste 80 Zeichen bei Tweets) | "Stripe's annual letter" |
description |
Beitragsbeschreibung, Tweet-Text oder Videobeschreibung (bis zu 500 Zeichen für Blogs) | "A look back at..." |
image_url |
Bild-URL (Tweet-Medien oder Video-Vorschaubild) oder null |
"https://pbs.twimg.com/media/example.jpg" |
timestamp |
ISO 8601-Veröffentlichungszeitstempel oder null wenn unbekannt |
"2025-03-01T12:00:00+00:00" |
source |
Quellentyp der Aktualisierung | "blog", "x", oder "youtube" |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 2 |
X-NinjaPear-Cache-Age-Days |
Alter der zurückgegebenen Daten in ganzen Tagen. 0 wenn aktuelle Daten aus der Live-Anreicherung zurückgegeben werden. |
1 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Fehlender oder ungültiger Website-Parameter |
| 403 | Nein | Unzureichendes Guthaben |
| 404 | Nein | Keine gecachten Daten gefunden bei use_cache=if-present-only |
Unternehmensfinanzierungs-Endpunkt
GET /api/v1/company/funding
Kosten: 2 Guthaben / Anfrage (Basis) + 1 Guthaben pro zurückgegebenem einzigartigen Investor. Die Grundgebühr gilt weiterhin, wenn keine Finanzierungsdaten gefunden werden (siehe error_code: "no_funding_data" unten).
Die Finanzierungshistorie eines Unternehmens anhand seiner Website-URL abrufen. Gibt das gesamte aufgenommene Kapital, einzelne Finanzierungsrunden mit Daten und Beträgen sowie beteiligte Investoren mit ihren Websites zurück.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--max-time 300 \
--data-urlencode "website=https://www.stripe.com" \
"https://nubela.co/api/v1/company/funding"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CompanyAPIApi(api_client)
# Set a generous read timeout — calls can take up to 5 minutes.
response = api.get_company_funding(website="https://www.stripe.com", _request_timeout=300)
print(response)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
defaultClient.timeout = 300000; // 5 minutes
var api = new NinjaPear.CompanyAPIApi();
api.getCompanyFunding("https://www.stripe.com").then(function (data) {
console.log(data);
});
Beispielantwort
{
"website": "stripe.com",
"total_funds_raised_usd": 9810000000,
"credit_cost": 7,
"funding_rounds": [
{
"round_type": "SECONDARY_SALE",
"date": "2026-02-01",
"amount_usd": null,
"investors": [
{
"name": "Thrive Capital",
"website": "thrivecap.com",
"type": "company",
"amount_usd": null
},
{
"name": "Coatue",
"website": "coatue.com",
"type": "company",
"amount_usd": null
},
{
"name": "Andreessen Horowitz",
"website": "a16z.com",
"type": "company",
"amount_usd": null
}
]
},
{
"round_type": "SERIES_I",
"date": "2024-04-01",
"amount_usd": 694200000,
"investors": [
{
"name": "Sequoia Capital",
"website": "sequoiacap.com",
"type": "company",
"amount_usd": null
},
{
"name": "Brookfield",
"website": "brookfield.com",
"type": "company",
"amount_usd": null
},
{
"name": "Paradigm",
"website": "paradigm.co",
"type": "company",
"amount_usd": null
}
]
},
{
"round_type": "SERIES_I",
"date": "2023-03-01",
"amount_usd": 6500000000,
"investors": [
{
"name": "GIC",
"website": "gic.com.sg",
"type": "company",
"amount_usd": null
},
{
"name": "Goldman Sachs",
"website": "goldmansachs.com",
"type": "company",
"amount_usd": null
},
{
"name": "Temasek",
"website": "temasek.com.sg",
"type": "company",
"amount_usd": null
},
{
"name": "Thrive Capital",
"website": "thrivecap.com",
"type": "company",
"amount_usd": null
}
]
},
{
"round_type": "SERIES_H",
"date": "2021-03-01",
"amount_usd": 600000000,
"investors": [
{
"name": "Allianz X",
"website": "allianzx.com",
"type": "company",
"amount_usd": null
},
{
"name": "Fidelity",
"website": "fidelity.com",
"type": "company",
"amount_usd": null
},
{
"name": "Baillie Gifford",
"website": "bailliegifford.com",
"type": "company",
"amount_usd": null
}
]
},
{
"round_type": "SEED",
"date": "2011-03-01",
"amount_usd": 2000000,
"investors": [
{
"name": "Peter Thiel",
"website": null,
"type": "angel",
"amount_usd": null
},
{
"name": "Sequoia Capital",
"website": "sequoiacap.com",
"type": "company",
"amount_usd": null
},
{
"name": "Elon Musk",
"website": null,
"type": "angel",
"amount_usd": null
}
]
}
]
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
Website |
Ja | Die Website-URL oder der Unternehmensname des Zielunternehmens. Eine Website-URL (z. B. https://www.stripe.com) wird für Präzision dringend empfohlen. |
https://www.stripe.com |
use_cache |
Nein | Steuert die Cache-Nutzung. Nicht zwischen Groß-/Kleinschreibung unterscheidend. Werte: if-recent (Standard; gecachte Daten verwenden, wenn der letzte Abruf weniger als 29 Tage zurückliegt, andernfalls live anreichern), if-present (Cache zuerst zurückgeben, live anreichern falls nicht vorhanden), if-present-only (nur Cache zurückgeben; 404 zurückgeben falls nicht vorhanden), never (immer live anreichern). Ungültige Werte fallen auf den Endpunkt-Standard zurück. |
if-recent |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
Website |
Die Unternehmens-Domain, die die Antwort beschreibt, aus der Anfrage übernommen | "stripe.com" |
total_funds_raised_usd |
Gesamte aufgenommene Finanzierung in USD oder null wenn nicht angegeben |
9810000000 |
funding_rounds |
Array von FundingRound-Objekten, nach Datum absteigend sortiert | Siehe unten |
credit_cost |
Gesamt-Guthaben für diesen Aufruf berechnet (2 Basis + 1 pro einzigartigem Investor). Streaming-Antworten liefern die Guthaben-Kosten im Antwort-Body statt im X-NinjaPear-Credit-Cost Header. |
7 |
FundingRound-Objekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
round_type |
Art der Finanzierungsrunde (siehe Rundentypwerte unten) | "SERIES_A" |
date |
Datum der Runde in YYYY-MM-DD Format oder null wenn unbekannt |
"2023-03-01" |
amount_usd |
In dieser Runde eingeworbener Betrag in USD, oder null wenn nicht angegeben |
600000000 |
investors |
Array von Investor-Objekten, die an dieser Runde teilgenommen haben | Siehe unten |
Investor-Objekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
name |
Name des Investors (Firma oder Einzelperson) | "Sequoia Capital" |
Website |
Website-Domain des Investors oder null wenn unbekannt |
"sequoiacap.com" |
type |
Entweder "company" (VC-Firma, Fonds, Konzern) oder "angel" (Einzelperson) |
"company" |
amount_usd |
Betrag, den dieser Investor in USD beigetragen hat, oder null wenn nicht angegeben |
null |
Werte für Rundentypen
PRE_SEED, SEED, SERIES_A, SERIES_B, SERIES_C, SERIES_D, SERIES_E, SERIES_F, SERIES_G, SERIES_H, SERIES_I durch SERIES_Z, BRIDGE, VENTURE_DEBT, CONVERTIBLE_NOTE, GRANT, SECONDARY_SALE, PRIVATE_EQUITY, GROWTH_EQUITY, IPO, POST_IPO_EQUITY, POST_IPO_DEBT, DEBT_FINANCING, CROWDFUNDING, CORPORATE_ROUND, UNKNOWN
Antwort-Header
Dieser Endpunkt überträgt die Antwort per Streaming; HTTP-Trailer werden nicht unterstützt, daher wird der Guthaben-Verbrauch im Antwort-Body geliefert (dem credit_cost Feld) anstatt dem X-NinjaPear-Credit-Cost Header. Wenn die Antwort aus dem Cache stammt, wird der X-NinjaPear-Credit-Cost Header wird wie üblich zurückgegeben. Der X-NinjaPear-Cache-Age-Days Header wird bei erfolgreichen Antworten für alle zurückgegeben use_cache Modi; eine frische Live-Anreicherung gibt zurück 0.
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf (2 Basis + 1 pro Investor). Nur Cache-Treffer. | 7 |
X-NinjaPear-Cache-Age-Days |
Alter der zurückgegebenen Daten in ganzen Tagen. 0 wenn aktuelle Daten aus der Live-Anreicherung zurückgegeben werden. |
12 |
Fehlercodes
Clientseitige Fehler (HTTP 400 / 403) werden zurückgegeben, bevor der Streaming-Body beginnt. Bei Cache-Fehltreffern werden serverseitige Fehler übermittelt als HTTP 200 mit error und error_code Felder im Antwort-Body — da die Streaming-Verbindung bereits hergestellt wurde, kann der Statuscode nicht mehr geändert werden. Clients, die zuvor auf Basis von response.status_code == 404 sollte auf dem error_code Feld stattdessen.
| Statuscode | Berechnet? | error_code (Body) |
Beschreibung |
|---|---|---|---|
| 400 | Nein | — | Fehlender oder ungültiger Website-Parameter |
| 403 | Nein | — | Unzureichendes Guthaben |
| 404 | Nein | — | Keine gecachten Daten gefunden bei use_cache=if-present-only |
| 200 (Fehler im Antwort-Body) | Ja (2 Guthaben) | no_funding_data |
Für die angegebene Website konnten keine Finanzierungsdaten gefunden werden. funding_rounds ist []. |
| 200 (Fehler im Antwort-Body) | Nein | service_temp_unavailable |
Dienst vorübergehend nicht verfügbar. Bitte später erneut versuchen. funding_rounds ist []. |
Website-Abfrage-Endpunkt
GET /api/v1/company/website
Kosten: 1 Guthaben / Anfrage (wird berechnet, unabhängig davon, ob eine Übereinstimmung gefunden wird).
Den Namen eines Unternehmens in seine kanonische Website-URL auflösen.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "company_name=Apex" \
--data-urlencode "country_code=us" \
--data-urlencode "hint=cybersecurity firm" \
"https://nubela.co/api/v1/company/website"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CompanyAPIApi(api_client)
response = api.get_website_lookup(
company_name="Apex",
country_code="us",
hint="cybersecurity firm",
)
print(response)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.CompanyAPIApi();
api.getWebsiteLookup("Apex", {
countryCode: "us",
hint: "cybersecurity firm",
}).then(function (data) {
console.log(data);
});
Beispielantwort:
{
"website": "https://www.apexsecurity.com"
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
company_name |
Ja | Der Name des Unternehmens, das abgefragt werden soll. | Apex |
country_code |
Nein | Optionaler ISO 3166-1 Alpha-2-Ländercode (2 Buchstaben) zur geografischen Einschränkung der Suche (z. B. us, gb, de, sg). Siehe die vollständige Liste der ISO 3166-1 Alpha-2-Codes. Standardwert: us wenn weggelassen. |
us |
Hinweis |
Nein | Geben Sie einen Hinweis an, um gleichnamige Unternehmen im selben Land zu unterscheiden. | cybersecurity firm |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
Website |
Die aufgelöste kanonische Website-URL. | https://www.stripe.com |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 1 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Fehlend oder ungültig company_name Parameter. |
| 400 | Nein | Ungültig country_code (kein gültiger 2-Buchstaben-Code). |
| 404 | Ja (1) | Für den angegebenen Unternehmensnamen konnte keine passende Website gefunden werden. |
Mitarbeiter-API
Geschäftliche E-Mail-Endpunkt
GET /api/v1/employee/work-email
Kosten: 2 Guthaben bei einer erfolgreichen Abfrage (geschäftliche E-Mail gefunden). Wenn keine E-Mail gefunden wird (work_email ist null), eine Guthaben-Belastung von 0.5 Guthaben wird angewendet – dies verhindert Missbrauch und hält spekulative Abfragen günstig.
Versucht nach bestem Wissen, die öffentliche geschäftliche E-Mail einer Person anhand ihres Vornamens (optionaler Nachname) und einer Unternehmens-Domain zurückzugeben.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "first_name=Patrick" \
--data-urlencode "last_name=Collison" \
--data-urlencode "domain=stripe.com" \
"https://nubela.co/api/v1/employee/work-email"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.EmployeeAPIApi(api_client)
result = api.find_work_email(
first_name="Patrick",
last_name="Collison",
domain="stripe.com",
)
print(result)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.EmployeeAPIApi();
api
.findWorkEmail({
firstName: "Patrick",
lastName: "Collison",
domain: "stripe.com",
})
.then(function (data) {
console.log(data);
});
Beispielantwort (E-Mail gefunden)
{
"work_email": "[email protected]"
}
Beispielantwort (kein Nachweis)
{
"work_email": null
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
first_name |
Ja | Vorname der Person. | Patrick |
last_name |
Nein | Nachname der Person. Verbessert die Genauigkeit, wenn das Muster es erfordert. | Collison |
domain |
Ja | Unternehmens-Domain. Protokoll und Pfad werden ggf. entfernt. | stripe.com |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
work_email |
Geschäftliche E-Mail-Adresse nach bestem Bemühen. null wenn keine öffentliche E-Mail gefunden wurde UND kein Muster abgeleitet werden konnte. |
"[email protected]" | null |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamt-Guthaben für diesen Aufruf berechnet. 2 bei einem Treffer; 0.5 bei einem Fehltreffer (Token-Gebühr zur Missbrauchsprävention). |
2 oder 0.5 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Fehlend oder ungültig first_name / domain. |
| 403 | Nein | Unzureichendes Guthaben. |
| 503 | Nein | Dienst vorübergehend nicht verfügbar. Bitte später erneut versuchen. |
Personen-Profil-Endpunkt
GET /api/v2/employee/profile
Kosten: 3 Guthaben / Anfrage. Guthaben wird auch dann berechnet, wenn keine Daten gefunden werden.
Reichert das berufliche Profil eines Mitarbeiters anhand einer Geschäftlichen E-Mail, einer Kombination aus Name und Arbeitgeber oder einer Kombination aus Rolle und Arbeitgeber an. Gibt strukturierte Profildaten zurück, einschließlich Berufsverlauf, Ausbildung, Standort und Social-Media-Präsenz.
Sie müssen mindestens eine der folgenden Eingabekombinationen angeben:
- Nur geschäftliche E-Mail — z. B.
[email protected] - Vorname + Arbeitgeber-Website — z. B.
first_name=John&employer_website=https://stripe.com - Arbeitgeber-Website + Rolle — z. B.
employer_website=https://stripe.com&role=CTO
Sie können jederzeit weitere Parameter hinzufügen, um die Genauigkeit zu verbessern. Zum Beispiel durch Angabe von work_email zusammen mit first_name, last_name, und role wird bessere Ergebnisse liefern als work_email allein.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "[email protected]" \
"https://nubela.co/api/v2/employee/profile"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.EmployeeAPIApi(api_client)
profile = api.get_person_profile_v2(work_email="[email protected]")
print(profile)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.EmployeeAPIApi();
api.getPersonProfileV2({ workEmail: "[email protected]" }).then(function (data) {
console.log(data);
});
Beispielantwort
{
"id": "abc123de-f456-7890-abcd-ef1234567890",
"slug": "elon-musk",
"profile_pic_url": "https://pbs.twimg.com/profile_images/1234567890/photo_400x400.jpg",
"first_name": "Elon",
"middle_name": "Reeve",
"last_name": "Musk",
"full_name": "Elon Reeve Musk",
"bio": "Mars & Cars, Chips & Dips",
"follower_count": 195000000,
"following_count": 782,
"country": "US",
"city": "USAUS",
"state": "US-TX",
"x_handle": "elonmusk",
"x_profile_url": "https://x.com/elonmusk",
"personal_website": "https://elonmusk.com",
"work_experience": [
{
"role": "CEO",
"company_name": "Tesla",
"company_website": "tesla.com",
"description": "Leading Tesla's mission to accelerate the world's transition to sustainable energy.",
"start_date": "2008-10",
"end_date": null
},
{
"role": "CEO and CTO",
"company_name": "SpaceX",
"company_website": "spacex.com",
"description": "Founded SpaceX with the goal of reducing space transportation costs and enabling the colonization of Mars.",
"start_date": "2002-05",
"end_date": null
},
{
"role": "Co-founder",
"company_name": "PayPal",
"company_website": "paypal.com",
"description": null,
"start_date": "1999-01",
"end_date": "2002-10"
}
],
"education": [
{
"major": "B.S. Economics",
"school": "Wharton School, University of Pennsylvania",
"start_date": "1992-01",
"end_date": "1997-01"
},
{
"major": "B.S. Physics",
"school": "University of Pennsylvania",
"start_date": "1992-01",
"end_date": "1997-01"
}
],
"work_email_lookup": "https://nubela.co/api/v1/employee/work-email?first_name=Elon&last_name=Musk&domain=tesla.com",
"similar_people": "https://nubela.co/api/v1/employee/similar?id=abc123de-f456-7890-abcd-ef1234567890"
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
work_email |
Bedingt | Geschäftliche E-Mail-Adresse der Person. Erforderlich, wenn employer_website wird nicht angegeben. |
[email protected] |
first_name |
Bedingt | Vorname der Person. Erforderlich bei Verwendung von Name + employer_website Kombination. |
John |
middle_name |
Nein | Zweiter Vorname der Person. Verbessert die Genauigkeit in Kombination mit anderen Parametern. | Michael |
last_name |
Nein | Nachname der Person. Verbessert die Genauigkeit in Kombination mit anderen Parametern. | Smith |
employer_website |
Bedingt | Website-URL oder Unternehmensname des Arbeitgebers der Person. Eine Website-URL wird für höhere Präzision dringend empfohlen. Erforderlich, wenn work_email wird nicht angegeben. |
https://stripe.com |
role |
Nein | Aktuelle Berufsbezeichnung oder Rolle. Verbessert die Genauigkeit. Erforderlich bei Verwendung von employer_website ohne Namen. |
CTO |
slug |
Nein | Personen-Slug für die direkte Abfrage eines vorhandenen angereicherten Profils. | elon-musk |
id |
Nein | Personen-ID für die direkte Abfrage eines vorhandenen angereicherten Profils. | abc123de-... |
enrichment |
Nein | Steuert die Live-Anreicherungstiefe. Werte: fast (Standard; gibt schnell zurück und startet die detaillierte Anreicherung im Hintergrund), detailed (wartet auf die detaillierte Anreicherung, bevor die Antwort zurückgegeben wird).Eine schnelle Antwort enthält weniger biografische Details, wie Website- und Profilbilddaten, gibt jedoch schnell strukturierte Berufs- und Ausbildungsverläufe zurück. Eine schnelle Anreicherungsanfrage startet auch eine detaillierte Anreicherung im Hintergrund, und Sie haben ebenfalls Anspruch auf dieses Ergebnis. Fragen Sie dieselbe Anfrage mit denselben Parametern ab und use_cache=if-recent 10 bis 30 Sekunden später, um das vollständig angereicherte Ergebnis ohne zusätzliche Kosten abzurufen. Hören Sie mit dem Polling auf, wenn die X-NinjaPear-Enrichment-Status Antwort-Header ist complete. Sobald die detaillierte Anreicherung abgeschlossen ist, gibt dieselbe Anfrage das detaillierte zwischengespeicherte Profil ohne zusätzliche Kosten zurück.Verwenden Sie enrichment=fast wenn Sie ein schnelles Ergebnis für Anwendungsfälle wie das Befüllen einer UI benötigen. Verwenden Sie enrichment=detailed wenn Sie die vollständige Antwort benötigen und bereit sind zu warten. |
fast |
use_cache |
Nein | Steuert die Cache-Nutzung. Nicht zwischen Groß-/Kleinschreibung unterscheidend. Werte: if-recent (Standard; gecachte Daten verwenden, wenn der letzte Abruf weniger als 29 Tage zurückliegt, andernfalls live anreichern), if-present (Cache zuerst zurückgeben, live anreichern falls nicht vorhanden), if-present-only (nur Cache zurückgeben; 404 zurückgeben falls nicht vorhanden), never (immer live anreichern). Ungültige Werte fallen auf den Endpunkt-Standard zurück. |
if-recent |
Gültige Eingabekombinationen
| Kombination | Beispiel |
|---|---|
work_email allein |
[email protected] |
first_name + employer_website |
?first_name=John&employer_website=https://stripe.com |
employer_website + role |
?employer_website=https://stripe.com&role=CTO |
slug oder id |
?slug=elon-musk |
Zusätzliche Parameter können jederzeit angegeben werden, um die Ergebnisgenauigkeit zu verbessern.
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
id |
Eindeutige Personen-ID. Vorhanden, wenn das Profil durch einen gespeicherten Personendatensatz hinterlegt ist. | "abc123de-f456-7890-abcd-ef1234567890" |
slug |
Eindeutiger Personen-Slug. Vorhanden, wenn das Profil durch einen gespeicherten Personendatensatz hinterlegt ist. | "elon-musk" |
profile_pic_url |
URL zum Profilbild der Person (von X/Twitter). Kann null. |
"https://pbs.twimg.com/.../photo_400x400.jpg" |
first_name |
Vorname | "Elon" |
middle_name |
Zweiter Vorname. Kann null. |
"Reeve" |
last_name |
Nachname | "Musk" |
full_name |
Vollständiger Name | "Elon Reeve Musk" |
bio |
Bio/Beschreibung aus dem X/Twitter-Profil. Kann sein null. |
"Mars & Cars, Chips & Dips" |
follower_count |
Anzahl der X/Twitter-Follower. Kann sein null. |
195000000 |
following_count |
Anzahl der gefolgten X/Twitter-Konten. Kann sein null. |
782 |
country |
Wohnsitzland. ISO 3166-1 Alpha-2-Code. | "US" |
city |
Wohnort. UN/LOCODE. | "USAUS" |
state |
Bundesland oder Region des Wohnsitzes. ISO 3166-2-Unterteilungscode. | "US-TX" |
x_handle |
X/Twitter-Handle (ohne @). Kann sein null. |
"elonmusk" |
x_profile_url |
URL zum X/Twitter-Profil. Kann null. |
"https://x.com/elonmusk" |
personal_website |
URL der persönlichen Website. Kann null. |
"https://elonmusk.com" |
work_experience |
Liste der Berufserfahrungseinträge, neueste zuerst | [WorkExperience-Objekt] |
education |
Liste der Ausbildungseinträge, neueste zuerst | [Bildungsobjekt] |
work_email_lookup |
Vorgefertigte URL zum Geschäftliche E-Mail-Endpunkt für diese Person, mit first_name, last_name, und domain (die Website der aktuellsten Berufserfahrung) bereits befüllt. Rufen Sie diesen Endpunkt direkt mit Ihrem Bearer-Token auf, um die geschäftliche E-Mail der Person aufzulösen – Parameter müssen nicht erneut übergeben werden. Kosten 2 Guthaben pro Aufruf. Kann sein null wenn die Website des aktuellen Arbeitgebers unbekannt ist. |
"https://nubela.co/api/v1/employee/work-email?first_name=Elon&last_name=Musk&domain=tesla.com" |
similar_people |
Vorgefertigte URL zum Endpunkt für ähnliche Personen für diese Person, indexiert nach ihrer id. Rufen Sie ihn direkt auf, um Personen mit derselben Rolle bei Wettbewerbern abzurufen — Suchparameter müssen nicht erneut übergeben werden. |
"https://nubela.co/api/v1/employee/similar?id=abc123de-..." |
WorkExperience-Objekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
role |
Berufsbezeichnung oder Rolle | "CEO" |
company_name |
Name des Unternehmens | "Tesla" |
company_website |
Unternehmens-Website-Domain. Kann sein null. |
"tesla.com" |
description |
Beschreibung der Tätigkeit der Person in dieser Rolle. Kann null. |
"Leading Tesla's mission..." |
start_date |
Startdatum im Format YYYY-MM. Kann null. |
"2008-10" |
end_date |
Enddatum im Format JJJJ-MM. null bedeutet aktuell in dieser Rolle. |
null |
Bildungsobjekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
major |
Abschluss und Studienfach | "B.S. Economics" |
school |
Name der Schule oder Universität | "Wharton School, University of Pennsylvania" |
start_date |
Startdatum im Format YYYY-MM. Kann null. |
"1992-01" |
end_date |
Enddatum im Format JJJJ-MM. Kann null. |
"1997-01" |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 3 |
X-NinjaPear-Cache-Age-Days |
Alter der zurückgegebenen Daten in ganzen Tagen. 0 wenn aktuelle Daten aus der Live-Anreicherung zurückgegeben werden. |
12 |
X-NinjaPear-Enrichment-Status |
Detaillierter Anreicherungsstatus für v2-Personenprofil-Antworten. pending bedeutet, dass die Antwort das schnelle Profil ist und die detaillierte Anreicherung noch läuft oder auf den Abschluss wartet. complete bedeutet, dass die Antwort das detaillierte gecachte Profil oder ein enrichment=detailed Ergebnis. Wiederholen Sie die Abfrage, bis dieser Header complete. |
complete |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Ungültige Eingabe. Es muss angegeben werden work_email, oder first_name + employer_website, oder employer_website + role. |
| 400 | Nein | Ungültig enrichment. Verwenden Sie fast oder detailed. Das veraltete speed Parameter wird nicht akzeptiert. |
| 400 | Nein | work_email ist eine persönliche/kostenlose E-Mail (z. B. [email protected]). Geben Sie eine geschäftliche E-Mail-Adresse an. |
| 403 | Nein | Unzureichendes Guthaben |
| 404 | Nein | work_email ist eine rollenbasierte / generische Mailbox (z. B. info@, support@, sales@, noreply@) das keiner Einzelperson zugeordnet werden kann. |
| 404 | Nein | Keine gecachten Daten gefunden bei use_cache=if-present-only |
| 404 | Ja (3 Guthaben) | Für die angegebene Eingabe konnten keine Profildaten gefunden werden |
| 503 | Nein | Dienst vorübergehend nicht verfügbar. Bitte später erneut versuchen. |
Endpunkt für ähnliche Personen
GET /api/v1/employee/similar
Kosten: 10 Guthaben Basis + 5 Guthaben pro versuchtem (Unternehmen, Rolle)-Tupel. Die Grundkosten werden unabhängig davon berechnet, ob ähnliche Personen gefunden werden, da der Endpunkt für jede Anfrage Echtzeit-Anreicherungsressourcen aufwendet. Zwischengespeicherte Ergebnisse sind kostenlos (siehe unten).
Personen finden, die ähnlich an eine Zielperson — definiert als Personen, die die gleiche Rolle bei konkurrierenden Unternehmen. Bei einem Ziel (z. B. dem CEO von nubela.co), ermittelt der Endpunkt den aktuellen Arbeitgeber der Zielperson, sucht die Wettbewerber dieses Arbeitgebers und versucht, die Person mit derselben Rolle bei jedem Wettbewerber in Echtzeit anzureichern. Die Antwort enthält das Profil der Zielperson, die Liste der (Unternehmen, Rolle)-Paare, die wir zu suchen versucht haben, sowie die ähnlichen Personen, die wir erfolgreich angereichert haben.
Die Eingaben sind identisch mit dem Personen-Profil-Endpunkt. Sie müssen mindestens eine der folgenden Eingabekombinationen angeben:
- Nur geschäftliche E-Mail — z. B.
[email protected] - Vorname + Arbeitgeber-Website — z. B.
first_name=Tim&employer_website=https://apple.com - Arbeitgeber-Website + Rolle — z. B.
employer_website=https://apple.com&role=CEO
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--max-time 300 \
--data-urlencode "[email protected]" \
"https://nubela.co/api/v1/employee/similar"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.EmployeeAPIApi(api_client)
# Set a generous read timeout — calls can take up to 5 minutes.
result = api.get_similar_people(work_email="[email protected]", _request_timeout=300)
print(result)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
defaultClient.timeout = 300000; // 5 minutes
var api = new NinjaPear.EmployeeAPIApi();
api.getSimilarPeople({ workEmail: "[email protected]" }).then(function (data) {
console.log(data);
});
Beispielantwort
{
"target": {
"first_name": "Tim",
"last_name": "Cook",
"full_name": "Tim Cook",
"work_experience": [
{
"role": "CEO",
"company_name": "Apple",
"company_website": "apple.com",
"start_date": "2011-08",
"end_date": null
}
]
},
"attempted_searches": [
{ "employer_website": "samsung.com", "role": "CEO" },
{ "employer_website": "google.com", "role": "CEO" },
{ "employer_website": "microsoft.com", "role": "CEO" },
{ "employer_website": "huawei.com", "role": "CEO" }
],
"similar_people": [
{
"first_name": "Sundar",
"last_name": "Pichai",
"full_name": "Sundar Pichai",
"work_experience": [
{
"role": "CEO",
"company_name": "Google",
"company_website": "google.com",
"start_date": "2015-08",
"end_date": null
}
]
},
{
"first_name": "Satya",
"last_name": "Nadella",
"full_name": "Satya Nadella",
"work_experience": [
{
"role": "CEO",
"company_name": "Microsoft",
"company_website": "microsoft.com",
"start_date": "2014-02",
"end_date": null
}
]
}
],
"credit_cost": 30
}
Der obige Beispielaufruf zeigt aus Platzgründen nur eine Teilmenge von PersonProfile Felder. Jeder Eintrag unter Ziel und similar_people ist ein vollständiges PersonProfile Objekt – siehe Antwort des Personen-Profil-Endpunkts für das vollständige Schema, einschließlich profile_pic_url, bio, country, x_handle, education, usw.
URL-Parameter
Identisch mit dem URL-Parameter des Personen-Profil-Endpunkts.
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
work_email |
Bedingt | Geschäftliche E-Mail-Adresse der Zielperson. Erforderlich, wenn employer_website wird nicht angegeben. |
[email protected] |
first_name |
Bedingt | Vorname des Ziels. Erforderlich bei Verwendung von Name + employer_website Kombination. |
Tim |
middle_name |
Nein | Zweiter Vorname des Ziels. Verbessert die Genauigkeit in Kombination mit anderen Parametern. | Donald |
last_name |
Nein | Nachname des Ziels. Verbessert die Genauigkeit in Kombination mit anderen Parametern. | Cook |
employer_website |
Bedingt | Website-URL oder Unternehmensname des Arbeitgebers des Zielobjekts. Eine Website-URL wird für höhere Präzision dringend empfohlen. Erforderlich, wenn work_email wird nicht angegeben. |
https://apple.com |
role |
Nein | Aktuelle Berufsbezeichnung oder Rolle. Erforderlich bei Verwendung von employer_website ohne Namen. |
CEO |
Gültige Eingabekombinationen
| Kombination | Beispiel |
|---|---|
work_email allein |
[email protected] |
first_name + employer_website |
?first_name=Tim&employer_website=https://apple.com |
employer_website + role |
?employer_website=https://apple.com&role=CEO |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
Ziel |
Das vollständige Profil der aufgelösten Zielperson. Gleiches Schema wie der Personen-Profil-Endpunkt. | { "first_name": "Tim", ... } |
attempted_searches |
Liste der (Unternehmen, Rolle)-Tupel, für die eine Anreicherung versucht wurde. Ein Eintrag pro Wettbewerber des aktuellen Arbeitgebers des Zielobjekts. Bestimmt die Abrechnung pro Tupel (je 5 Guthaben). | [AttemptedSearch-Objekt] |
similar_people |
Liste der erfolgreich angereicherten Profile von Personen mit derselben Rolle bei Wettbewerbern. Kann eine Teilmenge von attempted_searches (einige Versuche liefern keine Daten). Jeder Eintrag verwendet dasselbe Schema wie der Personen-Profil-Endpunkt. |
[PersonProfile, ...] |
credit_cost |
Gesamt-Guthaben für diesen Aufruf berechnet. Entspricht 10 + 5 * len(attempted_searches), oder 0 für zwischengespeicherte Ergebnisse, die demselben Produkt bereitgestellt werden, das zuvor bezahlt hat. |
30 |
AttemptedSearch-Objekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
employer_website |
Domain der Wettbewerber-Website, die wir abgefragt haben. | "google.com" |
role |
Rolle, nach der bei diesem Wettbewerber gesucht wurde (spiegelt das Ziel wider). | "CEO" |
Antwort-Header
Dieser Endpunkt überträgt die Antwort per Streaming, daher kann der Guthaben-Verbrauch nicht im Header zurückgegeben werden – HTTP-Trailer werden von der Streaming-Schicht nicht unterstützt. Lesen Sie den credit_cost Feld im Antwort-Body anstelle des üblichen X-NinjaPear-Credit-Cost Header.
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Ungültige Eingabe. Es muss angegeben werden work_email, oder first_name + employer_website, oder employer_website + role. |
| 400 | Nein | work_email ist eine persönliche/kostenlose E-Mail (z. B. [email protected]). Geben Sie eine geschäftliche E-Mail-Adresse an. |
| 403 | Nein | Unzureichendes Guthaben. Sie benötigen mindestens 10 Guthaben, um eine Ähnlichkeitssuche nach Personen zu starten. |
| 404 | Nein | work_email ist eine rollenbasierte / generische Mailbox (z. B. info@, support@, sales@, noreply@) das keiner Einzelperson zugeordnet werden kann. |
| 404 | Nein | Die Zielperson konnte nicht aufgelöst werden. |
| 503 | Nein | Ressource vorübergehend nicht verfügbar. Bitte versuchen Sie es erneut. |
Mitarbeitersuche-Endpunkt
GET /api/v1/employee/search
Kosten: Basis 2 Guthaben pro Aufruf (wird auch berechnet, wenn keine Mitarbeiter zurückgegeben werden), plus 1 Guthaben pro Mitarbeiter im Mitarbeiter Array. Eine Abfrage, die 10 Mitarbeiter zurückgibt, kostet 2 + 10 = 12 Guthaben.
Aktuelle Mitarbeiter eines Unternehmens nach Rolle filtern, optional geografisch eingegrenzt.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "company_website=stripe.com" \
--data-urlencode "role=VP of Engineering" \
"https://nubela.co/api/v1/employee/search"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.EmployeeAPIApi(api_client)
result = api.search_employees(
company_website="stripe.com",
role="VP of Engineering",
)
print(result)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.EmployeeAPIApi();
api.searchEmployees({
companyWebsite: "stripe.com",
role: "VP of Engineering",
}).then(function (data) {
console.log(data);
});
Beispielantwort
{
"employees": [
{
"first_name": "Jane",
"last_name": "Doe",
"role": "VP of Engineering",
"company_website": "stripe.com",
"company_details": "https://nubela.co/api/v1/company/details?website=stripe.com",
"person_profile": "https://nubela.co/api/v2/employee/profile?first_name=Jane&last_name=Doe&employer_website=https%3A%2F%2Fstripe.com",
"work_email": "https://nubela.co/api/v1/employee/work-email?first_name=Jane&last_name=Doe&domain=stripe.com"
},
{
"first_name": "John",
"last_name": "Smith",
"role": "Director of Engineering",
"company_website": "stripe.com",
"company_details": "https://nubela.co/api/v1/company/details?website=stripe.com",
"person_profile": "https://nubela.co/api/v2/employee/profile?first_name=John&last_name=Smith&employer_website=https%3A%2F%2Fstripe.com",
"work_email": "https://nubela.co/api/v1/employee/work-email?first_name=John&last_name=Smith&domain=stripe.com"
}
]
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
company_website |
Ja | Das Zielunternehmen. Bevorzugte Form ist eine Website (reine Domain wie stripe.com oder vollständige URL wie https://stripe.com). Ein Unternehmensname (z.B. Stripe) wird ebenfalls akzeptiert. |
stripe.com |
role |
Ja | Berufsbezeichnung zur Einschränkung der Suche. Findet verwandte Rollenvarianten (z. B. VP of Engineering entspricht auch Vice President, Engineering). |
VP of Engineering |
country |
Nein | ISO 3166-1 Alpha-2-Ländercode zur Einschränkung. | US |
state |
Nein | Bundesland oder Region zur Einschränkung (Freitext). | Kalifornien |
city |
Nein | Stadt zur Einschränkung (Freitext). | San Francisco |
use_cache |
Nein | Steuert die Cache-Nutzung. Nicht zwischen Groß-/Kleinschreibung unterscheidend. Werte: if-recent (Standard; gecachte Daten verwenden, wenn der letzte Abruf weniger als 29 Tage zurückliegt, andernfalls live anreichern), if-present (Cache zuerst zurückgeben, live anreichern falls nicht vorhanden), if-present-only (nur Cache zurückgeben; 404 zurückgeben falls nicht vorhanden), never (immer live anreichern). Ungültige Werte fallen auf den Endpunkt-Standard zurück. |
if-recent |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
Mitarbeiter |
Liste der passenden Mitarbeiter beim Zielunternehmen. Leeres Array, wenn keine gefunden werden. | [Mitarbeiterobjekt] |
Mitarbeiterobjekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
first_name |
Der Vorname des Mitarbeiters. | "Jane" |
last_name |
Der Nachname des Mitarbeiters. Kann null wenn nicht verfügbar. |
"Doe" |
role |
Die aktuelle Berufsbezeichnung des Mitarbeiters beim Zielunternehmen. | "VP of Engineering" |
company_website |
Website des Ziel-Arbeitgebers, bei dem der Mitarbeiter beschäftigt ist. Spiegelt die aufgelöste company_website Eingabeparameter bei jedem Datensatz. |
"stripe.com" |
company_details |
Vorausgefüllte URL zum Unternehmensdetails-Endpunkt, befüllt mit Website. Authentifizieren Sie sich mit Ihrem Bearer-Token, um Unternehmensdetails abzurufen. |
"https://nubela.co/api/v1/company/details?website=stripe.com" |
person_profile |
Vorausgefüllte URL zum Personen-Profil-Endpunkt, befüllt mit first_name, last_name, und employer_website. Rufen Sie den Endpunkt direkt mit Ihrem Bearer-Token auf, um die Person anzureichern. Kostet 3 Guthaben pro Aufruf. |
"https://nubela.co/api/v2/employee/profile?first_name=Jane&last_name=Doe&employer_website=https%3A%2F%2Fstripe.com" |
work_email |
Vorausgefüllte URL zum Geschäftliche E-Mail-Endpunkt, befüllt mit first_name, last_name, und domain. Rufen Sie den Endpunkt direkt mit Ihrem Bearer-Token auf, um die geschäftliche E-Mail aufzulösen. Kostet 2 Guthaben bei einem Treffer, 0.5 Guthaben, wenn keine E-Mail gefunden wird. |
"https://nubela.co/api/v1/employee/work-email?first_name=Jane&last_name=Doe&domain=stripe.com" |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamt-Guthaben für diesen Aufruf berechnet. Gleich 2 + N wobei N ist die Anzahl der zurückgegebenen Mitarbeiter (2 wenn das Array leer ist). |
12 |
X-NinjaPear-Cache-Age-Days |
Alter der zurückgegebenen Daten in ganzen Tagen. 0 wenn aktuelle Daten aus der Live-Anreicherung zurückgegeben werden. |
12 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Fehlend oder ungültig company_website oder role Parameter. |
| 403 | Nein | Unzureichendes Guthaben. Sie benötigen mindestens 2 Guthaben, um eine Suche zu starten. |
| 404 | Nein | Keine gecachten Daten gefunden bei use_cache=if-present-only |
| 404 | Nein | Der/Die angegebene company_website konnte keinem bekannten Unternehmen zugeordnet werden. |
| 503 | Nein | Ressource vorübergehend nicht verfügbar. Bitte versuchen Sie es erneut. |
Meta API
Guthaben-Endpunkt anzeigen
GET /api/v1/meta/credit-balance
Kosten: 0 Guthaben / erfolgreiche Anfrage.
Ihr aktuelles Guthaben abrufen.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://nubela.co/api/v1/meta/credit-balance"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.MetaAPIApi(api_client)
response = api.get_credit_balance()
print(response)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.MetaAPIApi();
api.getCreditBalance().then(function (data) {
console.log(data);
});
Beispielantwort:
{
"credit_balance": 100000
}
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
credit_balance |
Ihr aktuelles Guthaben | 100000 |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 0 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 401 | Nein | Ungültiger API Key |
Kontakt-API
Wegwerf-E-Mail-Prüf-Endpunkt
GET /api/v1/contact/disposable-email
Kosten: 0 Guthaben / erfolgreiche Anfrage. (KOSTENLOS)
Prüfen Sie, ob eine E-Mail-Adresse ein Wegwerf- (temporäres/Einweg-)E-Mail-Konto oder ein kostenloser E-Mail-Anbieter ist.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "[email protected]" \
"https://nubela.co/api/v1/contact/disposable-email"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.ContactAPIApi(api_client)
response = api.check_disposable_email(email="[email protected]")
print(response)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
var api = new NinjaPear.ContactAPIApi();
api.checkDisposableEmail("[email protected]").then(function (data) {
console.log(data);
});
Beispielantwort:
{
"email": "[email protected]",
"is_disposable_email": true,
"is_free_email": false
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
E-Mail |
Ja | Die zu prüfende E-Mail-Adresse | [email protected] |
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
E-Mail |
Die überprüfte E-Mail-Adresse | "[email protected]" |
is_disposable_email |
Ob die E-Mail-Domain ein bekannter Wegwerf-/Temporär-E-Mail-Anbieter ist | true |
is_free_email |
Ob die E-Mail-Domain ein kostenloser E-Mail-Anbieter ist (z. B. gmail.com, yahoo.com) | false |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 0 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Ungültiges E-Mail-Format |
Monitor-API
Die Monitor API ermöglicht es Ihnen, Aktualisierungen von Unternehmen zu überwachen. Jede neue Aktualisierung wird in einem einzelnen RSS-Feed zusammengefasst. Das System überwacht Unternehmensblogs, X (Twitter)-Profile und Website-Änderungen.
Kernkonzepte
- Feed: Der übergeordnete Container. Ein Feed kann öffentlich oder privat sein. Private Feeds erfordern ein Bearer-Token, das über den URL-Abfragestring übergeben wird, um die Kompatibilität mit Standard-RSS-Readern sicherzustellen.
- Ziel: Ein bestimmtes Unternehmen/eine bestimmte Website, das/die innerhalb eines Feeds überwacht wird.
- Einstellungen: Detaillierte Einstellungen pro Ziel, die festlegen, was überwacht wird (Blog, X, Website) und wie oft.
Verwendung
Angenommen, Sie möchten eine Gruppe von Wettbewerber-Websites auf Blogbeiträge, X-Aktivitäten und Website-Änderungen überwachen – alles als einzelner RSS-Feed, den Sie in Feedly, Slack, Zapier oder einen beliebigen RSS-Reader einbinden können.
1. Feed mit Zielen erstellen — gruppieren Sie die Unternehmen, die Sie überwachen möchten, in einem Feed. Jedes Unternehmen ist ein Ziel identifiziert durch seine Website-URL.
Die Antwort enthält ein rss_url — dies ist die URL, die Sie abonnieren.
2. RSS-Feed abonnieren — kopieren Sie den rss_url und fügen Sie es einem beliebigen RSS-Reader hinzu (Feedly, Slack, Zapier usw.). Blogbeiträge, X-Beiträge und Website-Änderungen aller Ziele erscheinen als Einträge in einem einzigen Feed.
Jedes Element enthält eine Kategorie (Blog, x, website update, oder website new page). Siehe Feed-Verbrauchs-Endpunkt für das vollständige RSS-Schema.
3. Neue Ziele hinzufügen — ein neuer Wettbewerber ist in den Markt eingetreten? Fügen Sie ihn dem Feed hinzu.
4. Ziele entfernen — ein Unternehmen ist nicht mehr relevant? Entfernen Sie es aus dem Feed.
5. Überwachungs-Einstellungen ändern — standardmäßig überwacht jedes Ziel Blogbeiträge, X-Beiträge und Website-Änderungen in einem 7-Tage-Rhythmus. Verwenden Sie PATCH, um Kanäle ein- oder auszuschalten oder die Häufigkeit zu ändern.
Nur die angegebenen Felder werden geändert — weggelassene Felder behalten ihre aktuellen Werte. Siehe Einstellungsobjekt für alle verfügbaren Optionen.
Preise
| Aktion | Kosten |
|---|---|
| Erstellen Sie einen Feed | 3 Guthaben (einmalig) |
| Blog-Beitragsabruf (pro Ziel) | 1 Guthaben/Abruf |
| Website-Monitoring-Abruf (pro Ziel) | 1 Guthaben/Abruf |
| X-Beitrags-Aktualisierungsabruf (pro Ziel) | 2 Guthaben/Abruf |
| YouTube-Updates abrufen (pro Ziel) | 1 Guthaben/Abruf |
| Alle anderen Endpunkte (Feeds auflisten, beschreiben, löschen; Ziele verwalten) | 0 Guthaben |
Jeder Abruf prüft ein Ziel für eine Quelle (Blog, X, Website oder YouTube). Bei aktivierten vier Quellen kostet ein einzelnes Ziel 5 Guthaben pro Abruf (1 Blog + 2 X + 1 Website + 1 YouTube).
Beispielhafte monatliche Kosten
| Szenario | Ziele | Häufigkeit | Guthaben/Monat |
|---|---|---|---|
| VC, der 20 Portfoliounternehmen überwacht | 20 | Wöchentlich | ~433 Guthaben (3 einmalig + 20 × 5 × 4,3 Wochen) |
| Startup überwacht 10 Wettbewerber | 10 | Täglich | ~1,503 Guthaben (3 einmalig + 10 × 5 × 30 Tage) |
| Vertriebsteam überwacht 5 Interessenten-Konten (nur Blog + X, keine Website) | 5 | Täglich | ~453 Guthaben (3 einmalig + 5 × 3 × 30 Tage) |
Die einmalige Feed-Erstellungsgebühr (3 Guthaben) ist nur im ersten Monat enthalten.
Feeds auflisten Endpunkt
GET /api/v1/monitor/feeds
Kosten: 0 Guthaben / Anfrage.
Ruft eine Liste aller Feeds des authentifizierten Benutzers ab.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://nubela.co/api/v1/monitor/feeds"
Beispielantwort:
{
"feeds": [
{
"id": "feed_abc123",
"name": "SaaS Competitors",
"is_public": false,
"rss_url": "https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml?token=sec_live_987654321",
"created_at": "2026-02-24T00:00:00Z",
"target_count": 2
}
]
}
Antwort
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
feeds |
Liste von Feed-Objekten | Siehe Feed-Objekt |
Feed-Objekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
id |
Eindeutiger Feed-Bezeichner | "feed_abc123" |
name |
Feed-Name | "SaaS Competitors" |
is_public |
Ob der Feed öffentlich zugänglich ist | false |
is_suspended |
Ob der Feed derzeit gesperrt ist | false |
suspension_reason |
Grund der Sperrung, sofern gesperrt | null oder "insufficient_credits" |
rss_url |
Die RSS-Feed-URL. Bei privaten Feeds enthält sie einen Token-Abfrageparameter. | "https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml?token=sec_live_987654321" |
email_notifications |
E-Mail-Benachrichtigungsmodus | "skip" oder "on_updates" |
created_at |
ISO 8601-Erstellungszeitstempel | "2026-02-24T00:00:00Z" |
target_count |
Anzahl der Ziele im Feed | 2 |
Neuer Feed-Endpunkt
POST /api/v1/monitor/feeds
Kosten: 3 Guthaben / Anfrage (einmalige Gebühr).
Erstellt einen neuen Feed und akzeptiert optional ein Array von initialen Zielen.
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "SaaS Competitors",
"is_public": false,
"targets": [
{
"website_url": "https://stripe.com",
"settings": {
"monitor_blog": true,
"monitor_x": true,
"monitor_website": true,
"monitor_youtube": true,
"frequency_days": 7
}
},
{
"website_url": "https://vercel.com"
}
]
}' \
"https://nubela.co/api/v1/monitor/feeds"
Beispielantwort
201 Created:
{
"id": "feed_abc123",
"name": "SaaS Competitors",
"is_public": false,
"is_suspended": false,
"suspension_reason": null,
"rss_url": "https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml?token=sec_live_987654321",
"created_at": "2026-02-24T09:55:00Z",
"targets": [
{
"id": "target_xyz789",
"website_url": "https://stripe.com",
"settings": {
"monitor_blog": true,
"monitor_x": true,
"monitor_website": true,
"monitor_youtube": true,
"frequency_days": 7
},
"last_polled_at": null,
"is_baseline_complete": false,
"created_at": "2026-02-24T09:55:00Z"
},
{
"id": "target_xyz790",
"website_url": "https://vercel.com",
"settings": {
"monitor_blog": true,
"monitor_x": true,
"monitor_website": true,
"monitor_youtube": true,
"frequency_days": 7
},
"last_polled_at": null,
"is_baseline_complete": false,
"created_at": "2026-02-24T09:55:00Z"
}
]
}
Anfrage-Body
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
name |
Nein | Name des Feeds. Wird dieser weggelassen, wird ein Name automatisch generiert. | "SaaS Competitors" |
is_public |
Nein | Ob der Feed öffentlich zugänglich ist (Standard: false) |
false |
email_notifications |
Nein | E-Mail-Benachrichtigungsmodus. "on_updates" um E-Mails zu erhalten, wenn neue Updates erkannt werden, "skip" zum Deaktivieren (Standard: "skip") |
"on_updates" |
targets |
Ja | Array von anfänglichen Zielen, die dem Feed hinzugefügt werden sollen (mindestens 1 erforderlich) | Siehe Ziel-Eingabeobjekt |
Ziel-Eingabeobjekt
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
website_url |
Ja | Die Website-URL des zu überwachenden Unternehmens | "https://stripe.com" |
settings |
Nein | Monitoring-Einstellungen. Wenn weggelassen, gelten die Standardwerte. | Siehe Einstellungsobjekt |
Einstellungsobjekt
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
monitor_blog |
Nein | Blog des Unternehmens auf neue Beiträge überwachen (Standard: true) |
true |
monitor_x |
Nein | X (Twitter)-Konto des Unternehmens überwachen (Standard: true) |
true |
monitor_website |
Nein | Website des Unternehmens auf Inhaltsänderungen und neue Seiten überwachen (Standard: true) |
true |
monitor_youtube |
Nein | Offiziellen YouTube-Kanal des Unternehmens auf neue Videos überwachen (Standard: true) |
true |
frequency_days |
Nein | Wie oft nach Updates gesucht wird, in Tagen. Muss zwischen 1 und 30 liegen (Standard: 7) |
7 |
Validierungsregeln
- Mindestens eine
targetsEintrag ist erforderlich. - Jedes Ziel muss ein(e)
website_urldie erreichbar ist (HTTP 2xx-Antwort). Nicht erreichbare URLs geben zurück400. - Mindestens eine Monitor-Einstellung (
monitor_blog,monitor_x,monitor_website,monitor_youtube) muss seintruepro Ziel.
Antwort
Gibt zurück 201 Created. Die Antwort enthält das erstellte Feed-Objekt mit einem zusätzlichen targets Array mit Zielobjekt Einträge.
Zielobjekt
| Schlüssel | Beschreibung | Beispiel |
|---|---|---|
id |
Eindeutiger Zielbezeichner | "target_xyz789" |
website_url |
Die Website-URL des überwachten Unternehmens | "https://stripe.com" |
settings |
Monitoring-Einstellungsobjekt | Siehe Einstellungsobjekt |
last_polled_at |
ISO 8601-Zeitstempel der letzten Abfrage oder null wenn nie abgefragt |
null |
is_baseline_complete |
Ob der initiale Basis-Snapshot erfasst wurde | false |
created_at |
ISO 8601-Erstellungszeitstempel | "2026-02-24T09:55:00Z" |
Antwort-Header
| Header-Schlüssel | Beschreibung | Beispiel |
|---|---|---|
X-NinjaPear-Credit-Cost |
Gesamtkosten an Guthaben für diesen API-Aufruf | 3 |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Validierungsfehler (fehlende Ziele, nicht erreichbare URL, keine Monitor-Flags aktiviert) |
Feed-Beschreibungs-Endpunkt
GET /api/v1/monitor/feeds/{feed_id}
Kosten: 0 Guthaben / Anfrage.
Ruft vollständige Details eines einzelnen Feeds ab, einschließlich aller zugehörigen Ziele.
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://nubela.co/api/v1/monitor/feeds/feed_abc123"
Beispielantwort:
{
"id": "feed_abc123",
"name": "SaaS Competitors",
"is_public": false,
"is_suspended": false,
"suspension_reason": null,
"rss_url": "https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml?token=sec_live_987654321",
"created_at": "2026-02-24T09:55:00Z",
"targets": [
{
"id": "target_xyz789",
"website_url": "https://stripe.com",
"settings": {
"monitor_blog": true,
"monitor_x": true,
"monitor_website": true,
"monitor_youtube": true,
"frequency_days": 7
},
"last_polled_at": "2026-02-24T12:00:00Z",
"is_baseline_complete": true,
"created_at": "2026-02-24T09:55:00Z"
},
{
"id": "target_xyz790",
"website_url": "https://vercel.com",
"settings": {
"monitor_blog": true,
"monitor_x": true,
"monitor_website": true,
"monitor_youtube": true,
"frequency_days": 7
},
"last_polled_at": null,
"is_baseline_complete": false,
"created_at": "2026-02-24T09:55:00Z"
}
]
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
feed_id |
Ja | Die ID des Feeds | feed_abc123 |
Antwort
Gibt ein Feed-Objekt mit einem zusätzlichen targets Array mit Zielobjekt Einträge.
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 404 | Nein | Feed nicht gefunden |
Feed-Lösch-Endpunkt
DELETE /api/v1/monitor/feeds/{feed_id}
Kosten: 0 Guthaben / Anfrage.
Löscht einen Feed und alle zugehörigen Ziele dauerhaft.
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://nubela.co/api/v1/monitor/feeds/feed_abc123"
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
feed_id |
Ja | Die ID des zu löschenden Feeds | feed_abc123 |
Antwort
Gibt zurück 200 OK mit einer Bestätigungsmeldung.
{
"message": "Feed deleted."
}
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 404 | Nein | Feed nicht gefunden |
Ziel-Endpunkt hinzufügen
POST /api/v1/monitor/feeds/{feed_id}/targets
Kosten: 0 Guthaben / Anfrage.
Fügt ein neues Unternehmen zu einem bestehenden Feed hinzu.
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"website_url": "https://shopify.com",
"settings": {
"monitor_blog": true,
"monitor_x": true,
"monitor_website": false,
"frequency_days": 3
}
}' \
"https://nubela.co/api/v1/monitor/feeds/feed_abc123/targets"
Beispielantwort
201 Created:
{
"id": "target_xyz791",
"website_url": "https://shopify.com",
"settings": {
"monitor_blog": true,
"monitor_x": true,
"monitor_website": false,
"frequency_days": 3
},
"last_polled_at": null,
"is_baseline_complete": false,
"created_at": "2026-02-24T10:00:00Z"
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
feed_id |
Ja | Die ID des Feeds, dem das Ziel hinzugefügt werden soll | feed_abc123 |
Anfrage-Body
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
website_url |
Ja | Die Website-URL des zu überwachenden Unternehmens | "https://shopify.com" |
settings |
Nein | Monitoring-Einstellungen. Wenn weggelassen, gelten die Standardwerte. | Siehe Einstellungsobjekt |
Antwort
Gibt ein Zielobjekt.
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 404 | Nein | Feed nicht gefunden |
Ziel-Endpunkt aktualisieren
PATCH /api/v1/monitor/feeds/{feed_id}/targets/{target_id}
Kosten: 0 Guthaben / Anfrage.
Ändert die Monitoring-Einstellungen für ein bestimmtes Ziel.
curl -X PATCH \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"settings": {
"frequency_days": 1,
"monitor_website": true
}
}' \
"https://nubela.co/api/v1/monitor/feeds/feed_abc123/targets/target_xyz789"
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
feed_id |
Ja | Die ID des Feeds | feed_abc123 |
target_id |
Ja | Die ID des zu aktualisierenden Ziels | target_xyz789 |
Anfrage-Body
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
settings |
Ja | Teilweise Aktualisierung der Einstellungen. Es werden nur die angegebenen Felder geändert. | Siehe Einstellungsobjekt |
Antwort
Gibt das aktualisierte Zielobjekt.
Beispielantwort:
{
"id": "target_xyz789",
"website_url": "https://stripe.com",
"settings": {
"monitor_blog": true,
"monitor_x": true,
"monitor_website": true,
"monitor_youtube": true,
"frequency_days": 1
},
"last_polled_at": "2026-02-24T12:00:00Z",
"is_baseline_complete": true,
"created_at": "2026-02-24T09:55:00Z"
}
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Keine gültigen Einstellungen angegeben |
| 404 | Nein | Feed oder Ziel nicht gefunden |
Ziel-Endpunkt entfernen
DELETE /api/v1/monitor/feeds/{feed_id}/targets/{target_id}
Kosten: 0 Guthaben / Anfrage.
Beendet die Überwachung einer Website und entfernt sie aus dem Feed.
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://nubela.co/api/v1/monitor/feeds/feed_abc123/targets/target_xyz789"
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
feed_id |
Ja | Die ID des Feeds | feed_abc123 |
target_id |
Ja | Die ID des zu entfernenden Ziels | target_xyz789 |
Antwort
Gibt zurück 200 OK mit einer Bestätigungsmeldung.
{
"message": "Target deleted."
}
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 404 | Nein | Feed oder Ziel nicht gefunden |
Feed-Verbrauchs-Endpunkt
GET /api/v1/monitor/feeds/{feed_id}/rss.xml
Kosten: 0 Guthaben / Anfrage (Monitoring-Kosten fallen pro Abruf für jedes Ziel an – siehe Preise).
Gibt einen Standard-RSS 2.0 XML-Feed zurück, der von RSS-Readern (Feedly, Slack, Browser-Erweiterungen usw.) genutzt wird.
Wenn die Feed- is_public ist false, muss ein gültiger Token als token Query-Parameter.
curl "https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml?token=YOUR_RSS_TOKEN"
Beispielantwort:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>SaaS Competitors</title>
<link>https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml</link>
<description>Automated updates for Stripe, Shopify, and Vercel.</description>
<lastBuildDate>Tue, 24 Feb 2026 10:00:00 +0800</lastBuildDate>
<item>
<title>Stripe: Expanding our Global Payment Network</title>
<link>https://stripe.com/blog/global-network-2026</link>
<guid isPermaLink="true">https://stripe.com/blog/global-network-2026</guid>
<pubDate>Mon, 23 Feb 2026 14:30:00 +0800</pubDate>
<category>blog</category>
<dc:creator>Stripe</dc:creator>
<description>Stripe is expanding its payments infrastructure to 15 new countries, enabling merchants to accept local payment methods seamlessly.</description>
<enclosure url="https://b.stripecdn.com/blog/og-global-network.jpg" length="150000" type="image/jpeg" />
</item>
<item>
<title>Vercel on X: "Next.js 16 is here..."</title>
<link>https://x.com/vercel/status/123456789</link>
<guid isPermaLink="false">x_post_123456789</guid>
<pubDate>Sun, 22 Feb 2026 10:15:00 +0800</pubDate>
<category>x</category>
<dc:creator>Vercel</dc:creator>
<description>Next.js 16 is here, featuring completely redesigned server components and faster builds. Read the changelog.</description>
<enclosure url="https://pbs.twimg.com/media/vercel-next16.jpg" length="85000" type="image/jpeg" />
</item>
<item>
<title>Shopify: Pricing Page</title>
<link>https://shopify.com/pricing</link>
<guid isPermaLink="false">website_update_shopify_pricing_1708416000</guid>
<pubDate>Fri, 20 Feb 2026 08:00:00 +0800</pubDate>
<category>website update</category>
<dc:creator>Shopify</dc:creator>
<description>Compare Shopify's pricing plans to find the best fit for your business. Start your free trial today.</description>
<enclosure url="https://cdn.shopify.com/assets/og-pricing.png" length="210000" type="image/png" />
</item>
<item>
<title>Shopify: Enterprise Plus Solutions</title>
<link>https://shopify.com/enterprise-plus</link>
<guid isPermaLink="true">https://shopify.com/enterprise-plus</guid>
<pubDate>Thu, 19 Feb 2026 11:20:00 +0800</pubDate>
<category>website new page</category>
<dc:creator>Shopify</dc:creator>
<description>Unleash your brand's potential with Shopify Enterprise Plus. High-volume solutions for global commerce.</description>
<enclosure url="https://cdn.shopify.com/assets/og-enterprise.jpg" length="320000" type="image/jpeg" />
</item>
</channel>
</rss>
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
feed_id |
Ja | Die ID des Feeds | feed_abc123 |
Antwortformat
Die Antwort ist ein Standard-RSS-2.0-XML-Dokument. Die Struktur ist wie folgt:
Kanal-Elemente
| Element | Beschreibung | Beispiel |
|---|---|---|
<title> |
Der Feed-Name | SaaS Competitors |
<link> |
URL des RSS-Feeds | https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml |
<description> |
Automatisch generierte Zusammenfassung der überwachten Unternehmen | Automated updates for Stripe, Shopify, and Vercel. |
<lastBuildDate> |
RFC 2822-Zeitstempel des letzten Feed-Aufbaus | Tue, 24 Feb 2026 10:00:00 +0800 |
Element-Bestandteile
Jede(r/s) <item> repräsentiert ein einzelnes Update von einem überwachten Unternehmen.
| Element | Beschreibung | Beispiel |
|---|---|---|
<title> |
Aktualisierungstitel, vorangestellt mit dem Unternehmensnamen | Stripe: Expanding our Global Payment Network |
<link> |
URL des Originalinhalts | https://stripe.com/blog/global-network-2026 |
<guid> |
Eindeutiger Bezeichner für das Element. isPermaLink ist true wenn die GUID eine URL ist. |
https://stripe.com/blog/global-network-2026 |
<pubDate> |
RFC 2822-Veröffentlichungszeitstempel | Mon, 23 Feb 2026 14:30:00 +0800 |
<category> |
Aktualisierungstyp (siehe Kategorien unten) | Blog |
<dc:creator> |
Unternehmensname (verwendet Dublin-Core-Namespace) | Stripe |
<description> |
Zusammenfassung oder Auszug der Aktualisierung | Textinhalt |
<enclosure> |
Optionaler Bildanhang mit url, length (Bytes) und type (MIME-Typ) Attribute |
<enclosure url="..." length="150000" type="image/jpeg" /> |
RSS-Elementkategorien
Jede(r/s) <item> enthält einen <category> Element, das den Aktualisierungstyp angibt:
| Kategorie | Beschreibung |
|---|---|
Blog |
Ein neuer Blogbeitrag des Unternehmens |
x |
Ein Beitrag vom X (Twitter)-Konto des Unternehmens |
website update |
Eine Änderung auf einer bestehenden Seite erkannt |
website new page |
Eine neue Seite auf der Website des Unternehmens erkannt |
website unreachable |
Die Website des Unternehmens ist nicht mehr erreichbar (einmalig ausgelöst) |
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 403 | Nein | Fehlender oder ungültiger Token für einen privaten Feed |
| 404 | Nein | Feed nicht gefunden |
Feed-Endpunkt aktualisieren
PATCH /api/v1/monitor/feeds/{feed_id}
Kosten: 0 Guthaben / Anfrage.
Feed-Einstellungen wie Name, Sichtbarkeit oder Sperrstatus aktualisieren. Feeds, die gesperrt wurden für insufficient_credits werden automatisch fortgesetzt, wenn Guthaben aufgeladen wird.
# Suspend a feed
curl -X PATCH \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "is_suspended": true, "suspension_reason": "manual" }' \
"https://nubela.co/api/v1/monitor/feeds/feed_abc123"
import requests
response = requests.patch(
"https://nubela.co/api/v1/monitor/feeds/feed_abc123",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"is_suspended": True, "suspension_reason": "manual"},
)
const response = await fetch(
"https://nubela.co/api/v1/monitor/feeds/feed_abc123",
{
method: "PATCH",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ is_suspended: true, suspension_reason: "manual" }),
},
);
Beispielantwort (identisch mit Describe Feed):
{
"id": "feed_abc123",
"name": "My Feed",
"is_public": false,
"is_suspended": true,
"suspension_reason": "manual",
"rss_url": "https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml?token=...",
"created_at": "2025-01-15T10:30:00Z",
"targets": [...]
}
URL-Parameter
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
feed_id |
Ja | Die ID des Feeds | feed_abc123 |
Anfrage-Body
| Parameter | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|
name |
Nein | Neuer Feed-Name | "My Feed" |
is_public |
Nein | Ob der RSS-Feed öffentlich zugänglich ist | true |
is_suspended |
Nein | Setzen true zum Pausieren, false zum Fortsetzen |
true |
suspension_reason |
Nein | Grund der Sperrung (nur wenn is_suspended ist true, Standard "manual") |
"manual" |
email_notifications |
Nein | E-Mail-Benachrichtigungsmodus. "on_updates" um E-Mails zu erhalten, wenn neue Updates erkannt werden, "skip" zum Deaktivieren |
"on_updates" |
Mindestens ein Feld muss angegeben werden.
Antwort
Gibt das aktualisierte Feed-Objekt mit einem zusätzlichen targets Array mit Zielobjekt Einträge.
Fehlercodes
| Statuscode | Berechnet? | Beschreibung |
|---|---|---|
| 400 | Nein | Keine gültigen Felder angegeben |
| 404 | Nein | Feed nicht gefunden |
Claude AI
NinjaPear stellt einen MCP (Model Context Protocol)-Server für die direkte Integration mit Claude bereit. Damit können Sie B2B-Unternehmensdaten im Gesprächsstil abfragen — fragen Sie Claude nach den Kunden, Investoren, der Mitarbeiterzahl und mehr eines beliebigen Unternehmens.
Schnellstart
- Ihren Connector-String abrufen über das Dashboard
- Fügen Sie NinjaPear als Connector in Claude hinzu (siehe Einrichtungsanweisungen unten)
- Starten Sie ein neues Gespräch und fragen Sie B2B-Unternehmensdaten im Dialog ab
Einrichtung
Ihr Verbindungsstring ist verfügbar auf der Dashboard. Es sieht folgendermaßen aus: https://nubela.co/mcp/sse?api_key=YOUR_API_KEY
Claude Platform (Empfohlen)
- Ihren Connector-String abrufen über das Dashboard
- Stellen Sie sicher, dass Sie bei Claude angemeldet sind, und besuchen Sie dann: Benutzerdefinierten Connector hinzufügen
- Geben Sie Folgendes ein:
- Name:
NinjaPear - Remote-MCP-Server-URL: Fügen Sie Ihren Connector-String aus Schritt 1 ein
- Name:
- Klicken Sie Connector hinzufügen
- Starten Sie ein neues Gespräch und bitten Sie Claude, NinjaPear zu verwenden
Claude Code CLI
Ihren Connector-String abrufen über das Dashboard, dann ausführen:
claude mcp add ninjapear --transport sse "YOUR_CONNECTOR_STRING"
Verfügbare Tools
| Tool | Beschreibung | Kosten |
|---|---|---|
get_customer_listing |
Kunden, Investoren und Partner eines Unternehmens abrufen | 1 + 2/Unternehmen |
get_company_details |
Unternehmensinformationen, Führungskräfte und Finanzdaten abrufen | 2–4 Guthaben |
get_employee_count |
Mitarbeiterzahl eines Unternehmens abrufen | 2 Guthaben |
check_disposable_email |
Prüfen, ob E-Mail Wegwerf/kostenlos ist | KOSTENLOS |
get_credit_balance |
Ihr Guthaben prüfen | KOSTENLOS |
get_company_logo_url |
Unternehmenslogo-URL abrufen | KOSTENLOS |
list_feeds |
Alle Ihre Monitoring-Feeds auflisten | 0 Guthaben |
create_feed |
Einen neuen Monitoring-Feed mit Zielen erstellen | 3 Guthaben |
describe_feed |
Feed-Details mit allen Zielen abrufen | 0 Guthaben |
update_feed |
Feed-Name, Sichtbarkeit oder Sperrung aktualisieren | 0 Guthaben |
delete_feed |
Einen Feed und alle zugehörigen Ziele löschen | 0 Guthaben |
add_target |
Ein Unternehmen zum Überwachen in einem Feed hinzufügen | 0 Guthaben |
update_target |
Monitoring-Einstellungen für ein Ziel aktualisieren | 0 Guthaben |
remove_target |
Ein Unternehmen aus einem Feed entfernen | 0 Guthaben |
consume_feed |
Die neuesten Aktualisierungen aus einem Feed lesen | KOSTENLOS |
Beispiel-Prompts
Nach der Verbindung können Sie Claude Fragen stellen wie:
Wettbewerbsanalyse
Sie sind ein Produktmanager und verfolgen, was Ihre Wettbewerber tun.
- "Monitor stripe.com, brex.com, und ramp.com for blog posts and website changes. Check daily."
- "What are the latest updates from my competitor feed?"
- "Get company details for each of my competitors — I want to know their employee counts and executives"
- "Who are Stripe's customers? Cross-reference them with Brex's customers to find overlap"
VC-Portfolio-Monitoring
Sie sind ein VC und möchten die Aktivitäten Ihrer Portfoliounternehmen im Blick behalten. Laden Sie eine CSV-Datei oder einen Screenshot Ihrer Portfoliounternehmen in Claude hoch und fragen Sie dann:
- "Create a monitoring feed for all these companies — track their blogs and website changes weekly"
- "Show me the latest updates across my portfolio feed"
- "Get employee counts for each of my portfolio companies — I want to see who's growing fastest"
- "Which of my portfolio companies have the most customers?"
Sales Prospecting
Sie sind im Vertrieb und möchten Accounts vor der Kontaktaufnahme recherchieren.
- "Get company details for acme.com — who are their executives, and what industry are they in?"
- "How many employees does acme.com have?"
- "Who are Salesforce's customers? Get company details for the top 5 by employee count"
- "Is [email protected] a real business email or a disposable address?"
- "Check if these emails are disposable: [email protected], [email protected]"
Marktforschung
Sie sind ein Analyst und kartieren eine Branchenlandschaft.
- "Find the investors behind Figma, Canva, and Miro. Who are the common VCs?"
- "Get company details for anthropic.com, openai.com, und cohere.com — compare their founding year, employee count, and specialties"
- "Who are the partners of Shopify? Get employee counts for each partner"
- "Get logos for stripe.com, square.com, und adyen.com — I'm building a market map"
Monitoring und Benachrichtigungen
Sie möchten ein fortlaufendes Monitoring einrichten und später zurückkehren, um Aktualisierungen zu prüfen.
- "Create a feed called 'AI Companies' to track openai.com, anthropic.com, and deepmind.google — monitor blogs and X posts"
- "Add mistral.ai to my AI Companies feed"
- "Change the monitoring frequency for Anthropic to daily — they ship fast"
- "Pause my AI Companies feed for now, I'll resume it next quarter"
- "What's my current credit balance? How long will my monitoring last at this rate?"
Kontoverwaltung
Schnelle Übersicht über Ihre NinjaPear-Nutzung.
- "What's my credit balance?"
- "How many credits do I have left?"
Fehlerbehandlung
Fehler werden als beschreibende Meldungen zurückgegeben, die Claude Ihnen erläutert:
| Fehler | Nachricht |
|---|---|
| Ungültiger API Key | "Error: 401 Unauthorized" |
| Unzureichendes Guthaben | "Error: 402 Payment Required" |
| Ratenlimit erreicht | "Error: 429 Too Many Requests" |
| Serverfehler | "Error: 500 Internal Server Error" |
Technische Details
MCP Protocol
Der NinjaPear MCP-Server implementiert den Model Context Protocol Spezifikation – der offene Standard von Anthropic zur Verbindung von KI-Assistenten mit externen Datenquellen und Tools.
Transport
Wir verwenden Server-Sent Events (SSE) als Transport für die Echtzeitkommunikation:
- SSE-Endpunkt:
GET /mcp/sse?api_key=YOUR_API_KEY - Nachrichten-Endpunkt:
POST /mcp/messages/ - Health Check:
GET /mcp/health
Authentifizierung
Übergeben Sie Ihren API-Schlüssel über den api_key Query-Parameter oder dem X-API-Key Header
