NinjaPear 概要
NinjaPear は、データの所有権と倫理的なデータ調達を重視した B2B 企業インテリジェンス プラットフォームです。ファーストパーティプロバイダーとして、独自かつ法的に審査済みのデータによる持続可能なエコシステムを維持しています。私たちのミッションは信頼性の高いデータインフラを提供し、企業が付加価値の高いアプリケーションやワークフローを自信を持って開発・拡大できるよう支援することです。
AI エージェント向け
AIコーディングエージェントで開発中ですか?Claude、Cursor、ChatGPT などの LLM や AI ツール向けに最適化された、プレーン Markdown 版のドキュメントをご利用ください:
- LLM 向けドキュメント(Markdown) — プレーンテキスト形式の完全なAPIリファレンス。任意のAIチャットにペーストまたはドラッグ&ドロップして使用できます
- llms.txt — AIエージェント検出用の軽量インデックス
- OpenAPI 3.0 仕様 — 機械可読なAPIスキーマ
AI Skill
NinjaPear AI Skill は、コーディングエージェントがアプリケーション内で正確な NinjaPear 統合コードを記述するための手続き的知識を提供します。単一のコマンドでインストールするだけで、エージェントは認証方法、適切なエンドポイントの選択、SDK コードの生成、エッジケースの処理を習得でき、コスト意識も標準で組み込まれています。
前提条件 — NinjaPear API キー(取得元: nubela.co/dashboard および Node.js 18 以降。
を使用してスキルをインストールします。 npx skills CLI。エージェントのコマンドを選択します。
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
スキルが提供する機能
インストール後、スキルはコーディングエージェントに NinjaPear を正しく操作するための手順的な知識を提供します:
| 機能 | 説明 |
|---|---|
| 認証設定 | 環境変数と SDK 初期化を介して API キーを構成する |
| エンドポイントの選択 | コストを意識して適切な NinjaPear API エンドポイントを選択する |
| Python SDKの統合 | を使用して正しいコードを生成します。 ninjapear Pythonパッケージ |
| JavaScript SDKの統合 | を使用して正しいコードを生成します。 ninjapear npmパッケージ |
| ページネーションの処理 | リストのエンドポイントにカーソルベースのページネーションを実装する |
| レート制限の処理 | 適切な再試行およびバックオフ ロジックによりレート制限を尊重する |
| エラー処理 | すべての NinjaPear エラー コード (401、403、404、429、500、503) を処理します。 |
| タイムアウト設定 | 長時間実行されるエンドポイントに適切なタイムアウトを設定する |
5歳児にも分かるように説明してください
- 以下を使用して任意の企業の顧客、投資家、およびパートナーのリストを取得する 顧客一覧エンドポイント.
- 任意の企業の競合他社とその競合理由を調べるには、 競合他社一覧エンドポイント.
- 以下を使用して企業の製品・サービスカタログを取得する Product Listing エンドポイント.
- 以下を使用して任意の企業のロゴを無料で取得する 企業ロゴエンドポイント.
- 以下を使用して業種、概要、役員、オフィスの所在地などの詳細な企業情報を取得する 企業詳細エンドポイント.
- 以下を使用して任意の企業の従業員数を取得する 従業員数エンドポイント.
- 以下を使用して任意の企業の最新のブログ投稿およびソーシャルメディアの更新情報を取得する 企業アップデートエンドポイント.
- 以下を使用して任意の企業の資金調達履歴および投資家の全情報を取得する 企業資金調達エンドポイント.
- 企業名を以下で正規のウェブサイト URL に解決します。 ウェブサイトルックアップエンドポイント.
- 氏名と企業ドメインから業務用メールアドレスを検索するには、 業務用メールアドレス エンドポイント.
- 業務用メールアドレスを使用して、人物のプロフィール、職歴、学歴を参照するには Person Profile エンドポイント.
- 競合他社で同じ役職に就いているターゲットに類似した人物を探すには、 類似人物エンドポイント.
- メールアドレスが使い捨てまたは無料メールプロバイダーのものかどうかを、 使い捨てメールアドレス確認エンドポイント.
- RSS を使用して企業の新しいブログ投稿・ツイート・ウェブサイト変更をモニタリングするには Monitor API.
- 残りの API クレジットを クレジット残高確認エンドポイント.
認証
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);
});
NinjaPear の API はベアラートークンを使用してユーザーを認証します。各ユーザーには、以下の場所でランダムに生成されたシークレットキーが割り当てられます: ダッシュボードのAPI セクション.
ベアラートークンは次の場所に挿入されます Authorization ヘッダー。
クライアントライブラリ
NinjaPear API とのインテグレーションを容易にするため、JavaScript および Python の公式クライアントライブラリを提供しています。
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
レート制限
レート制限は製品アカウント単位で適用され、その製品配下のすべての API キーで共有されます。
有料 API エンドポイントの制限: 50 リクエスト毎分。
レート制限については、Monitor のフィードおよびターゲット管理エンドポイントは、エンドポイントのクレジットコストがゼロであっても、有料 API トラフィックとしてカウントされます。 0.
高負荷時には、すべてのユーザーがサービスを継続して利用できるよう、全アカウントのレート制限を一時的に強化する場合があります。
HTTP レスポンスコードとして 429 レート制限に達した場合。また、HTTP 429 弊社側のキャパシティに制限がある場合。
429 エラーを処理し、指数バックオフを適用してください。
レート制限時のレスポンスには以下が含まれます:
| ヘッダー | 説明 |
|---|---|
Retry-After |
リトライまでの待機秒数 |
X-RateLimit-Limit |
現在の1分間に許可される最大リクエスト数 |
X-RateLimit-Remaining |
現在の分間における残りリクエスト数 |
X-RateLimit-Reset |
現在の分がリセットされる Unix タイムスタンプ |
無料 API のレート制限
無料 API を持続的に提供するため、無料 API のレート制限はサブスクリプションプランによって異なります:
- 無料・トライアル・従量課金プラン: 2リクエスト/分
- $49/月プラン:20リクエスト/分
- $299/月プラン:50リクエスト/分
- $899/月プラン:100リクエスト/分
- $1899/月プラン:300リクエスト/分
無料 API のレート制限は、Company Logo、Disposable Email Checker、クレジット残高の確認、および RSS フィードの利用に適用されます。
クレジット
有効なリクエストには少なくとも 0.1 無料の API エンドポイントでない限り、処理にクレジットが必要です。
リクエストが正常に解析された場合にのみ、クレジットが消費されます。
成功したリクエストとは、以下を返すリクエストです: 200 HTTP ステータスコード。
キャッシュの請求
次の条件を持つエンドポイントについては、 use_cache パラメーターを指定すると、同一の正規化リクエストが以前に支払い済みの同一キャッシュレコードバージョンから提供される場合、再度課金されません。レスポンスには X-NinjaPear-Credit-Cost: 0 これらの繰り返しキャッシュヒットの場合。
use_cache=never 常に新しい取得を実行し、通常通り課金されます。 use_cache=if-recent キャッシュされたレコードが当該エンドポイントの鮮度ウィンドウ内にある場合のみ、無料の再実行が適用されます。
ページネーション対応エンドポイントでは、同一のクエリ・フィルター・カーソルチェーンおよび条件で既に課金済みのページに限り、無料で再アクセスできます。 page_size。有料のページネーションページは、再度キャッシュヒット時に next_page 値。まだ支払われていない後続ページは通常通り課金されます。
タイムアウトと API レスポンス時間
NinjaPear API エンドポイントは 30-60 秒で完了します。
スループットを最大化するため、API サービスへの並列リクエストを推奨します。詳細は この投稿 スループットを最大化する方法について。
タイムアウトの推奨値は 100 秒。
エラー
以下は API が返す可能性のある一般的なエラーです:
| HTTP コード | 課金されますか? | 説明 |
|---|---|---|
| 400 | いいえ | 無効なパラメータが指定されました。詳細はドキュメントおよびメッセージ本文を参照してください |
| 401 | いいえ | 無効な API Key |
| 403 | いいえ | クレジットが不足しています |
| 404 | はい | リクエストされたリソース(例:ユーザープロフィール、企業)が見つかりませんでした |
| 410 | いいえ | この API は非推奨です |
| 429 | いいえ | レート制限中です。再試行してください |
| 500 | いいえ | API でエラーが発生しています。 お問い合わせ サポートについては |
| 503 | いいえ | エンリッチメントに失敗しました。再試行してください。 |
以下の場合、料金は発生しません: 失敗したリクエスト.
後方互換性の保証
NinjaPear は API の後方互換性を維持することにコミットしており、安心してインテグレーションいただけます。後方互換性の保証により、既存の機能を破壊する変更の導入や、廃止期間なしのエンドポイント削除は行いません。
具体的には、以下の方法では破壊的変更を導入しません:
- ドキュメントに記載されているパラメーターおよびレスポンス属性は削除しません。
- API レスポンスのドキュメントに記載されているデータ型は変更しません。
ただし、以下は破壊的変更とはみなされません:
- API エンドポイントへの属性・パラメーターを、事前通知なく追加する場合があります。
- API エンドポイントへの追加のレスポンスまたはリクエストヘッダーを、事前通知なく追加する場合があります。
新しいレスポンス属性やヘッダーが追加された場合でも動作が壊れないような実装方式で API をインテグレーションすることを強くお勧めします。
API に変更を加える場合は、スムーズな移行を確保するために明確なドキュメントと十分な事前通知(30 日間)を提供します。通知はニュースレターメール、Twitter/X の投稿、およびブログの更新を通じて共有されます。
Customer API
顧客一覧エンドポイント
GET /api/v1/customer/listing
コスト: 1 クレジット / リクエスト + 2 クレジット / 返された企業。リクエストが空の結果を返した場合でもクレジットが課金されます。
対象企業の顧客、投資家、パートナー/プラットフォームの可能性が高いリストを、関係タイプ別に分類して取得します。
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);
});
レスポンス例:
{
"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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
ウェブサイト |
はい | 対象企業の Web サイト URL または企業名。Web サイト URL(例: https://www.stripe.com) は精度向上のために強く推奨されます。 |
https://www.stripe.com |
cursor |
いいえ | ページネーションカーソル( next_page 以前のレスポンスで |
abc123 |
page_size |
いいえ | 1ページあたりの結果数(1〜200、デフォルト: 200) | 50 |
quality_filter |
いいえ | 低品質な結果をフィルタリングします(例えば次のような不審な TLD: .top, .xyz および到達不能なウェブサイト)。に設定すると false すべての結果を含めます。(デフォルト: true) |
false |
use_cache |
いいえ | キャッシュの使用を制御します。大文字・小文字を区別しません。値: if-recent (最終スクレイプが29日以内の場合はキャッシュデータを使用し、それ以外はライブエンリッチを実行)、 if-present (デフォルト;まずキャッシュを返し、存在しない場合はライブエンリッチを実行)、 if-present-only (キャッシュのみ返却;存在しない場合は404を返す)、 never (常にライブエンリッチを実行します)。無効な値はエンドポイントのデフォルトにフォールバックされます。 |
if-present |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
customers |
対象企業の見込み顧客として考えられる企業のリスト。対象の製品・サービスに対価を支払うエンティティ。 | CustomerCompany オブジェクトの一覧 |
investors |
対象企業の投資家(ベンチャーキャピタル、PEファンド、エンジェルネットワーク)である企業のリスト。 | CustomerCompany オブジェクトの一覧 |
partner_platforms |
対象企業が利用またはインテグレーションしているパートナー、プラットフォーム、またはサービスプロバイダー(テックスタック、メディア、エージェンシー)の企業リスト。 | CustomerCompany オブジェクトの一覧 |
next_page |
ページネーションのカーソルとして機能する API URI。API キーを付加してこの URL にアクセスすると、次のページの結果が取得できます。最終ページの場合は null になります。 | https://nubela.co/api/v1/customer/list?... |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 対象企業について十分な情報を抽出できません |
| 404 | いいえ | 以下のときにキャッシュデータが見つかりませんでした: use_cache=if-present-only |
顧客会社
| キー | 説明 | 例 |
|---|---|---|
name |
会社名 | "Apple" |
description |
企業の簡単な説明 | "Apple Inc. designs, manufactures, and markets smartphones..." |
tagline |
企業のキャッチコピーまたはスローガン | "Think different." |
ウェブサイト |
企業ウェブサイト URL | "https://www.apple.com" |
company_logo_url |
この企業の企業ロゴ API への URL です。提供元: 企業ロゴエンドポイント。Bearer トークンで認証してください。 null ウェブサイトがない場合。 |
"https://nubela.co/api/v1/company/logo?website=https%3A%2F%2Fwww.apple.com" |
id |
一意識別子 | "abc123" |
industry |
GICS 8桁業種コード | 45202030 |
specialties |
企業の専門分野のリスト | ["Technology"] |
x_profile |
X (Twitter) プロフィール URL | "https://x.com/Apple" |
注意事項:
company_logo_url: この URL は 企業ロゴエンドポイント。Bearer トークン(メイン API と同じ)で認証してください。これらは一時的なリンクです。レスポンスが返され次第、URL から画像をダウンロードし、自社側でホストすることを推奨します。
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 10 |
X-NinjaPear-Cache-Age-Days |
返されたデータの経過日数(日単位)。 0 ライブエンリッチメントから最新データが返された場合。 |
12 |
Competitor API
競合他社一覧エンドポイント
GET /api/v1/competitor/listing
コスト: 2 クレジット / 返された競合他社。最小 5 クレジット / リクエスト。結果が見つからない場合も請求されます。
対象企業の競合他社リストを、競合理由とともに取得します。
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);
});
レスポンス例:
{
"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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
ウェブサイト |
はい | 対象企業の Web サイト URL または企業名。Web サイト URL(例: https://www.stripe.com) は精度向上のために強く推奨されます。 |
https://www.stripe.com |
use_cache |
いいえ | キャッシュの使用を制御します。大文字・小文字を区別しません。値: if-recent (最終スクレイプが29日以内の場合はキャッシュデータを使用し、それ以外はライブエンリッチを実行)、 if-present (デフォルト;まずキャッシュを返し、存在しない場合はライブエンリッチを実行)、 if-present-only (キャッシュのみ返却;存在しない場合は404を返す)、 never (常にライブエンリッチを実行します)。無効な値はエンドポイントのデフォルトにフォールバックされます。 |
if-present |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
competitors |
対象企業の競合他社リスト。 | 一覧: 競合会社 オブジェクト |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 対象企業について十分な情報を抽出できません |
| 404 | いいえ | 以下のときにキャッシュデータが見つかりませんでした: use_cache=if-present-only |
競合会社
| キー | 説明 | 例 |
|---|---|---|
company_details_url |
この競合他社の企業詳細エンドポイントへの URL です。ベアラートークンで認証すると、企業の全詳細情報を取得できます。 | "https://nubela.co/api/v1/company/details?website=https://www.adyen.com" |
ウェブサイト |
企業ウェブサイト URL | "https://www.adyen.com" |
competition_reason |
この企業が競合他社とみなされる理由。次の値のいずれか: 競合理由 enum。 | "product_overlap" |
競合理由列挙型
| 値 | 説明 |
|---|---|
organic_keyword_overlap |
両社は類似したオーガニック検索キーワードでランクインしています |
product_overlap |
両社は類似した製品またはサービスを提供しています |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 4 |
X-NinjaPear-Cache-Age-Days |
返されたデータの経過日数(日単位)。 0 ライブエンリッチメントから最新データが返された場合。 |
12 |
Product API
Product Listing エンドポイント
GET /api/v1/product/listing
コスト: 3 クレジット / リクエスト。有効な企業に対して製品が見つからない場合もクレジットが請求されます。
対象企業が提供する製品およびサービスのリストを取得します。
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);
});
レスポンス例:
{
"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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
ウェブサイト |
はい | 対象企業の Web サイト URL または企業名。Web サイト URL(例: https://matterport.com) は精度向上のために強く推奨されます。 |
https://matterport.com |
use_cache |
いいえ | キャッシュの使用を制御します。大文字・小文字を区別しません。値: if-recent (デフォルト;最終スクレイプが29日以内の場合はキャッシュデータを使用し、それ以外はライブエンリッチを実行)、 if-present (まずキャッシュを返し、存在しない場合はライブエンリッチを実行)、 if-present-only (キャッシュのみ返却;存在しない場合は404を返す)、 never (常にライブエンリッチを実行します)。無効な値はエンドポイントのデフォルトにフォールバックされます。 |
if-recent |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
products |
対象企業が提供する製品・サービスのリスト。企業は有効だが製品・サービスが検出されない場合は空のリストを返します。 | 一覧: Product オブジェクト オブジェクト |
Product オブジェクト
| キー | 説明 | 例 |
|---|---|---|
name |
製品またはサービスの正式名称。個別に名称が付いた製品、SKU、プラットフォーム、または個別に価格設定された提供物は、それぞれ別の行として返されます。 | "Matterport Digital Twin Platform" |
tagline |
利用可能な場合、製品の1行キャッチフレーズ。 | "Capture, share, and collaborate in immersive 3D." |
description |
製品の機能を説明する1〜3文。 | "Matterport's 3D digital twin platform allows users to create immersive 3D models of physical spaces..." |
categories |
製品クラス、業種、またはウェブサイトがサポートするユースケースグループを含む製品カテゴリ。 | ["3D Modeling", "Digital Twins"] |
tags |
製品の属性、デプロイスタイル、テクノロジーラベル、その他の検索可能なタグ(短形式)。 | ["ai-powered", "self-hosted"] |
structured_features |
正規フィーチャーキーとブール値・文字列・数値を用いたフィーチャーマップ。キーは製品カテゴリによって異なります。 | { "secure_cloud_hosting": true } |
freeform_features |
正規キーに該当しないフィーチャーフレーズ。 | ["unmatched 3D visual clarity"] |
pricing |
料金プランモデル、開始価格、および料金プランが利用可能な場合のティア。 null 料金プランを特定できない場合。 |
料金プランオブジェクト |
integrations |
この製品が連携する製品、プラットフォーム、またはサービス名。 | ["Procore", "Autodesk", "AWS"] |
platforms |
製品が利用可能なプラットフォーム(例: web, ios, android, macos, windows, linux, api, cli、または chrome-extension. |
["web"] |
source_urls |
製品データが取得された、対象企業のウェブサイト上の URL。 | ["https://matterport.com/solutions/design-construction"] |
料金プランオブジェクト
| キー | 説明 | 例 |
|---|---|---|
model |
料金プランモデル。以下の値のいずれか: 料金プランモデルの列挙型. | "subscription" |
starts_at_monthly_usd |
企業のウェブサイトで確認された最低月額 USD 価格。 null 不明または取得できない場合。 |
29.0 |
tiers |
企業のウェブサイトに掲載されている料金プランのティア。 | 一覧: PricingTier オブジェクト オブジェクト |
PricingTier オブジェクト
| キー | 説明 | 例 |
|---|---|---|
name |
料金プランのティア名。 | "Business" |
price_usd_monthly |
このティアの月額 USD 価格。 null 不明な場合。 |
99.0 |
features |
この料金プランに記載されている機能一覧。 | ["SSO", "Audit logs"] |
料金プランモデルの列挙型
| 値 | 説明 |
|---|---|
freemium |
有料アップグレード付き無料プラン |
subscription |
定期有料サブスクリプション |
one-time |
一回限りの購入 |
payg |
従量課金制 |
enterprise |
エンタープライズ向けカスタム料金 |
unknown |
料金プランが存在するか存在する可能性があるが、モデルが不明 |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 3 |
X-NinjaPear-Cache-Age-Days |
返されたデータの経過日数(日単位)。 0 ライブエンリッチメントから最新データが返された場合。 |
12 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | ウェブサイトに到達できないか、入力が無効です |
| 404 | いいえ | 以下のときにキャッシュデータが見つかりませんでした: use_cache=if-present-only |
| 503 | いいえ | クロール容量が一時的に上限に達しています。しばらく待ってから再試行してください。 |
Company API
企業ロゴエンドポイント
GET /api/v1/company/logo
コスト: 0 クレジット / 成功したリクエスト。(無料)
企業のウェブサイト URL をもとに企業のロゴを取得します。ロゴは PNG 画像(128x128)として返されます。
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));
});
レスポンス例:
生のPNG画像バイナリ(Content-Type: image/png).
URL パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
ウェブサイト |
はい | 対象企業の Web サイト URL | https://www.stripe.com |
レスポンス
A 200 レスポンスはロゴを生の PNG 画像として返します( Content-Type: image/png.
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 404 | いいえ | 指定されたドメインのロゴが見つかりませんでした |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 0 |
企業詳細エンドポイント
GET /api/v1/company/details
コスト: 3 クレジット / リクエスト(基本)。追加 2 クレジット( include_employee_count=true。追加してください 1 クレジット(条件: follower_count=include。追加してください 2 クレジット( addresses=best-effort-exhaustive。最大合計: 8 クレジット。データが見つからない場合もクレジットが請求されます。
企業のウェブサイト URL をもとに企業の詳細を取得します。説明、業種、SNS の URL、現在の経営陣など企業メタデータを返します。
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);
});
レスポンス例(非公開企業の場合):
{
"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
}
レスポンス例(公開企業の場合):
{
"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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
ウェブサイト |
はい | 対象企業の Web サイト URL または企業名。Web サイト URL(例: https://www.stripe.com) は精度向上のために強く推奨されます。 |
https://www.stripe.com |
include_employee_count |
いいえ | ウェブ検索で最新の従業員数データを取得します。追加: 2 クレジットがリクエストコストに加算されます。有効な値: true, false (デフォルト)。 |
true |
follower_count |
いいえ | Twitter/X のフォロワー数およびフォロー数を含める。追加されます 1 リクエストコストへのクレジット。有効な値: include。除外するには省略するか、他の値を渡してください。 |
include |
addresses |
いいえ | 住所詳細モード。デフォルトは hq-only。使用してください best-effort-exhaustive グローバルに企業の物理的なオフィス住所をベストエフォートで取得・保存します。 2 クレジットがリクエストコストに加算されます。 |
best-effort-exhaustive |
use_cache |
いいえ | キャッシュの使用を制御します。大文字・小文字を区別しません。値: if-recent (デフォルト;最終スクレイプが29日以内の場合はキャッシュデータを使用し、それ以外はライブエンリッチを実行)、 if-present (まずキャッシュを返し、存在しない場合はライブエンリッチを実行)、 if-present-only (キャッシュのみ返却;存在しない場合は404を返す)、 never (常にライブエンリッチを実行します)。無効な値はエンドポイントのデフォルトにフォールバックされます。 |
if-recent |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
websites |
企業の全ウェブサイト URL のリスト | ["https://stripe.com", "https://stripe.dev"] |
description |
企業の簡単な説明 | "Stripe is a technology company..." |
industry |
GICS 8桁業種コード | 45102010 |
company_type |
企業の種類(PUBLIC_COMPANY、PRIVATELY_HELD、GOVERNMENT_AGENCY、NON_PROFIT、EDUCATIONAL、PARTNERSHIP、SELF_EMPLOYED、SELF_OWNED) | "PRIVATELY_HELD" |
founded_year |
企業の設立年 | 2010 |
specialties |
企業の専門分野のリスト | ["Payments", "Financial Services"] |
name |
会社名 | "Stripe" |
tagline |
企業のキャッチコピーまたはスローガン | "Financial infrastructure for the internet" |
logo_url |
URL: 企業ロゴエンドポイント。API キーの Bearer トークンで認証してください。 | "https://nubela.co/api/v1/company/logo?website=https://stripe.com" |
cover_pic_url |
企業のカバー画像/バナー画像への URL | "https://example.com/cover.png" |
facebook_url |
Facebook プロフィール URL | "https://facebook.com/stripe" |
twitter_url |
Twitter/X プロフィール URL | "https://twitter.com/stripe" |
instagram_url |
Instagram プロフィール URL | null |
employee_count |
推定従業員数 | 8000 |
employee_count_range_min |
従業員数範囲の下限値。次の場合にのみ存在します include_employee_count=true. |
7500 |
employee_count_range_max |
従業員数範囲の上限値。次の場合にのみ存在します: include_employee_count=true. |
8500 |
follower_count |
Twitter/X フォロワー数。以下の場合のみ存在します: follower_count=include. |
272190 |
following_count |
フォローしている Twitter/X アカウント数。以下の場合のみ存在します: follower_count=include. |
555 |
addresses |
企業の住所のリスト。本社のみがデフォルト(ただし addresses=best-effort-exhaustive がリクエストされた場合。 |
[住所オブジェクト] |
executives |
企業の役員および取締役会メンバーのリスト | [エグゼクティブオブジェクト] |
similar_companies |
URL: 競合他社一覧エンドポイント。Bearer トークンで認証して、競合他社を取得してください。 | "https://nubela.co/api/v1/competitor/listing?website=https%3A%2F%2Fstripe.com" |
updates |
URL: 企業アップデートエンドポイント。Bearer トークンで認証して、更新情報を取得してください。 | "https://nubela.co/api/v1/company/updates?website=https%3A%2F%2Fstripe.com" |
funding |
URL: 企業資金調達エンドポイント。Bearer トークンで認証して、資金調達の履歴を取得してください。 | "https://nubela.co/api/v1/company/funding?website=https%3A%2F%2Fstripe.com" |
public_listing |
株式情報や財務情報を含む上場企業データ。 null 非公開企業の場合。 |
PublicListing オブジェクト |
住所オブジェクト
| キー | 説明 | 例 |
|---|---|---|
address_type |
住所の種類(HEADQUARTERS、REGISTERED、BRANCH、MAILING、OTHER) | "HEADQUARTERS" |
line1 |
住所1行目 | "354 Oyster Point Blvd" |
line2 |
住所2行目 | null |
city |
都市名 | "South San Francisco" |
state |
都道府県、州、または地域 | "CA" |
postal_code |
郵便番号 | "94080" |
country_code |
ISO 3166-1 alpha-2 国コード | "US" |
country |
国名(正式名称) | "United States" |
is_primary |
これが主要なアドレスかどうか | true |
エグゼクティブオブジェクト
| キー | 説明 | 例 |
|---|---|---|
name |
役員の氏名 | "Patrick Collison" |
title |
役職 | "Chief Executive Officer" |
role |
正規化された役職タイプ(CEO、CFO、COO、CTO、CMO、PRESIDENT、VICE_PRESIDENT、DIRECTOR、BOARD_MEMBER、CHAIRMAN、FOUNDER、OTHER) | "CEO" |
person_profile_url |
事前入力済みの URL( Person Profile エンドポイント。Bearer トークンで認証して、エグゼクティブのプロフィールを取得してください。 null 名前または企業のウェブサイトが不明な場合。 |
"https://nubela.co/api/v2/employee/profile?employer_website=https%3A%2F%2Fstripe.com&first_name=Patrick&last_name=Collison" |
PublicListing オブジェクト
このオブジェクトは上場企業にのみ存在します(非 null)。非公開企業の場合、 public_listing になります null.
| キー | 説明 | 例 |
|---|---|---|
stock_symbol |
株式ティッカーシンボル | "AAPL" |
ipo_date |
ISO形式のIPO日付 | "1980-12-12" |
isin |
国際証券識別番号 | "US0378331005" |
figi |
金融商品グローバル識別子 | "BBG000B9XRY4" |
cusip |
CUSIP 識別子 | "037833100" |
lei |
法人識別子 | "HWUPKR0MPOU8FGXBT394" |
cik |
SEC Central Index Key | "0000320193" |
sic_code |
SEC Standard Industrial Classification コード | "3571" |
revenue_usd |
年間収益(USD) | 383285000000 |
revenue_captured_at |
収益データが取得された日付(ISO形式) | "2024-09-28" |
ebitda_usd |
EBITDA(USD) | 134000000000 |
ebitda_captured_at |
EBITDAデータが取得された日付(ISO形式) | "2024-09-28" |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 2 |
X-NinjaPear-Cache-Age-Days |
返されたデータの経過日数(日単位)。 0 ライブエンリッチメントから最新データが返された場合。 |
12 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | ウェブサイトに到達できません |
| 404 | いいえ | 以下のときにキャッシュデータが見つかりませんでした: use_cache=if-present-only |
| 404 | はい | ウェブサイトから企業データを抽出できませんでした |
従業員数エンドポイント
GET /api/v1/company/employee-count
コスト: 2 クレジット / 成功したリクエスト。
企業のウェブサイト URL をもとに従業員数の範囲を取得します。
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);
});
レスポンス例:
{
"employee_count": 3500
}
URL パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
ウェブサイト |
はい | 対象企業の Web サイト URL または企業名。Web サイト URL(例: https://www.stripe.com) は精度向上のために強く推奨されます。 |
https://www.stripe.com |
use_cache |
いいえ | キャッシュの使用を制御します。大文字・小文字を区別しません。値: if-recent (デフォルト;最終スクレイプが29日以内の場合はキャッシュデータを使用し、それ以外はライブエンリッチを実行)、 if-present (まずキャッシュを返し、存在しない場合はライブエンリッチを実行)、 if-present-only (キャッシュのみ返却;存在しない場合は404を返す)、 never (常にライブエンリッチを実行します)。無効な値はエンドポイントのデフォルトにフォールバックされます。 |
if-recent |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
employee_count |
推定従業員数 | 3500 |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 2 |
X-NinjaPear-Cache-Age-Days |
返されたデータの経過日数(日単位)。 0 ライブエンリッチメントから最新データが返された場合。 |
12 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 404 | いいえ | 指定されたウェブサイトの従業員数データが見つかりませんでした |
| 404 | いいえ | 以下のときにキャッシュデータが見つかりませんでした: use_cache=if-present-only |
企業アップデートエンドポイント
GET /api/v1/company/updates
コスト: 2 クレジット / リクエスト。
企業の最新ブログ投稿およびX/Twitterの更新を取得します。最近のブログ投稿とXの投稿をタイムスタンプ順に並べた混合タイムラインを返します。
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);
});
レスポンス例
{
"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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
ウェブサイト |
はい | 対象企業の Web サイト URL または企業名。Web サイト URL(例: https://www.stripe.com) は精度向上のために強く推奨されます。 |
https://www.stripe.com |
use_cache |
いいえ | キャッシュの使用を制御します。大文字・小文字を区別しません。値: if-recent (デフォルト;最終スクレイプが1日以内の場合はキャッシュデータを使用し、それ以外はライブエンリッチを実行)、 if-present (まずキャッシュを返し、存在しない場合はライブエンリッチを実行)、 if-present-only (キャッシュのみ返却;存在しない場合は404を返す)、 never (常にライブエンリッチを実行します)。無効な値はエンドポイントのデフォルトにフォールバックされます。 |
if-recent |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
blogs |
ブログの RSS フィード URL(RSS が検出された場合)またはブログページ URL のリスト | ["https://stripe.com/blog/feed.rss"] |
x_profile |
X/Twitter プロフィール URL、または null 見つからない場合 |
"https://x.com/stripe" |
youtube_channels |
企業に対して発見された YouTube チャンネル URL のリスト。見つからない場合は空 | ["https://www.youtube.com/channel/UCdog0Ap82jpFvSnxorxF_lA"] |
updates |
更新オブジェクト(ブログ投稿・ツイート・YouTube 動画の混在)のリスト。タイムスタンプの降順で並び替え済み。 | 参照: 更新オブジェクト |
timestamp |
このデータが取得された UTC タイムスタンプ | "2025-03-16T10:00:00+00:00" |
更新オブジェクト
| キー | 説明 | 例 |
|---|---|---|
url |
ブログ投稿、ツイート、または YouTube 動画の URL | "https://stripe.com/blog/example" |
title |
投稿のタイトル(ツイートの場合は最初の80文字) | "Stripe's annual letter" |
description |
投稿の説明、ツイートのテキスト、または動画の説明(ブログは最大 500 文字) | "A look back at..." |
image_url |
画像 URL(ツイートメディアまたは動画サムネイル)、または null |
"https://pbs.twimg.com/media/example.jpg" |
timestamp |
ISO 8601 形式の公開タイムスタンプ、または null 不明な場合 |
"2025-03-01T12:00:00+00:00" |
source |
更新のソースタイプ | "blog", "x"、または "youtube" |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 2 |
X-NinjaPear-Cache-Age-Days |
返されたデータの経過日数(日単位)。 0 ライブエンリッチメントから最新データが返された場合。 |
1 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | ウェブサイトパラメータが欠落または無効 |
| 403 | いいえ | クレジット不足 |
| 404 | いいえ | 以下のときにキャッシュデータが見つかりませんでした: use_cache=if-present-only |
企業資金調達エンドポイント
GET /api/v1/company/funding
コスト: 2 クレジット / リクエスト(基本) + 1 返された一意の投資家ごとにクレジット。資金調達データが見つからない場合でも基本料金が適用されます( error_code: "no_funding_data" 以下)。
企業のウェブサイト URL をもとに資金調達履歴を取得します。調達総額、各ラウンドの日付・金額、および参加投資家とそのウェブサイトを返します。
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);
});
レスポンス例
{
"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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
ウェブサイト |
はい | 対象企業の Web サイト URL または企業名。Web サイト URL(例: https://www.stripe.com) は精度向上のために強く推奨されます。 |
https://www.stripe.com |
use_cache |
いいえ | キャッシュの使用を制御します。大文字・小文字を区別しません。値: if-recent (デフォルト;最終スクレイプが29日以内の場合はキャッシュデータを使用し、それ以外はライブエンリッチを実行)、 if-present (まずキャッシュを返し、存在しない場合はライブエンリッチを実行)、 if-present-only (キャッシュのみ返却;存在しない場合は404を返す)、 never (常にライブエンリッチを実行します)。無効な値はエンドポイントのデフォルトにフォールバックされます。 |
if-recent |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
ウェブサイト |
レスポンスが示す企業ドメイン。リクエストからのエコーです | "stripe.com" |
total_funds_raised_usd |
資金調達総額(USD)、または null 非公開の場合 |
9810000000 |
funding_rounds |
日付の降順で並べられたFundingRoundオブジェクトの配列 | 以下を参照 |
credit_cost |
この呼び出しで請求されたクレジット合計(2 基本 + 1 ユニーク投資家ごと)。ストリーミングレスポンスは、クレジットコストをレスポンスボディで返します( X-NinjaPear-Credit-Cost ヘッダー。 |
7 |
FundingRound オブジェクト
| キー | 説明 | 例 |
|---|---|---|
round_type |
資金調達ラウンドの種類(以下のラウンドタイプの値を参照) | "SERIES_A" |
date |
ラウンドの日付( YYYY-MM-DD 形式、または null 不明な場合 |
"2023-03-01" |
amount_usd |
今回のラウンドで調達した金額(USD)、または null 非公開の場合 |
600000000 |
investors |
このラウンドに参加したInvestorオブジェクトの配列 | 以下を参照 |
投資家オブジェクト
| キー | 説明 | 例 |
|---|---|---|
name |
投資家の名前(法人または個人) | "Sequoia Capital" |
ウェブサイト |
投資家のウェブサイトドメイン、または null 不明な場合 |
"sequoiacap.com" |
type |
いずれか "company" (VCファーム、ファンド、事業会社) または "angel" (個人) |
"company" |
amount_usd |
この投資家が出資した金額(USD)、または null 非公開の場合 |
null |
ラウンドタイプの値
PRE_SEED, SEED, SERIES_A, SERIES_B, SERIES_C, SERIES_D, SERIES_E, SERIES_F, SERIES_G, SERIES_H, SERIES_I を通じて 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
レスポンスヘッダー
このエンドポイントはレスポンスをストリーミングします。HTTP トレーラーはサポートされていないため、クレジットコストはレスポンスボディ( credit_cost フィールド)ではなく X-NinjaPear-Credit-Cost ヘッダー。レスポンスがキャッシュから返される場合、 X-NinjaPear-Credit-Cost ヘッダーは通常どおり返されます。 X-NinjaPear-Cache-Age-Days ヘッダーはすべての成功レスポンスで返されます( use_cache モード。新規ライブエンリッチメントは 0.
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト(ベース 2 + 投資家 1 人につき 1)。 キャッシュヒット時のみ。 | 7 |
X-NinjaPear-Cache-Age-Days |
返されたデータの経過日数(日単位)。 0 ライブエンリッチメントから最新データが返された場合。 |
12 |
エラーコード
クライアントサイドエラー(HTTP 400 / 403)は、ストリーミング本文が開始される前に返されます。キャッシュミス時、サーバーサイドエラーは HTTP 200 と error と error_code レスポンスボディ内のフィールド — ストリーミング接続がすでに確立されているため、ステータスコードは変更できません。以前に次の値で分岐していたクライアントは response.status_code == 404 に基づいて分岐する必要があります error_code フィールドを使用してください。
| ステータスコード | 課金されましたか? | error_code (ボディ) |
説明 |
|---|---|---|---|
| 400 | いいえ | — | ウェブサイトパラメータが欠落または無効 |
| 403 | いいえ | — | クレジット不足 |
| 404 | いいえ | — | 以下のときにキャッシュデータが見つかりませんでした: use_cache=if-present-only |
| 200(ボディにエラーを含む) | はい(2 クレジット) | no_funding_data |
指定されたウェブサイトの資金調達データが見つかりませんでした。 funding_rounds は []. |
| 200(ボディにエラーを含む) | いいえ | service_temp_unavailable |
サービスが一時的に利用できません。後でリトライしてください。 funding_rounds は []. |
ウェブサイトルックアップエンドポイント
GET /api/v1/company/website
コスト: 1 クレジット / リクエスト(マッチが見つかるかどうかにかかわらず課金)。
企業名を正規のウェブサイト URL に解決します。
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);
});
レスポンス例:
{
"website": "https://www.apexsecurity.com"
}
URL パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
company_name |
はい | ルックアップする企業の名前。 | Apex |
country_code |
いいえ | 検索結果を地理的に絞り込むために使用するオプションの ISO 3166-1 alpha-2 2文字国コード(例: us, gb, de, sg)。次を参照してください: ISO 3166-1 alpha-2コードの完全なリスト。デフォルトは us 省略した場合。 |
us |
ヒント |
いいえ | 同じ国内で名前が類似した企業を区別するためのヒントを指定してください。 | cybersecurity firm |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
ウェブサイト |
解決された正規の Web サイト URL。 | https://www.stripe.com |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 1 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 欠落または無効 company_name パラメーター。 |
| 400 | いいえ | 無効 country_code (認識されない2文字コード)。 |
| 404 | はい(1) | 指定された企業名に一致するウェブサイトが見つかりませんでした。 |
Employee API
業務用メールアドレス エンドポイント
GET /api/v1/employee/work-email
コスト: 2 クレジット(ルックアップ成功時、業務用メールアドレスが見つかった場合)。メールアドレスが見つからない場合(work_email は null)、トークン料金: 0.5 クレジットが適用されます — これにより不正利用を抑止しつつ、投機的なルックアップのコストを低く抑えます。
名前(任意で姓も指定可)と企業ドメインをもとに、人物の公開業務用メールアドレスをベストエフォートで返します。
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);
});
レスポンス例(メールアドレスが見つかった場合)
{
"work_email": "[email protected]"
}
レスポンス例(証拠なしの場合)
{
"work_email": null
}
URL パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
first_name |
はい | 人物の名(ファーストネーム)。 | Patrick |
last_name |
いいえ | 人物の姓(ラストネーム)。パターンに必要な場合に精度が向上します。 | Collison |
domain |
はい | 企業ドメイン。プロトコルおよびパスが含まれる場合は除去されます。 | stripe.com |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
work_email |
ベストエフォートの業務用メールアドレス。 null 公開メールアドレスが見つからず、かつパターンも推測できなかった場合。 |
"[email protected]" | null |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この呼び出しで請求されたクレジット合計。 2 ヒット時; 0.5 ミス時(トークン不正利用防止チャージ)。 |
2 または 0.5 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 欠落または無効 first_name / domain. |
| 403 | いいえ | クレジットが不足しています。 |
| 503 | いいえ | サービスが一時的に利用できません。後でリトライしてください。 |
Person Profile エンドポイント
GET /api/v2/employee/profile
コスト: 3 クレジット / リクエスト。データが見つからない場合もクレジットが請求されます。
業務用メールアドレス、氏名と雇用主の組み合わせ、または役職と雇用主の組み合わせを指定して、従業員のプロフェッショナルプロフィールをエンリッチします。職歴、学歴、所在地、ソーシャルメディアの情報を含む構造化されたプロフィールデータを返します。
以下の入力の組み合わせのいずれかを指定してください:
- 業務用メールアドレスのみ — 例:
[email protected] - 名 + 雇用主ウェブサイト — 例:
first_name=John&employer_website=https://stripe.com - 雇用主ウェブサイト+役職 — 例:
employer_website=https://stripe.com&role=CTO
精度向上のためにいつでもパラメーターを追加することができます。例えば、 work_email とともに first_name, last_name、および role の方がより良い結果をもたらします work_email 単独で。
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);
});
レスポンス例
{
"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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
work_email |
条件付き | 本人の業務用メールアドレス。必須条件: employer_website が指定されていない場合。 |
[email protected] |
first_name |
条件付き | 人物の名(ファーストネーム)。名前と他のパラメータを使用する場合は必須です。 employer_website の組み合わせ。 |
John |
middle_name |
いいえ | 人物のミドルネーム。他のパラメータと組み合わせると精度が向上します。 | Michael |
last_name |
いいえ | 人物の姓(ラストネーム)。他のパラメータと組み合わせると精度が向上します。 | Smith |
employer_website |
条件付き | 本人の雇用主のウェブサイト URL または企業名。精度向上のため、ウェブサイト URL の使用を強く推奨します。必須条件: work_email が指定されていない場合。 |
https://stripe.com |
role |
いいえ | 現在の職名または役職。精度が向上します。使用する場合は必須: employer_website 名前なし。 |
CTO |
slug |
いいえ | 既存のエンリッチ済みプロフィールを直接ルックアップするための Person スラッグ。 | elon-musk |
id |
いいえ | 既存のエンリッチ済みプロフィールを直接ルックアップするための Person ID。 | abc123de-... |
enrichment |
いいえ | ライブエンリッチメントの深度を制御します。値: fast (デフォルト;即時返却し、詳細なエンリッチメントをバックグラウンドで開始)、 detailed (詳細なエンリッチメントの完了を待ってから返却します)。高速レスポンスにはウェブサイトやプロフィール写真データなどの詳細な経歴情報は含まれませんが、構造化された職歴・学歴をすばやく返します。 高速エンリッチメントリクエストはバックグラウンドで詳細なエンリッチメントも開始し、その結果も取得できます。同じパラメーターで同じリクエストをポーリングしてください。 use_cache=if-recent 10 〜 30 秒後に、完全にエンリッチされた結果を追加コストなしで取得してください。ポーリングを停止してください X-NinjaPear-Enrichment-Status レスポンスヘッダーは complete。詳細なエンリッチメントが完了すると、同じリクエストで詳細なキャッシュ済みプロフィールを追加コストなしで返します。使用方法 enrichment=fast UIへのデータ表示など、即時結果が必要な場合に使用します。 enrichment=detailed 完全なレスポンスが必要で、待機しても問題ない場合。 |
fast |
use_cache |
いいえ | キャッシュの使用を制御します。大文字・小文字を区別しません。値: if-recent (デフォルト;最終スクレイプが29日以内の場合はキャッシュデータを使用し、それ以外はライブエンリッチを実行)、 if-present (まずキャッシュを返し、存在しない場合はライブエンリッチを実行)、 if-present-only (キャッシュのみ返却;存在しない場合は404を返す)、 never (常にライブエンリッチを実行します)。無効な値はエンドポイントのデフォルトにフォールバックされます。 |
if-recent |
有効な入力の組み合わせ
| 組み合わせ | 例 |
|---|---|
work_email 単独で |
[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 または id |
?slug=elon-musk |
結果の精度を向上させるために、追加のパラメーターをいつでも含めることができます。
レスポンス
| キー | 説明 | 例 |
|---|---|---|
id |
人物の一意 ID。プロフィールが永続的な人物レコードに紐づいている場合に存在します。 | "abc123de-f456-7890-abcd-ef1234567890" |
slug |
人物の一意スラッグ。プロフィールが永続的な人物レコードに紐づいている場合に存在します。 | "elon-musk" |
profile_pic_url |
人物のプロフィール写真(X/Twitter より)への URL です。場合によって null. |
"https://pbs.twimg.com/.../photo_400x400.jpg" |
first_name |
名 | "Elon" |
middle_name |
ミドルネーム。次の場合があります null. |
"Reeve" |
last_name |
姓 | "Musk" |
full_name |
氏名 | "Elon Reeve Musk" |
bio |
X/Twitter プロフィールの自己紹介/説明文。場合によっては null. |
"Mars & Cars, Chips & Dips" |
follower_count |
X/Twitter フォロワー数。null である可能性があります null. |
195000000 |
following_count |
フォローしている X/Twitter アカウント数。null である可能性があります null. |
782 |
country |
居住国。ISO 3166-1 alpha-2 コード。 | "US" |
city |
居住都市。UN/LOCODE 形式。 | "USAUS" |
state |
居住地の都道府県または地域。ISO 3166-2 サブディビジョンコード。 | "US-TX" |
x_handle |
X/Twitter ハンドル(@ なし)。以下の場合あり: null. |
"elonmusk" |
x_profile_url |
X/Twitter プロフィールへの URL です。場合によって null. |
"https://x.com/elonmusk" |
personal_website |
個人の Web サイト URL。 null. |
"https://elonmusk.com" |
work_experience |
職歴エントリのリスト(最新順) | [WorkExperience オブジェクト] |
education |
学歴エントリのリスト(最新順) | [学歴オブジェクト] |
work_email_lookup |
事前構築済みの URL( 業務用メールアドレス エンドポイント この人物に関する情報( first_name, last_name、および domain (最新の職歴のウェブサイト) はすでに設定されています。ベアラートークンを使って直接呼び出すことで、その人物の業務用メールアドレスを取得できます。パラメーターの再指定は不要です。コスト 2 クレジット / 呼び出し。場合によっては null 現在の勤務先のウェブサイトが不明な場合。 |
"https://nubela.co/api/v1/employee/work-email?first_name=Elon&last_name=Musk&domain=tesla.com" |
similar_people |
事前構築済みの URL( 類似人物エンドポイント この人物に関する情報(キー: id。直接呼び出すと、競合他社で同じ役職の人物を取得できます。検索パラメータを再渡しする必要はありません。 |
"https://nubela.co/api/v1/employee/similar?id=abc123de-..." |
WorkExperience オブジェクト
| キー | 説明 | 例 |
|---|---|---|
role |
役職または役割 | "CEO" |
company_name |
企業名 | "Tesla" |
company_website |
企業ウェブサイトドメイン。次の場合があります: null. |
"tesla.com" |
description |
この役職での担当内容の説明。場合によっては null. |
"Leading Tesla's mission..." |
start_date |
開始日(YYYY-MM形式)。値は null. |
"2008-10" |
end_date |
終了日(YYYY-MM形式)。 null は現在その役職に就いていることを意味します。 |
null |
学歴オブジェクト
| キー | 説明 | 例 |
|---|---|---|
major |
学位および専攻分野 | "B.S. Economics" |
school |
学校または大学名 | "Wharton School, University of Pennsylvania" |
start_date |
開始日(YYYY-MM形式)。値は null. |
"1992-01" |
end_date |
終了日(YYYY-MM形式)。場合によっては null. |
"1997-01" |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 3 |
X-NinjaPear-Cache-Age-Days |
返されたデータの経過日数(日単位)。 0 ライブエンリッチメントから最新データが返された場合。 |
12 |
X-NinjaPear-Enrichment-Status |
v2 Person Profileレスポンスの詳細なエンリッチメントステータス。 pending はレスポンスが高速プロフィールであり、詳細なエンリッチメントがまだ実行中または完了待ちであることを意味します。 complete はレスポンスが詳細なキャッシュ済みプロフィール、または enrichment=detailed 結果。このヘッダーが complete. |
complete |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 入力が無効です。次を指定してください work_email、または first_name + employer_website、または employer_website + role. |
| 400 | いいえ | 無効 enrichment。使用してください fast または detailed。廃止予定の speed パラメーターは受け付けられません。 |
| 400 | いいえ | work_email は個人用/無料メール(例: [email protected])。企業の業務用メールアドレスを入力してください。 |
| 403 | いいえ | クレジット不足 |
| 404 | いいえ | work_email はロールベース/汎用メールボックス(例: info@, support@, sales@, noreply@) は個人に対応していません。 |
| 404 | いいえ | 以下のときにキャッシュデータが見つかりませんでした: use_cache=if-present-only |
| 404 | はい(3 クレジット) | 指定された入力に対するプロフィールデータが見つかりませんでした |
| 503 | いいえ | サービスが一時的に利用できません。後でリトライしてください。 |
類似人物エンドポイント
GET /api/v1/employee/similar
コスト: 10 クレジット基本料 + 5 クレジット / 試行された(企業、役職)タプルごと。類似する人物が見つかるかどうかにかかわらず基本料金が請求されます。これは、エンドポイントがすべてのリクエストを処理するためにリアルタイムのエンリッチメントリソースを消費するためです。キャッシュ済みの結果は無料です(以下を参照)。
次の条件に該当する人物を探す: 類似 ターゲット人物(対象企業で同一の役職を持つ人物として定義)への 競合他社における同一の役職。ターゲット(例: nubela.co)、エンドポイントはターゲットの現在の雇用主を特定し、その雇用主の競合他社を検索して、各競合他社における同じ職種の人物をリアルタイムにエンリッチしようとします。レスポンスには、ターゲットのプロフィール、検索を試みた(企業、職種)タプルのリスト、および正常にエンリッチされた類似人物が含まれます。
入力は同一です Person Profile エンドポイント。以下の入力の組み合わせのうち、少なくとも 1 つを指定する必要があります:
- 業務用メールアドレスのみ — 例:
[email protected] - 名 + 雇用主ウェブサイト — 例:
first_name=Tim&employer_website=https://apple.com - 雇用主ウェブサイト+役職 — 例:
employer_website=https://apple.com&role=CEO
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--max-time 300 \
--data-urlencode "[email protected]" \
"https://nubela.co/api/v1/employee/similar"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.EmployeeAPIApi(api_client)
# Set a generous read timeout — calls can take up to 5 minutes.
result = api.get_similar_people(work_email="[email protected]", _request_timeout=300)
print(result)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
defaultClient.timeout = 300000; // 5 minutes
var api = new NinjaPear.EmployeeAPIApi();
api.getSimilarPeople({ workEmail: "[email protected]" }).then(function (data) {
console.log(data);
});
レスポンス例
{
"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
}
簡潔にするため、上記の例は一部のみを示しています: PersonProfile フィールド。以下の各エントリ: ターゲット と similar_people は完全な PersonProfile オブジェクト(詳細は Person Profile エンドポイントのレスポンス 完全なスキーマ(以下を含む)については profile_pic_url, bio, country, x_handle, education、など。
URL パラメータ
と同一です Person Profile エンドポイントの URL パラメータ.
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
work_email |
条件付き | ターゲット本人の業務用メールアドレス。必須条件: employer_website が指定されていない場合。 |
[email protected] |
first_name |
条件付き | ターゲットの名。name + と組み合わせて使用する場合は必須です employer_website の組み合わせ。 |
Tim |
middle_name |
いいえ | ターゲットのミドルネーム。他のパラメーターと組み合わせることで精度が向上します。 | Donald |
last_name |
いいえ | ターゲットの姓。他のパラメーターと組み合わせることで精度が向上します。 | Cook |
employer_website |
条件付き | ターゲットの雇用主のウェブサイト URL または企業名。精度向上のため、ウェブサイト URL の使用を強く推奨します。必須条件: work_email が指定されていない場合。 |
https://apple.com |
role |
いいえ | 現在の職名または役職。使用する場合は必須: employer_website 名前なし。 |
CEO |
有効な入力の組み合わせ
| 組み合わせ | 例 |
|---|---|
work_email 単独で |
[email protected] |
first_name + employer_website |
?first_name=Tim&employer_website=https://apple.com |
employer_website + role |
?employer_website=https://apple.com&role=CEO |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
ターゲット |
解決された対象者の完全なプロフィール。スキーマは Person Profile エンドポイント. | { "first_name": "Tim", ... } |
attempted_searches |
エンリッチを試みた(企業、役割)のタプル一覧。対象者の現在の雇用主の競合他社ごとに 1 エントリ。タプルごとの課金(各 5 クレジット)の基準となります。 | [AttemptedSearch オブジェクト] |
similar_people |
競合他社において同一の役職に一致する人物のエンリッチメント済みプロフィールのリスト。サブセットとなる場合があります attempted_searches (一部の試行ではデータが返されません)。各エントリは Person Profile エンドポイント. |
[PersonProfile, ...] |
credit_cost |
この呼び出しで請求されたクレジット合計。以下に等しい 10 + 5 * len(attempted_searches)、または 0 以前に料金を支払った同一製品に提供されたキャッシュ済み結果の場合。 |
30 |
AttemptedSearch オブジェクト
| キー | 説明 | 例 |
|---|---|---|
employer_website |
試行した競合他社のウェブサイトドメイン。 | "google.com" |
role |
その競合他社で検索したロール(ターゲットを反映)。 | "CEO" |
レスポンスヘッダー
このエンドポイントはレスポンスをストリーミングするため、クレジットコストをヘッダーで返すことができません。HTTP トレーラーはストリーミング層でサポートされていません。 credit_cost 通常のフィールドの代わりに、レスポンスボディの以下のフィールドを使用します X-NinjaPear-Credit-Cost ヘッダー。
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 入力が無効です。次を指定してください work_email、または first_name + employer_website、または employer_website + role. |
| 400 | いいえ | work_email は個人用/無料メール(例: [email protected])。企業の業務用メールアドレスを入力してください。 |
| 403 | いいえ | クレジットが不足しています。類似人物検索を開始するには、少なくとも 10 クレジットが必要です。 |
| 404 | いいえ | work_email はロールベース/汎用メールボックス(例: info@, support@, sales@, noreply@) は個人に対応していません。 |
| 404 | いいえ | ターゲットの人物を特定できませんでした。 |
| 503 | いいえ | リソースが一時的に利用できません。再度お試しください。 |
従業員検索エンドポイント
GET /api/v1/employee/search
コスト:基本 2 クレジット / 呼び出し(従業員が返されない場合も請求)、加えて 1 の従業員ごとにクレジット 従業員 配列。10名の従業員を返すクエリのコストは 2 + 10 = 12 クレジット。
企業の現従業員を役職でフィルタリングし、必要に応じて地域で絞り込んで検索します。
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);
});
レスポンス例
{
"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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
company_website |
はい | 対象企業。推奨形式はウェブサイト(例: stripe.com またはフル URL(例: https://stripe.com)。企業名(例: Stripe) も受け付けます。 |
stripe.com |
role |
はい | 検索を絞り込むための職務役割。関連する役割バリアントに一致します(例: VP of Engineering にもマッチします Vice President, Engineering). |
VP of Engineering |
country |
いいえ | 絞り込みに使用する ISO 3166-1 alpha-2 国コード。 | US |
state |
いいえ | 絞り込む都道府県または地域(フリーフォーム)。 | カリフォルニア |
city |
いいえ | 絞り込む都市(自由形式)。 | サンフランシスコ |
use_cache |
いいえ | キャッシュの使用を制御します。大文字・小文字を区別しません。値: if-recent (デフォルト;最終スクレイプが29日以内の場合はキャッシュデータを使用し、それ以外はライブエンリッチを実行)、 if-present (まずキャッシュを返し、存在しない場合はライブエンリッチを実行)、 if-present-only (キャッシュのみ返却;存在しない場合は404を返す)、 never (常にライブエンリッチを実行します)。無効な値はエンドポイントのデフォルトにフォールバックされます。 |
if-recent |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
従業員 |
対象企業の条件に一致する従業員のリスト。見つからない場合は空の配列。 | [従業員オブジェクト] |
従業員オブジェクト
| キー | 説明 | 例 |
|---|---|---|
first_name |
従業員の名。 | "Jane" |
last_name |
従業員の姓。次の場合があります null 利用できない場合。 |
"Doe" |
role |
対象企業における従業員の現在の役職。 | "VP of Engineering" |
company_website |
従業員が勤務するターゲット雇用主のウェブサイト。解決済みの値を反映: company_website 各レコードの入力パラメーター。 |
"stripe.com" |
company_details |
事前入力済みの URL( 企業詳細エンドポイント、次のデータが格納されています: ウェブサイト。Bearer トークンで認証して、企業の詳細情報を取得してください。 |
"https://nubela.co/api/v1/company/details?website=stripe.com" |
person_profile |
事前入力済みの URL( Person Profile エンドポイント、次のデータが格納されています: first_name, last_name、および employer_website。Bearer トークンで直接呼び出して、人物をエンリッチしてください。コストは 3 クレジット / 呼び出し。 |
"https://nubela.co/api/v2/employee/profile?first_name=Jane&last_name=Doe&employer_website=https%3A%2F%2Fstripe.com" |
work_email |
事前入力済みの URL( 業務用メールアドレス エンドポイント、次のデータが格納されています: first_name, last_name、および domain。Bearer トークンで直接呼び出して、業務用メールアドレスを解決してください。コストは 2 クレジット(ヒット時)、 0.5 クレジット(メールアドレスが見つからない場合)。 |
"https://nubela.co/api/v1/employee/work-email?first_name=Jane&last_name=Doe&domain=stripe.com" |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この呼び出しで請求されたクレジット合計。以下に等しい 2 + N ここで N は返された従業員数(2 配列が空の場合)。 |
12 |
X-NinjaPear-Cache-Age-Days |
返されたデータの経過日数(日単位)。 0 ライブエンリッチメントから最新データが返された場合。 |
12 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 欠落または無効 company_website または role パラメーター。 |
| 403 | いいえ | クレジットが不足しています。少なくとも 2 クレジット(検索開始時)。 |
| 404 | いいえ | 以下のときにキャッシュデータが見つかりませんでした: use_cache=if-present-only |
| 404 | いいえ | 指定された company_website 既知の企業に解決できませんでした。 |
| 503 | いいえ | リソースが一時的に利用できません。再度お試しください。 |
Meta API
クレジット残高確認エンドポイント
GET /api/v1/meta/credit-balance
コスト: 0 クレジット / 成功したリクエスト。
現在のクレジット残高を取得します。
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);
});
レスポンス例:
{
"credit_balance": 100000
}
レスポンス
| キー | 説明 | 例 |
|---|---|---|
credit_balance |
現在のクレジット残高 | 100000 |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 0 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 401 | いいえ | 無効な API key |
Contact API
使い捨てメールアドレス確認エンドポイント
GET /api/v1/contact/disposable-email
コスト: 0 クレジット / 成功したリクエスト。(無料)
メールアドレスが使い捨て(一時的)メールか、無料メールプロバイダーのものかを確認します。
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);
});
レスポンス例:
{
"email": "[email protected]",
"is_disposable_email": true,
"is_free_email": false
}
URL パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
メール |
はい | チェックするメールアドレス | [email protected] |
レスポンス
| キー | 説明 | 例 |
|---|---|---|
メール |
チェックされたメールアドレス | "[email protected]" |
is_disposable_email |
メールドメインが既知の使い捨て/一時メールプロバイダーかどうか | true |
is_free_email |
メールドメインが無料メールプロバイダーかどうか(例: gmail.com, yahoo.com) | false |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 0 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 無効なメール形式 |
Monitor API
Monitor API を使用すると、企業のアップデートを監視できます。新しいアップデートはすべて単一の RSS フィードにまとめられます。このシステムは企業のブログ、X (Twitter) プロフィール、およびウェブサイトの変更を監視します。
基本概念
- フィード: 親コンテナ。フィードはパブリックまたはプライベートに設定できます。プライベートフィードは、標準的な RSS リーダーとの互換性を確保するため、URL クエリ文字列経由でベアラートークンを渡す必要があります。
- ターゲット: フィード内でモニタリングされている特定の企業・ウェブサイト。
- 設定: 対象ごとの詳細な設定で、何をモニタリングするか(ブログ、X、ウェブサイト)および頻度を指定します。
使用方法
競合他社のウェブサイト群を対象に、ブログ投稿・X のアクティビティ・サイト変更を監視し、それらをまとめて単一の RSS フィードとして Feedly、Slack、Zapier、またはその他の RSS リーダーに取り込みたい場合を想定します。
1. ターゲットを設定してフィードを作成する — モニタリングしたい企業をフィードにまとめます。各企業は ターゲット ウェブサイトの URL で識別されます。
レスポンスには rss_url — これはサブスクライブ先のURLです。
2. RSS フィードを購読する — コピーする rss_url また、任意の RSS リーダー(Feedly、Slack、Zapier など)に追加できます。すべてのターゲットのブログ投稿、X の投稿、ウェブサイトの変更が単一フィードのアイテムとして表示されます。
各アイテムにはカテゴリ(ブログ, x, website update、または website new page)。参照: フィード取得エンドポイント 完全な RSS スキーマについては
3. 新しいターゲットを追加する — 新たな競合他社が市場に参入した場合は、フィードに追加してください。
4. ターゲットを削除する — 企業が不要になった場合は、フィードから削除してください。
5. モニタリング設定を変更する — デフォルトでは、すべてのターゲットはブログ投稿、X投稿、ウェブサイトの変更を7日ごとにモニタリングします。チャンネルの切り替えや頻度の変更にはPATCHを使用してください。
指定したフィールドのみが変更されます — 省略したフィールドは現在の値を保持します。詳細は 設定オブジェクト 利用可能なすべてのオプションについては参照してください。
料金プラン
| アクション | コスト |
|---|---|
| フィードを作成する | 3 クレジット(一回限り) |
| ブログ投稿の取得(ターゲットごと) | 1 クレジット/取得 |
| ウェブサイトモニタリング取得(ターゲットごと) | 1 クレジット/取得 |
| X 投稿更新取得(ターゲットごと) | 2 クレジット/取得 |
| YouTube 更新取得(ターゲットごと) | 1 クレジット/取得 |
| その他すべてのエンドポイント(フィードの一覧表示、詳細確認、削除、ターゲット管理) | 0 クレジット |
1回のプルは、1つのソース(ブログ、X、ウェブサイト、またはYouTube)に対して1つのターゲットを確認します。4つのソースすべてを有効にした場合、1つのターゲットのコストは 1 回の取得につき 5 クレジット (ブログ1件 + X 2件 + ウェブサイト1件 + YouTube 1件).
月額コスト例
| シナリオ | ターゲット | 頻度 | クレジット/月 |
|---|---|---|---|
| 20 社のポートフォリオ企業をトラッキングする VC | 20 | 週次 | ~433 クレジット(3 一回限り + 20 × 5 × 4.3週) |
| 10社の競合他社をモニタリングするスタートアップ | 10 | 毎日 | ~1,503 クレジット(3 一回限り + 10 × 5 × 30日) |
| 5件の見込み客アカウントを監視する営業チーム(ブログ + Xのみ、ウェブサイトなし) | 5 | 毎日 | ~453 クレジット(3 一回限り + 5 × 3 × 30日) |
フィード作成の一時費用(3クレジット)は初月のみ含まれます。
フィード一覧エンドポイント
GET /api/v1/monitor/feeds
コスト: 0 クレジット / リクエスト。
認証済みユーザーが所有するすべてのフィードの一覧を取得します。
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://nubela.co/api/v1/monitor/feeds"
レスポンス例:
{
"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
}
]
}
レスポンス
| キー | 説明 | 例 |
|---|---|---|
feeds |
フィードオブジェクトのリスト | 参照: フィードオブジェクト |
フィードオブジェクト
| キー | 説明 | 例 |
|---|---|---|
id |
フィードの一意識別子 | "feed_abc123" |
name |
フィード名 | "SaaS Competitors" |
is_public |
フィードが公開されているかどうか | false |
is_suspended |
フィードが現在停止中かどうか | false |
suspension_reason |
停止されている場合の停止理由 | null または "insufficient_credits" |
rss_url |
RSS フィードの URL。プライベートフィードの場合は、トークンのクエリパラメーターが含まれます。 | "https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml?token=sec_live_987654321" |
email_notifications |
メール通知モード | "skip" または "on_updates" |
created_at |
ISO 8601 形式の作成タイムスタンプ | "2026-02-24T00:00:00Z" |
target_count |
フィード内のターゲット数 | 2 |
新規フィード エンドポイント
POST /api/v1/monitor/feeds
コスト: 3 クレジット / リクエスト(一回限りの料金)。
新しいフィードを作成し、オプションで初期対象の配列を受け付けます。
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"
レスポンス例
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"
}
]
}
リクエストボディ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
name |
いいえ | フィードの名前。省略した場合は自動生成されます。 | "SaaS Competitors" |
is_public |
いいえ | フィードが公開されているかどうか(デフォルト: false) |
false |
email_notifications |
いいえ | メール通知モード。 "on_updates" 新しい更新が検出されたときにメールを受け取るには、 "skip" 無効にする(デフォルト: "skip") |
"on_updates" |
targets |
はい | フィードに追加する初期ターゲットの配列(1件以上必須) | 参照: ターゲット入力オブジェクト |
ターゲット入力オブジェクト
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
website_url |
はい | モニタリングする企業の Web サイト URL | "https://stripe.com" |
settings |
いいえ | モニタリング設定。省略した場合はデフォルト値が適用されます。 | 参照: 設定オブジェクト |
設定オブジェクト
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
monitor_blog |
いいえ | 企業のブログの新規投稿をモニタリングする(デフォルト: true) |
true |
monitor_x |
いいえ | 企業の X(Twitter)アカウントをモニタリングする(デフォルト: true) |
true |
monitor_website |
いいえ | 企業のウェブサイトのコンテンツ変更および新規ページをモニタリングする(デフォルト: true) |
true |
monitor_youtube |
いいえ | 企業の公式 YouTube チャンネルの新着動画をモニタリングする(デフォルト: true) |
true |
frequency_days |
いいえ | 更新を確認する頻度(日単位)。1〜30の範囲で指定する必要があります(デフォルト: 7) |
7 |
バリデーションルール
- 少なくとも1つ
targetsエントリは必須です。 - 各ターゲットには
website_url到達可能な URL(HTTP 2xx レスポンス)。到達不能な URL は400. - 少なくとも1つのモニタリング設定(
monitor_blog,monitor_x,monitor_website,monitor_youtube) は必須ですtrueターゲットごと。
レスポンス
返り値 201 Created。レスポンスには作成された フィードオブジェクト 追加の targets を含む配列 ターゲットオブジェクト エントリ。
ターゲットオブジェクト
| キー | 説明 | 例 |
|---|---|---|
id |
ターゲットの一意識別子 | "target_xyz789" |
website_url |
監視対象企業のウェブサイト URL | "https://stripe.com" |
settings |
モニタリング設定オブジェクト | 参照: 設定オブジェクト |
last_polled_at |
最後にポーリングした ISO 8601 形式のタイムスタンプ、または null 未取得の場合 |
null |
is_baseline_complete |
初期ベースラインスナップショットが取得済みかどうか | false |
created_at |
ISO 8601 形式の作成タイムスタンプ | "2026-02-24T09:55:00Z" |
レスポンスヘッダー
| ヘッダーキー | 説明 | 例 |
|---|---|---|
X-NinjaPear-Credit-Cost |
この API 呼び出しのクレジット合計コスト | 3 |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | バリデーションエラー(ターゲット未設定、URL に到達不能、モニターフラグが未有効) |
フィード詳細取得エンドポイント
GET /api/v1/monitor/feeds/{feed_id}
コスト: 0 クレジット / リクエスト。
添付されたすべてのターゲットを含む、単一フィードの全詳細を取得します。
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://nubela.co/api/v1/monitor/feeds/feed_abc123"
レスポンス例:
{
"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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
feed_id |
はい | フィードの ID | feed_abc123 |
レスポンス
返り値: フィードオブジェクト 追加の targets を含む配列 ターゲットオブジェクト エントリ。
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 404 | いいえ | フィードが見つかりません |
フィード削除エンドポイント
DELETE /api/v1/monitor/feeds/{feed_id}
コスト: 0 クレジット / リクエスト。
フィードおよび関連するすべてのターゲットを完全に削除します。
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://nubela.co/api/v1/monitor/feeds/feed_abc123"
URL パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
feed_id |
はい | 削除するフィードの ID | feed_abc123 |
レスポンス
返り値 200 OK 確認メッセージとともに。
{
"message": "Feed deleted."
}
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 404 | いいえ | フィードが見つかりません |
ターゲット追加エンドポイント
POST /api/v1/monitor/feeds/{feed_id}/targets
コスト: 0 クレジット / リクエスト。
既存のフィードに新しい企業を追加します。
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"
レスポンス例
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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
feed_id |
はい | ターゲットを追加するフィードの ID | feed_abc123 |
リクエストボディ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
website_url |
はい | モニタリングする企業の Web サイト URL | "https://shopify.com" |
settings |
いいえ | モニタリング設定。省略した場合はデフォルト値が適用されます。 | 参照: 設定オブジェクト |
レスポンス
返り値: ターゲットオブジェクト.
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 404 | いいえ | フィードが見つかりません |
ターゲット更新エンドポイント
PATCH /api/v1/monitor/feeds/{feed_id}/targets/{target_id}
コスト: 0 クレジット / リクエスト。
特定のターゲットのモニタリング設定を変更します。
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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
feed_id |
はい | フィードの ID | feed_abc123 |
target_id |
はい | 更新するターゲットの ID | target_xyz789 |
リクエストボディ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
settings |
はい | 設定の部分更新。指定されたフィールドのみが変更されます。 | 参照: 設定オブジェクト |
レスポンス
更新後の値を返します: ターゲットオブジェクト.
レスポンス例:
{
"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"
}
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 有効な設定が指定されていません |
| 404 | いいえ | フィードまたはターゲットが見つかりません |
ターゲット削除エンドポイント
DELETE /api/v1/monitor/feeds/{feed_id}/targets/{target_id}
コスト: 0 クレジット / リクエスト。
ウェブサイトのモニタリングを停止し、フィードから削除します。
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://nubela.co/api/v1/monitor/feeds/feed_abc123/targets/target_xyz789"
URL パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
feed_id |
はい | フィードの ID | feed_abc123 |
target_id |
はい | 削除するターゲットの ID | target_xyz789 |
レスポンス
返り値 200 OK 確認メッセージとともに。
{
"message": "Target deleted."
}
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 404 | いいえ | フィードまたはターゲットが見つかりません |
フィード取得エンドポイント
GET /api/v1/monitor/feeds/{feed_id}/rss.xml
コスト: 0 クレジット / リクエスト(モニタリングコストは各ターゲットのプルごとに発生します — 詳細は 料金プラン).
RSS リーダー(Feedly、Slack、ブラウザ拡張機能など)で利用可能な標準の RSS 2.0 XML フィードを返します。
フィードの is_public は false、有効なトークンを次のように渡す必要があります: token クエリパラメーター。
curl "https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml?token=YOUR_RSS_TOKEN"
レスポンス例:
<?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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
feed_id |
はい | フィードの ID | feed_abc123 |
レスポンス形式
レスポンスは標準の RSS 2.0 XML ドキュメントです。構造は以下のとおりです:
チャネル要素
| 要素 | 説明 | 例 |
|---|---|---|
<title> |
フィード名 | SaaS Competitors |
<link> |
RSS フィードの URL | https://nubela.co/api/v1/monitor/feeds/feed_abc123/rss.xml |
<description> |
モニタリング中の企業の自動生成サマリー | Automated updates for Stripe, Shopify, and Vercel. |
<lastBuildDate> |
最後のフィードビルドの RFC 2822 形式タイムスタンプ | Tue, 24 Feb 2026 10:00:00 +0800 |
アイテム要素
各 <item> モニタリング対象企業からの単一の更新を表します。
| 要素 | 説明 | 例 |
|---|---|---|
<title> |
企業名をプレフィックスとした更新のタイトル | Stripe: Expanding our Global Payment Network |
<link> |
元のコンテンツの URL | https://stripe.com/blog/global-network-2026 |
<guid> |
アイテムの一意識別子。 isPermaLink は true GUIDがURLの場合。 |
https://stripe.com/blog/global-network-2026 |
<pubDate> |
RFC 2822 形式の公開タイムスタンプ | Mon, 23 Feb 2026 14:30:00 +0800 |
<category> |
更新の種類(下記のカテゴリを参照) | ブログ |
<dc:creator> |
企業名(Dublin Core 名前空間を使用) | Stripe |
<description> |
アップデートの要約または抜粋 | テキストコンテンツ |
<enclosure> |
オプションの画像添付( url, length (バイト)、および type (MIMEタイプ) 属性 |
<enclosure url="..." length="150000" type="image/jpeg" /> |
RSS アイテムカテゴリ
各 <item> を含みます( <category> 更新タイプを示す要素:
| カテゴリー | 説明 |
|---|---|
ブログ |
企業からの新しいブログ投稿 |
x |
企業のX(Twitter)アカウントからの投稿 |
website update |
既存ページで検出された変更 |
website new page |
企業のウェブサイトで検出された新しいページ |
website unreachable |
企業のウェブサイトにアクセスできなくなりました(一度だけ発火) |
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 403 | いいえ | プライベートフィードのトークンが欠落または無効 |
| 404 | いいえ | フィードが見つかりません |
フィード更新エンドポイント
PATCH /api/v1/monitor/feeds/{feed_id}
コスト: 0 クレジット / リクエスト。
名前、公開設定、停止ステータスなどのフィード設定を更新します。停止されたフィード( insufficient_credits クレジットが追加されると自動的に再開されます。
# 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" }),
},
);
レスポンス例(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 パラメータ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
feed_id |
はい | フィードの ID | feed_abc123 |
リクエストボディ
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
name |
いいえ | 新しいフィード名 | "My Feed" |
is_public |
いいえ | RSS フィードが公開されているかどうか | true |
is_suspended |
いいえ | 設定 true 一時停止する、 false 再開する |
true |
suspension_reason |
いいえ | 停止理由(次の場合のみ is_suspended は true、デフォルト "manual") |
"manual" |
email_notifications |
いいえ | メール通知モード。 "on_updates" 新しい更新が検出されたときにメールを受け取るには、 "skip" 無効にする |
"on_updates" |
少なくとも1つのフィールドを指定してください。
レスポンス
更新後の値を返します: フィードオブジェクト 追加の targets を含む配列 ターゲットオブジェクト エントリ。
エラーコード
| ステータスコード | 課金されましたか? | 説明 |
|---|---|---|
| 400 | いいえ | 有効なフィールドが指定されていません |
| 404 | いいえ | フィードが見つかりません |
Claude AI
NinjaPear は、Claude との直接統合のための MCP (Model Context Protocol) サーバーを提供しています。これにより、B2B 企業データを会話形式でクエリできます — 任意の企業の顧客、投資家、従業員数などを Claude に質問できます。
クイックスタート
- 以下からコネクタ文字列を取得する ダッシュボード
- Claude にNinjaPear をコネクターとして追加する(以下のセットアップ手順を参照)
- 新しい会話を開始し、B2B 企業データを会話形式でクエリします
セットアップ
コネクター文字列は ダッシュボード。形式は次のとおりです: https://nubela.co/mcp/sse?api_key=YOUR_API_KEY
Claude Platform(推奨)
- 以下からコネクタ文字列を取得する ダッシュボード
- Claude にログインしていることを確認してから、次にアクセスしてください: カスタムコネクタを追加
- 以下を入力してください:
- 名前:
NinjaPear - リモート MCP サーバー URL:手順1のコネクター文字列を貼り付けてください
- 名前:
- クリック コネクタを追加
- 新しい会話を開始し、Claude に NinjaPear を使用するよう依頼します
Claude Code CLI
以下からコネクタ文字列を取得する ダッシュボード、次に実行します:
claude mcp add ninjapear --transport sse "YOUR_CONNECTOR_STRING"
利用可能なツール
| ツール | 説明 | コスト |
|---|---|---|
get_customer_listing |
企業の顧客、投資家、パートナーを取得する | 1 + 2/企業 |
get_company_details |
企業情報、役員、財務情報を取得する | 2〜4 クレジット |
get_employee_count |
企業の従業員数を取得する | 2 クレジット |
check_disposable_email |
メールが使い捨て/無料かどうかを確認 | 無料 |
get_credit_balance |
クレジット残高を確認する | 無料 |
get_company_logo_url |
企業ロゴの URL を取得する | 無料 |
list_feeds |
すべてのモニタリングフィードを一覧表示する | 0 クレジット |
create_feed |
対象を含む新しいモニタリングフィードを作成します | 3 クレジット |
describe_feed |
すべての対象を含むフィードの詳細を取得する | 0 クレジット |
update_feed |
フィードの名前、公開設定、または停止状態を更新します | 0 クレジット |
delete_feed |
フィードとそのすべてのターゲットを削除します | 0 クレジット |
add_target |
フィードでモニタリングする企業を追加する | 0 クレジット |
update_target |
ターゲットのモニタリング設定を更新します | 0 クレジット |
remove_target |
フィードから企業を削除する | 0 クレジット |
consume_feed |
フィードから最新の更新を取得する | 無料 |
プロンプト例
接続後、Claude に次のような質問ができます:
競合インテリジェンス
競合他社の動向を追うプロダクトマネージャーの方へ。
- "Monitor stripe.com, brex.com、および ramp.com for blog posts and website changes. Check daily."
- "What are the latest updates from my competitor feed?"
- "Get company details for each of my competitors — I want to know their employee counts and executives"
- "Who are Stripe's customers? Cross-reference them with Brex's customers to find overlap"
VCポートフォリオのモニタリング
ポートフォリオ企業の動向を把握したい VC の方へ。ポートフォリオ企業の CSV またはスクリーンショットを Claude にアップロードして、次のように質問してください:
- "Create a monitoring feed for all these companies — track their blogs and website changes weekly"
- "Show me the latest updates across my portfolio feed"
- "Get employee counts for each of my portfolio companies — I want to see who's growing fastest"
- "Which of my portfolio companies have the most customers?"
セールスプロスペクティング
アプローチ前にアカウントを調査したい営業担当者の方へ。
- "Get company details for acme.com — who are their executives, and what industry are they in?"
- "How many employees does acme.com have?"
- "Who are Salesforce's customers? Get company details for the top 5 by employee count"
- "Is [email protected] a real business email or a disposable address?"
- "Check if these emails are disposable: [email protected], [email protected]"
市場調査
業界全体の状況を把握したいアナリストの方へ。
- "Find the investors behind Figma, Canva, and Miro. Who are the common VCs?"
- "Get company details for anthropic.com, openai.com、および cohere.com — compare their founding year, employee count, and specialties"
- "Who are the partners of Shopify? Get employee counts for each partner"
- "Get logos for stripe.com, square.com、および adyen.com — I'm building a market map"
モニタリングとアラート
継続的なモニタリングを設定して、後から更新を確認したい場合に使用します。
- "Create a feed called 'AI Companies' to track openai.com, anthropic.com, and deepmind.google — monitor blogs and X posts"
- "Add mistral.ai to my AI Companies feed"
- "Change the monitoring frequency for Anthropic to daily — they ship fast"
- "Pause my AI Companies feed for now, I'll resume it next quarter"
- "What's my current credit balance? How long will my monitoring last at this rate?"
アカウント管理
NinjaPear の利用状況をすばやく確認できます。
- "What's my credit balance?"
- "How many credits do I have left?"
エラー処理
エラーは、Claude が説明する説明的なメッセージとして返されます:
| エラー | メッセージ |
|---|---|
| 無効な API key | "Error: 401 Unauthorized" |
| クレジット不足 | "Error: 402 Payment Required" |
| レート制限中 | "Error: 429 Too Many Requests" |
| サーバーエラー | "Error: 500 Internal Server Error" |
技術的詳細
MCP プロトコル
NinjaPear MCP サーバーは次を実装しています Model Context Protocol 仕様(AI アシスタントを外部データソースおよびツールに接続するための Anthropic のオープンスタンダード)。
トランスポート
リアルタイム通信には Server-Sent Events(SSE)トランスポートを使用しています:
- SSE エンドポイント:
GET /mcp/sse?api_key=YOUR_API_KEY - メッセージエンドポイント:
POST /mcp/messages/ - ヘルスチェック:
GET /mcp/health
認証
API キーを以下で送信する api_key クエリパラメーターまたは X-API-Key ヘッダー
