NAV Navigation
cURL Python JavaScript

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:

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

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:

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:

  1. Wir werden dokumentierte Parameter und Antwortattribute nicht entfernen.
  2. Wir werden den Datentyp, wie in unseren API-Antworten dokumentiert, nicht ändern.

Die folgenden Änderungen gelten jedoch nicht als Breaking Changes:

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:

Unternehmenslogo-Beispiel

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

Avg 10.4s

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

Schnell Ø 10,5s Detailliert Ø 38,7 s

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:

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:

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

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.

curl -X POST \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "SaaS Competitors", "targets": [ { "website_url": "https://stripe.com" }, { "website_url": "https://shopify.com" }, { "website_url": "https://vercel.com" } ] }' \ "https://nubela.co/api/v1/monitor/feeds"

Die Antwort enthält ein rss_url — dies ist die URL, die Sie abonnieren.

{ "id": "feed_abc123", "rss_url": "https://nubela.co/.../rss.xml?token=sec_live_..." }

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.

Stripe: Expanding our Payment Network [blog] Vercel on X: "Next.js 16 is here" [x] Shopify: Pricing Page [website update]

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.

curl -X POST \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "website_url": "https://linear.app" }' \ "https://nubela.co/api/v1/monitor/feeds/feed_abc123/targets"

4. Ziele entfernen — ein Unternehmen ist nicht mehr relevant? Entfernen Sie es aus dem Feed.

curl -X DELETE \ -H "Authorization: Bearer YOUR_API_KEY" \ "https://nubela.co/api/v1/monitor/feeds/feed_abc123/targets/target_xyz789"

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.

curl -X PATCH \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "settings": { "monitor_x": false, "frequency_days": 1 } }' \ "https://nubela.co/api/v1/monitor/feeds/feed_abc123/targets/target_xyz789"

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

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

  1. Ihren Connector-String abrufen über das Dashboard
  2. Fügen Sie NinjaPear als Connector in Claude hinzu (siehe Einrichtungsanweisungen unten)
  3. 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

  1. Ihren Connector-String abrufen über das Dashboard
  2. Stellen Sie sicher, dass Sie bei Claude angemeldet sind, und besuchen Sie dann: Benutzerdefinierten Connector hinzufügen
  3. Geben Sie Folgendes ein:
    • Name: NinjaPear
    • Remote-MCP-Server-URL: Fügen Sie Ihren Connector-String aus Schritt 1 ein
  4. Klicken Sie Connector hinzufügen
  5. 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.

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:

Sales Prospecting

Sie sind im Vertrieb und möchten Accounts vor der Kontaktaufnahme recherchieren.

Marktforschung

Sie sind ein Analyst und kartieren eine Branchenlandschaft.

Monitoring und Benachrichtigungen

Sie möchten ein fortlaufendes Monitoring einrichten und später zurückkehren, um Aktualisierungen zu prüfen.

Kontoverwaltung

Schnelle Übersicht über Ihre NinjaPear-Nutzung.

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:

Authentifizierung

Übergeben Sie Ihren API-Schlüssel über den api_key Query-Parameter oder dem X-API-Key Header