NAV การนำทาง
cURL Python JavaScript

NinjaPear ภาพรวม

NinjaPear เป็นแพลตฟอร์มข้อมูลอัจฉริยะของบริษัท B2B ที่เน้นความเป็นเจ้าของข้อมูลและการจัดหาที่มีจริยธรรม ในฐานะผู้ให้บริการบุคคลแรก เรารักษาระบบนิเวศที่ยั่งยืนของข้อมูลกรรมสิทธิ์และข้อมูลที่ผ่านการตรวจสอบทางกฎหมาย พันธกิจของเราคือการให้โครงสร้างพื้นฐานข้อมูลที่เชื่อถือได้ เพื่อให้ธุรกิจสามารถพัฒนาและขยายแอปพลิเคชันและเวิร์กโฟลว์ที่เพิ่มมูลค่าได้ด้วยความมั่นใจ

สำหรับ AI Agents

สร้างด้วยตัวแทนการเข้ารหัส AI? ใช้เวอร์ชัน Markdown แบบง่ายของเอกสารเหล่านี้ — เพิ่มประสิทธิภาพสำหรับ LLMs และเครื่องมือ AI เช่น Claude, Cursor และ ChatGPT:

AI Skill

NinjaPear AI Skill ให้ความรู้ขั้นตอนแก่ตัวแทนการเข้ารหัสเพื่อเขียนโค้ด NinjaPear integration ที่ถูกต้องในแอปพลิเคชันของคุณ ติดตั้งด้วยคำสั่งเดียวและตัวแทนของคุณจะรู้วิธีการยืนยันตัวตน เลือกเอนด์พอยต์ที่เหมาะสม สร้างโค้ด SDK และจัดการกรณีขอบ ทั้งหมดพร้อมความตระหนักด้านต้นทุนในตัว

ข้อกำหนดเบื้องต้น — กุญแจ NinjaPear API จาก nubela.co/dashboard และ Node.js 18+

ติดตั้งทักษะโดยใช้ npx skills คลีไอ. เลือกคำสั่งสำหรับตัวแทนของคุณ:

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 อย่างถูกต้อง:

ความสามารถ คำอธิบาย
การตั้งค่าการรับรองความถูกต้อง กำหนดค่าคีย์ API ผ่านตัวแปรสภาพแวดล้อมและการเริ่มต้น SDK
การเลือกจุดสิ้นสุด เลือกตำแหน่งข้อมูล NinjaPear API ที่เหมาะสมพร้อมการรับรู้ต้นทุน
Python SDK integration สร้างรหัสที่ถูกต้องโดยใช้ ninjapear แพ็คเกจหลาม
บูรณาการ JavaScript SDK สร้างรหัสที่ถูกต้องโดยใช้ ninjapear npm package
การจัดการการแบ่งหน้า ใช้การแบ่งหน้าตามเคอร์เซอร์สำหรับจุดสิ้นสุดของรายการ
การจัดการขีดจำกัดอัตรา เคารพขีดจำกัดอัตราด้วยการลองซ้ำและตรรกะการถอยกลับที่เหมาะสม
การจัดการข้อผิดพลาด จัดการรหัสข้อผิดพลาด NinjaPear ทั้งหมด (401, 403, 404, 429, 500, 503)
Timeout configuration ตั้งค่าการหมดเวลาที่เหมาะสมสำหรับอุปกรณ์ปลายทางที่ทำงานเป็นเวลานาน

อธิบายให้ฉันเข้าใจราวกับว่าฉันอายุ 5 ขวบ

การรับรองตัวตน

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 ใช้ bearer tokens ในการตรวจสอบสิทธิ์ของผู้ใช้ ผู้ใช้แต่ละคนจะได้รับคีย์ลับที่สร้างแบบสุ่มภายใต้ ส่วน API ในแดชบอร์ด.

bearer token ถูกฉีดในส่วน Authorization เฮดเดอร์.

ไลบรารี Client

เราจัดเตรียม client libraries อย่างเป็นทางการ สำหรับ JavaScript และ Python เพื่อให้การรวม NinjaPear API ง่ายขึ้น

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 keys ทั้งหมดในผลิตภัณฑ์นั้น

เอนด์พอยต์ API ที่ต้องชำระค่า จำกัดไว้ที่ 50 คำขอต่อนาที.

สำหรับการจำกัดอัตรา Monitor และเอนด์พอยต์การจัดการเป้าหมายจะนับเป็นการเข้าถึง API ที่จ่ายแล้วแม้ว่าค่าใช้จ่ายเครดิตของเอนด์พอยต์คือ 0.

ในช่วงเวลาที่มีการใช้งานสูง ระบบของเราอาจทำให้ขีดจำกัดอัตราเข้มงวดขึ้นสำหรับบัญชีทั้งหมด เพื่อให้แน่ใจว่าบริการของเราสามารถเข้าถึงได้สำหรับผู้ใช้ทั้งหมด

เราส่งคืน HTTP 429 เมื่อคุณถูกจำกัดอัตรา. คุณยังสามารถรับ HTTP 429 หากความจุของเรามีข้อจำกัด.

คุณควรจัดการข้อผิดพลาด 429 และใช้การถอยห่างแบบเอกโพเนนเชียล

การตอบสนองที่ถูกจำกัดอัตรารวมถึง:

ส่วนหัว คำอธิบาย
Retry-After วินาทีที่ต้องรอก่อนลองใหม่
X-RateLimit-Limit คำขอสูงสุดที่อนุญาตในนาทีปัจจุบัน
X-RateLimit-Remaining จำนวนคำขอที่เหลือในนาทีปัจจุบัน
X-RateLimit-Reset Unix timestamp เมื่อนาทีปัจจุบันรีเซ็ต

ขีดจำกัดอัตราสำหรับ API ฟรี

เพื่อให้บริการ APIs ฟรีอย่างยั่งยืน ขีดจำกัดอัตราสำหรับ APIs ฟรีขึ้นอยู่กับแผนการสมัครสมาชิกของคุณ

ขีดจำกัดอัตราการใช้ API ฟรีใช้กับ Company Logo, Disposable Email Checker, View Credit Balance และการใช้ฟีด RSS

เครดิต

คำขอที่ถูกต้องแต่ละรายการต้องมีอย่างน้อย 0.1 เครดิต ที่จะประมวลผล เว้นแต่เป็นเอนด์พอยต์ API ฟรี

เครดิตจะถูกใช้ไปก็ต่อเมื่อคำขอถูกแยกวิเคราะห์สำเร็จเท่านั้น

คำขอที่ประสบความสำเร็จคือคำขอที่ส่งคืนด้วย 200 รหัสสถานะ HTTP

Cache การเรียกเก็บเงิน

สำหรับเอนด์พอยต์ที่มี use_cache พารามิเตอร์, สินค้าจะไม่ถูกเรียกเก็บเงินอีกครั้งเมื่อคำขอที่ได้รับการทำให้เป็นมาตรฐานเดียวกันถูกเสิร์ฟจากเวอร์ชันบันทึกแคชเดียวกันที่สินค้าจ่ายเงินไปก่อนหน้านี้ การตอบสนองรวม X-NinjaPear-Credit-Cost: 0 สำหรับการเข้าถึงแคชที่ซ้ำเหล่านี้.

use_cache=never ดำเนินการดึงข้อมูลใหม่เสมอและเรียกเก็บเงินตามปกติ use_cache=if-recent มีคุณสมบัติเฉพาะสำหรับการทำซ้ำฟรีในขณะที่บันทึกแคชอยู่ภายในหน้าต่างความสดใหม่ของเอนด์พอยต์

สำหรับเอนด์พอยต์ที่มีการแบ่งหน้า การเข้าถึงซ้ำฟรีจะจำกัดไว้เฉพาะหน้าที่จ่ายแล้วด้วยแบบสอบถาม ตัวกรอง สายเคอร์เซอร์ เดียวกัน และ page_size. หน้าที่จ่ายเงินแบบมีการแบ่งหน้าจะถูกส่งคืนอย่างแน่นอนเมื่อเกิด cache hit ซ้ำ รวมถึง next_page ค่า. หน้าต่อไปที่ยังไม่ได้ชำระเงินจะยังคงเรียกเก็บเงินตามปกติ

หมดเวลาและเวลาตอบสนอง API

ตำแหน่งข้อมูล API ของ NinjaPear ส่วนใหญ่ใช้เวลา 30-60 วินาทีจึงเสร็จสิ้น ใช้ระยะหมดเวลาการอ่าน 100 วินาทีสำหรับตำแหน่งข้อมูลเหล่านี้

ตำแหน่งข้อมูลเงินทุนบริษัทและบุคคลที่คล้ายกันเป็นตำแหน่งข้อมูลแบบสตรีมที่ใช้เวลานาน โดยมีขีดจำกัดสูงสุดห้านาที ใช้ระยะหมดเวลาการอ่าน 300 วินาทีสำหรับตำแหน่งข้อมูลทั้งสองนี้

กลุ่มตำแหน่งข้อมูล ระยะหมดเวลาการเชื่อมต่อ ระยะหมดเวลาการอ่าน ระยะหมดเวลาการเขียน ระยะหมดเวลาพูล
เงินทุนบริษัทและบุคคลที่คล้ายกัน 10 วินาที 300 วินาที 30 วินาที 10 วินาที
ตำแหน่งข้อมูลอื่นทั้งหมด 10 วินาที 100 วินาที 30 วินาที 10 วินาที

คุณได้รับการสนับสนุนให้ทำคำขอพร้อมกันไปยังบริการ API ของเราเพื่อเพิ่มอัตราการประมวลผล ดู บทความนี้ เกี่ยวกับวิธีเพิ่มปริมาณการประมวลผลสูงสุด

ข้อผิดพลาด

ข้อผิดพลาดทั่วไปที่อาจถูกส่งคืนโดย API ของเราดังต่อไปนี้

รหัส HTTP คิดค่าใช้จ่าย? คำอธิบาย
400 ไม่ พารามิเตอร์ที่ระบุไม่ถูกต้อง โปรดอ้างอิงเอกสารและเนื้อหาข้อความเพื่อข้อมูลเพิ่มเติม
401 ไม่ API Key ไม่ถูกต้อง
403 ไม่ คุณหมดเครดิตแล้ว
404 ใช่ ไม่พบทรัพยากรที่ขอมา (เช่น โปรไฟล์ผู้ใช้ บริษัท)
410 ไม่ API นี้ถูกยกเลิกแล้ว
429 ไม่ ถูกจำกัดอัตรา โปรดลองใหม่
500 ไม่ มีข้อผิดพลาดกับ API ของเรา โปรด ติดต่อเรา สำหรับความช่วยเหลือ
503 ไม่ การเพิ่มข้อมูลล้มเหลว โปรดลองอีกครั้ง

คุณจะไม่ถูกเรียกเก็บเงินสำหรับ คำขอที่ล้มเหลว.

การรับประกันความเข้ากันได้ย้อนหลัง

เรามุ่งมั่นในการรับประกันว่า API ของเรา ยังคงเข้ากันได้แบบย้อนหลัง ซึ่งช่วยให้คุณสามารถอินทิเกรตได้อย่างมั่นใจ การรับประกันนี้หมายความว่า เราจะไม่นำเสนอการเปลี่ยนแปลงที่ทำให้ฟังก์ชันที่มีอยู่เสียหาย หรือลบเอนด์พอยต์ โดยไม่มีช่วงเวลาแจ้งล่วงหน้า

โดยเฉพาะเราจะไม่แนะนำการเปลี่ยนแปลงที่ทำให้ระบบพังในวิธีต่อไปนี้

  1. เราจะไม่ลบ parameters และ response attributes ที่มีการบันทึก
  2. เราจะไม่เปลี่ยนประเภทข้อมูล ตามที่บันทึกไว้ใน API responses ของเรา

อย่างไรก็ตาม สิ่งต่อไปนี้ไม่ถือว่าเป็นการเปลี่ยนแปลงที่แตกหัก:

เราขอแนะนำอย่างยิ่งให้รวม API ของเรา ในลักษณะที่จะไม่แตก หากมี response attributes หรือ headers ใหม่ถูกนำเข้า

หากเราทำการเปลี่ยนแปลงใน 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

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
เว็บไซต์ ใช่ URL เว็บไซต์หรือชื่อบริษัทของบริษัทเป้าหมาย URL เว็บไซต์ (เช่น https://www.stripe.com) ขอแนะนำอย่างยิ่งเพื่อความแม่นยำ. https://www.stripe.com
cursor ไม่ เคอร์เซอร์ pagination จาก next_page ในการตอบสนองก่อนหน้า abc123
page_size ไม่ จำนวนผลลัพธ์ต่อหน้า (1-200 ค่าเริ่มต้น 200) 50
quality_filter ไม่ กรองผลลัพธ์คุณภาพต่ำออก (TLDs ไม่ดีเช่น .top, .xyz และเว็บไซต์ที่ไม่สามารถเข้าถึงได้) ตั้งค่าเป็น false เพื่อรวมผลลัพธ์ทั้งหมด. (ค่าเริ่มต้น: true) false
use_cache ไม่ ควบคุมการใช้แคช ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก ค่า: if-recent (ใช้ข้อมูล cached เมื่อ last scrape ภายใน 29 วัน มิฉะนั้น เพิ่มข้อมูล live), if-present (ค่าตั้งต้น; ส่งคืน cache ก่อน, เพิ่มข้อมูล live หากไม่มี), if-present-only (ส่งคืน cache เท่านั้น; ส่งคืน 404 หากไม่มี), never (เพิ่มข้อมูล live เสมอ) ค่าที่ไม่ถูกต้องจะใช้ค่าตั้งต้นของเอนด์พอยต์ if-present

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
customers รายชื่อบริษัทที่เป็นลูกค้าที่น่าจะเป็นของบริษัทเป้าหมาย เอนทิตี้ที่จ่ายเงินสำหรับผลิตภัณฑ์/บริการของเป้าหมาย รายการของ CustomerCompany objects
investors รายชื่อบริษัทที่เป็นนักลงทุน (บริษัท VC บริษัท PE เครือข่ายแองเจล) ของบริษัทเป้าหมาย รายการของ CustomerCompany objects
partner_platforms รายชื่อบริษัทที่เป็นพันธมิตร แพลตฟอร์ม หรือผู้ให้บริการที่บริษัทเป้าหมายใช้หรือผสานรวม (tech stack สื่อ หน่วยงาน) รายการของ CustomerCompany objects
next_page API URI ที่ทำหน้าที่เป็นเคอร์เซอร์สำหรับการแบ่งหน้า การทำตามลิงก์ URL นี้พร้อมคีย์ API ของคุณจะนำคุณไปยังหน้าผลลัพธ์ถัดไป ซึ่งจะเป็น null สำหรับหน้าสุดท้าย https://nubela.co/api/v1/customer/list?...

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
400 ไม่ ไม่สามารถแยกข้อมูลเพียงพอเกี่ยวกับบริษัท เป้าหมาย
404 ไม่ ไม่พบข้อมูลแคชเมื่อ use_cache=if-present-only

ลูกค้าบริษัท

Key คำอธิบาย ตัวอย่าง
name ชื่อบริษัท "Apple"
description คำอธิบายโดยย่อของบริษัท "Apple Inc. designs, manufactures, and markets smartphones..."
tagline สโลแกนหรือแนวโจทย์บริษัท "Think different."
เว็บไซต์ URL เว็บไซต์บริษัท "https://www.apple.com"
company_logo_url URL ไปยัง Company Logo API สำหรับบริษัท นี้ ขับเคลื่อนโดย เอนด์พอยต์โลโก้บริษัท. ตรวจสอบสิทธิ์ด้วย bearer token ของคุณ 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 URL โปรไฟล์ X (Twitter) "https://x.com/Apple"

หมายเหตุเกี่ยวกับ company_logo_url: URL นี้ขับเคลื่อนโดย เอนด์พอยต์โลโก้บริษัท. ตรวจสอบสิทธิ์ด้วย Bearer token ของคุณ (เหมือนกับ 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

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
เว็บไซต์ ใช่ URL เว็บไซต์หรือชื่อบริษัทของบริษัทเป้าหมาย URL เว็บไซต์ (เช่น https://www.stripe.com) ขอแนะนำอย่างยิ่งเพื่อความแม่นยำ. https://www.stripe.com
use_cache ไม่ ควบคุมการใช้แคช ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก ค่า: if-recent (ใช้ข้อมูล cached เมื่อ last scrape ภายใน 29 วัน มิฉะนั้น เพิ่มข้อมูล live), if-present (ค่าตั้งต้น; ส่งคืน cache ก่อน, เพิ่มข้อมูล live หากไม่มี), if-present-only (ส่งคืน cache เท่านั้น; ส่งคืน 404 หากไม่มี), never (เพิ่มข้อมูล live เสมอ) ค่าที่ไม่ถูกต้องจะใช้ค่าตั้งต้นของเอนด์พอยต์ if-present

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
competitors รายชื่อบริษัทคู่แข่งสำหรับบริษัทเป้าหมาย รายการของ บริษัทคู่แข่ง ออบเจกต์

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
400 ไม่ ไม่สามารถแยกข้อมูลเพียงพอเกี่ยวกับบริษัท เป้าหมาย
404 ไม่ ไม่พบข้อมูลแคชเมื่อ use_cache=if-present-only

บริษัทคู่แข่ง

Key คำอธิบาย ตัวอย่าง
company_details_url URL ไปยัง Company Details เอนด์พอยต์ สำหรับคู่แข่งนี้ ยืนยันตัวตนด้วย bearer token ของคุณเพื่อดึงข้อมูลรายละเอียดบริษัท ที่สมบูรณ์ "https://nubela.co/api/v1/company/details?website=https://www.adyen.com"
เว็บไซต์ URL เว็บไซต์บริษัท "https://www.adyen.com"
competition_reason ทำไมบริษัทนี้จึงถือว่าเป็นคู่แข่ง หนึ่งในค่าจาก เหตุผลการแข่งขัน enum. "product_overlap"

Enum เหตุผลการแข่งขัน

ค่า คำอธิบาย
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

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
เว็บไซต์ ใช่ URL เว็บไซต์หรือชื่อบริษัทของบริษัทเป้าหมาย URL เว็บไซต์ (เช่น https://matterport.com) ขอแนะนำอย่างยิ่งเพื่อความแม่นยำ. https://matterport.com
use_cache ไม่ ควบคุมการใช้แคช ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก ค่า: if-recent (ค่าตั้งต้น; ใช้ข้อมูล cached เมื่อ last scrape ภายใน 29 วัน มิฉะนั้น เพิ่มข้อมูล live), if-present (ส่งคืน cache ก่อน, เพิ่มข้อมูล live หากไม่มี), if-present-only (ส่งคืน cache เท่านั้น; ส่งคืน 404 หากไม่มี), never (เพิ่มข้อมูล live เสมอ) ค่าที่ไม่ถูกต้องจะใช้ค่าตั้งต้นของเอนด์พอยต์ if-recent

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
products รายชื่อผลิตภัณฑ์และบริการที่บริษัทเป้าหมายนำเสนอ ส่งคืนรายชื่อว่างเปล่าเมื่อบริษัทนั้นถูกต้องแต่ไม่พบผลิตภัณฑ์หรือบริการใด รายการของ ออบเจ็กต์ผลิตภัณฑ์ ออบเจกต์

ออบเจ็กต์ผลิตภัณฑ์

Key คำอธิบาย ตัวอย่าง
name ชื่อผลิตภัณฑ์หรือบริการแบบเต็ม ผลิตภัณฑ์ที่มีชื่อเฉพาะ SKUs แพลตฟอร์ม หรือการเสนอที่มีราคาแยกต่างหากจะได้รับการส่งคืนเป็นแถวแยกต่างหาก "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..."
categories หมวดหมู่ผลิตภัณฑ์ รวมถึงคลาสผลิตภัณฑ์ อุตสาหกรรม หรือการจัดกลุ่มตามกรณีการใช้งานที่เว็บไซต์รองรับ ["3D Modeling", "Digital Twins"]
tags คุณลักษณะผลิตภัณฑ์สั้น รูปแบบการใช้งาน ป้ายกำกับเทคโนโลยี หรือแท็กที่สามารถค้นหาได้อื่นๆ ["ai-powered", "self-hosted"]
structured_features แผนที่คุณลักษณะโดยใช้คีย์คุณลักษณะมาตรฐานและค่าบูลีน สตริง หรือตัวเลข คีย์จะแตกต่างกันตามหมวดหมู่ผลิตภัณฑ์ { "secure_cloud_hosting": true }
freeform_features วลีคุณลักษณะที่ไม่พอดีกับคีย์มาตรฐาน ["unmatched 3D visual clarity"]
pricing รูปแบบราคา ราคาเริ่มต้น และระดับราคา เมื่อมีราคา null เมื่อไม่สามารถกำหนดราคาได้. Pricing Object
integrations ชื่อผลิตภัณฑ์ แพลตฟอร์ม หรือบริการที่ผลิตภัณฑ์นี้สามารถทำงานร่วมกับได้ ["Procore", "Autodesk", "AWS"]
platforms แพลตฟอร์มที่ผลิตภัณฑ์มีให้บริการ เช่น web, ios, android, macos, windows, linux, api, cli, หรือ chrome-extension. ["web"]
source_urls URLs จากเว็บไซต์ของบริษัท เป้าหมาย ที่พบข้อมูลผลิตภัณฑ์ ["https://matterport.com/solutions/design-construction"]

Pricing Object

Key คำอธิบาย ตัวอย่าง
model รูปแบบราคา หนึ่งในค่าจาก Pricing Model Enum. "subscription"
starts_at_monthly_usd ราคา USD รายเดือนที่ต่ำที่สุดที่พบบนเว็บไซต์ของบริษัท null เมื่อไม่ทราบหรือไม่พร้อมใช้งาน. 29.0
tiers ระดับราคาที่พบบนเว็บไซต์ของบริษัท รายการของ PricingTier Object ออบเจกต์

PricingTier Object

Key คำอธิบาย ตัวอย่าง
name ชื่อระดับราคา "Business"
price_usd_monthly ราคา USD รายเดือนสำหรับระดับนี้ null เมื่อไม่ทราบ. 99.0
features คุณลักษณะที่แสดงรายการสำหรับชั้นราคานี้ ["SSO", "Audit logs"]

Pricing Model Enum

ค่า คำอธิบาย
freemium แผนฟรีพร้อมการอัปเกรดแบบจ่ายเงิน
subscription การสมัครสมาชิกแบบชำระเงินประจำ
one-time การซื้อครั้งเดียว
payg ราคา Pay-as-you-go
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

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
เว็บไซต์ ใช่ URL เว็บไซต์ของบริษัทเป้าหมาย https://www.stripe.com

การตอบสนอง

A 200 การตอบสนองส่งคืนโลโก้เป็นภาพ PNG ดิบด้วย Content-Type: image/png.

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
404 ไม่ ไม่พบโลโก้สำหรับโดเมนที่กำหนด

ส่วนหัวการตอบสนอง

คีย์ส่วนหัว คำอธิบาย ตัวอย่าง
X-NinjaPear-Credit-Cost ต้นทุนเครดิตทั้งหมดสำหรับการเรียก API นี้ 0

เอนด์พอยต์รายละเอียดบริษัท

GET /api/v1/company/details

เฉลี่ย 8.1s

ราคา

รายการ ไม่บังคับ เครดิต
คำขอพื้นฐาน ระบบจะเรียกเก็บเครดิตแม้ว่าจะไม่พบข้อมูล ไม่ 3
include_employee_count=true ใช่ +2
follower_count=include ใช่ +1
addresses=best-effort-exhaustive ใช่ +2
สูงสุดต่อคำขอ 8

ดึงข้อมูลเมตาของบริษัท รวมถึงคำอธิบาย อุตสาหกรรม URL โซเชียลมีเดีย ทีมผู้นำปัจจุบัน และอื่น ๆ

คุณต้องจัดเตรียมอย่างน้อยหนึ่งในชุดค่าป้อนข้อมูลนี้:

ระบุเพียงหนึ่งรายการจาก เว็บไซต์ หรือ socmed_url. A socmed_url จะถูกแยกชื่อบริษัทภายในระบบ แล้วใช้กระบวนการแปลงชื่อบริษัทเป็นเว็บไซต์แบบเดียวกับที่ใช้โดย เว็บไซต์ ไม่มีค่าบริการเพิ่มเติม

curl -G \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "website=https://www.stripe.com" \
  "https://nubela.co/api/v1/company/details"
curl -G \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "socmed_url=https://x.com/stripe" \
  "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

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
เว็บไซต์ เงื่อนไข The website URL or company name of the target company. Provide exactly one of เว็บไซต์ หรือ socmed_url ขอแนะนำอย่างยิ่งให้ใช้ URL เว็บไซต์เพื่อความแม่นยำ https://www.stripe.com
socmed_url เงื่อนไข URL โปรไฟล์บริษัทที่ระบุชื่อได้จาก LinkedIn, X, Crunchbase, TikTok, Facebook, YouTube, Twitch, Instagram, Pinterest, Reddit หรือ Threads โปรดระบุเพียงหนึ่งรายการจาก เว็บไซต์ หรือ socmed_url อินพุตนี้ไม่มีค่าบริการเพิ่มเติม

ระบบจะแยกวิเคราะห์ URL ที่ระบุภายในระบบเพื่อดึงชื่อบริษัท จากนั้นจึงใช้ชื่อดังกล่าวเพื่อค้นหาเว็บไซต์ของบริษัท NinjaPear จะไม่เข้าชมหรือดึงข้อมูลจาก URL โซเชียลมีเดียที่ระบุในกระบวนการค้นหานี้

รูปแบบโปรไฟล์โซเชียลที่ระบุชื่อได้และรองรับ ได้แก่ LinkedIn /company/{name}, X หรือ Twitter /{handle}, Crunchbase /organization/{name}, TikTok /@handle, Facebook /{handle}, YouTube /@handle, /c/{name}, หรือ /user/{name}, Twitch /{handle}, Instagram /{handle}, Pinterest /{handle}, Reddit /r/{name} และ Threads /@handle ไม่รองรับ URL เนื้อหาและ ID โปรไฟล์ที่ไม่สื่อถึงชื่อ
https://x.com/stripe
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 (ค่าตั้งต้น; ใช้ข้อมูล cached เมื่อ last scrape ภายใน 29 วัน มิฉะนั้น เพิ่มข้อมูล live), if-present (ส่งคืน cache ก่อน, เพิ่มข้อมูล live หากไม่มี), if-present-only (ส่งคืน cache เท่านั้น; ส่งคืน 404 หากไม่มี), never (เพิ่มข้อมูล live เสมอ) ค่าที่ไม่ถูกต้องจะใช้ค่าตั้งต้นของเอนด์พอยต์ if-recent

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
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 ไปยัง เอนด์พอยต์โลโก้บริษัท. ตรวจสอบสิทธิ์ด้วย bearer token คีย์ API ของคุณ "https://nubela.co/api/v1/company/logo?website=https://stripe.com"
cover_pic_url URL ไปยังภาพปก/แบนเนอร์ ของบริษัท "https://example.com/cover.png"
facebook_url Facebook profile URL "https://facebook.com/stripe"
twitter_url URL โปรไฟล์ Twitter/X "https://twitter.com/stripe"
instagram_url URL โปรไฟล์ Instagram 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 รายการที่อยู่ของบริษัท ค่าเริ่มต้นคือ HQ เท่านั้นเว้นแต่ addresses=best-effort-exhaustive ได้รับการร้องขอ. [Address Object]
executives รายการผู้บริหารและสมาชิกคณะกรรมการของบริษัท [Executive Object]
similar_companies URL ไปยัง เอนด์พอยต์รายการคู่แข่ง. ตรวจสอบสิทธิ์ด้วย bearer token ของคุณเพื่อดึงคู่แข่ง "https://nubela.co/api/v1/competitor/listing?website=https%3A%2F%2Fstripe.com"
updates URL ไปยัง เอนด์พอยต์การอัปเดตบริษัท. ตรวจสอบสิทธิ์ด้วย bearer token ของคุณเพื่อดึงการอัปเดต "https://nubela.co/api/v1/company/updates?website=https%3A%2F%2Fstripe.com"
funding URL ไปยัง เอนด์พอยต์เงินทุนบริษัท. ตรวจสอบสิทธิ์ด้วย bearer token ของคุณเพื่อดึงประวัติการระดมทุน "https://nubela.co/api/v1/company/funding?website=https%3A%2F%2Fstripe.com"
public_listing ข้อมูลบริษัทจดทะเบียนสาธารณะ รวมถึงข้อมูลหุ้นและข้อมูลทางการเงิน null สำหรับบริษัทเอกชน. ออบเจ็กต์ PublicListing

Address Object

Key คำอธิบาย ตัวอย่าง
address_type ประเภทของที่อยู่ (HEADQUARTERS, REGISTERED, BRANCH, MAILING, OTHER) "HEADQUARTERS"
line1 ที่อยู่บรรทัดแรก "354 Oyster Point Blvd"
line2 ที่อยู่บรรทัดที่สอง null
city ชื่อเมือง "South San Francisco"
state รัฐ จังหวัด หรือภูมิภาค "CA"
postal_code รหัสไปรษณีย์/ZIP "94080"
country_code ISO 3166-1 alpha-2 รหัสประเทศ "US"
country ชื่อประเทศแบบเต็ม "United States"
is_primary ว่านี่คือที่อยู่หลักหรือไม่ true

Executive Object

Key คำอธิบาย ตัวอย่าง
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 token ของคุณเพื่อดึงโปรไฟล์ของผู้บริหาร 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.

Key คำอธิบาย ตัวอย่าง
stock_symbol สัญลักษณ์ ticker หุ้น "AAPL"
ipo_date วันที่ IPO ในรูปแบบ ISO "1980-12-12"
isin International Securities Identification Number "US0378331005"
figi ตัวบ่งชี้เครื่องมือทางการเงินระดับโลก "BBG000B9XRY4"
cusip ตัวระบุ CUSIP "037833100"
lei Legal Entity Identifier "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 ไม่ ระบุเพียงหนึ่งรายการจาก เว็บไซต์ หรือ socmed_url
400 ไม่ socmed_url ไม่ใช่ URL โปรไฟล์บริษัทที่ระบุชื่อได้และรองรับ
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

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
เว็บไซต์ ใช่ URL เว็บไซต์หรือชื่อบริษัทของบริษัทเป้าหมาย URL เว็บไซต์ (เช่น https://www.stripe.com) ขอแนะนำอย่างยิ่งเพื่อความแม่นยำ. https://www.stripe.com
use_cache ไม่ ควบคุมการใช้แคช ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก ค่า: if-recent (ค่าตั้งต้น; ใช้ข้อมูล cached เมื่อ last scrape ภายใน 29 วัน มิฉะนั้น เพิ่มข้อมูล live), if-present (ส่งคืน cache ก่อน, เพิ่มข้อมูล live หากไม่มี), if-present-only (ส่งคืน cache เท่านั้น; ส่งคืน 404 หากไม่มี), never (เพิ่มข้อมูล live เสมอ) ค่าที่ไม่ถูกต้องจะใช้ค่าตั้งต้นของเอนด์พอยต์ if-recent

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
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

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
เว็บไซต์ ใช่ URL เว็บไซต์หรือชื่อบริษัทของบริษัทเป้าหมาย URL เว็บไซต์ (เช่น https://www.stripe.com) ขอแนะนำอย่างยิ่งเพื่อความแม่นยำ. https://www.stripe.com
use_cache ไม่ ควบคุมการใช้แคช ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก ค่า: if-recent (ค่าตั้งต้น; ใช้ข้อมูล cached เมื่อ last scrape ภายใน 1 วัน มิฉะนั้น เพิ่มข้อมูล live), if-present (ส่งคืน cache ก่อน, เพิ่มข้อมูล live หากไม่มี), if-present-only (ส่งคืน cache เท่านั้น; ส่งคืน 404 หากไม่มี), never (เพิ่มข้อมูล live เสมอ) ค่าที่ไม่ถูกต้องจะใช้ค่าตั้งต้นของเอนด์พอยต์ if-recent

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
blogs รายการ RSS ฟีด URLs (หากค้นพบ RSS) หรือ URLs หน้าบล็อก ["https://stripe.com/blog/feed.rss"]
x_profile URL โปรไฟล์ X/Twitter หรือ null หากไม่พบ "https://x.com/stripe"
youtube_channels รายการ URL ช่อง YouTube ที่ค้นพบสำหรับบริษัท หรือว่างเปล่าหากไม่พบ ["https://www.youtube.com/channel/UCdog0Ap82jpFvSnxorxF_lA"]
updates รายการ update objects (บล็อกโพสต์ ทวีต และวิดีโอ YouTube ผสมกัน) เรียงลำดับตามเวลาจากมากไปน้อย ดู Update Object
timestamp เวลา UTC เมื่อดึงข้อมูลนี้ "2025-03-16T10:00:00+00:00"

Update Object

Key คำอธิบาย ตัวอย่าง
url URL ของโพสต์บล็อก ทวีต หรือวิดีโอ YouTube "https://stripe.com/blog/example"
title ชื่อเรื่องของโพสต์ (80 ตัวอักษรแรกสำหรับทวีต) "Stripe's annual letter"
description คำอธิบายโพสต์, ข้อความ tweet, หรือคำอธิบายวิดีโอ (สูงสุด 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" ด้านล่าง).

Retrieve funding history for a company given its website URL. Returns total funds raised, individual funding rounds with dates and amounts, native currencies, USD conversions when available, and participating investors with their websites.

Native funding amounts are returned in amount plus currency. The legacy amount_usd และ total_funds_raised_usd fields are populated only when the source currency is USD or a USD conversion is available. If FX conversion is unavailable, native amount fields remain populated and the matching USD field is null.

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": 9810000000,
  "currency": "USD",
  "total_funds_raised_usd": 9810000000,
  "credit_cost": 7,
  "funding_rounds": [
    {
      "round_type": "SECONDARY_SALE",
      "date": "2026-02-01",
      "amount": null,
      "currency": null,
      "amount_usd": null,
      "investors": [
        {
          "name": "Thrive Capital",
          "website": "thrivecap.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Coatue",
          "website": "coatue.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Andreessen Horowitz",
          "website": "a16z.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        }
      ]
    },
    {
      "round_type": "SERIES_I",
      "date": "2024-04-01",
      "amount": 694200000,
      "currency": "USD",
      "amount_usd": 694200000,
      "investors": [
        {
          "name": "Sequoia Capital",
          "website": "sequoiacap.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Brookfield",
          "website": "brookfield.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Paradigm",
          "website": "paradigm.co",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        }
      ]
    },
    {
      "round_type": "SERIES_I",
      "date": "2023-03-01",
      "amount": 6500000000,
      "currency": "USD",
      "amount_usd": 6500000000,
      "investors": [
        {
          "name": "GIC",
          "website": "gic.com.sg",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Goldman Sachs",
          "website": "goldmansachs.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Temasek",
          "website": "temasek.com.sg",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Thrive Capital",
          "website": "thrivecap.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        }
      ]
    },
    {
      "round_type": "SERIES_H",
      "date": "2021-03-01",
      "amount": 600000000,
      "currency": "USD",
      "amount_usd": 600000000,
      "investors": [
        {
          "name": "Allianz X",
          "website": "allianzx.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Fidelity",
          "website": "fidelity.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Baillie Gifford",
          "website": "bailliegifford.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        }
      ]
    },
    {
      "round_type": "SEED",
      "date": "2011-03-01",
      "amount": 2000000,
      "currency": "USD",
      "amount_usd": 2000000,
      "investors": [
        {
          "name": "Peter Thiel",
          "website": null,
          "type": "angel",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Sequoia Capital",
          "website": "sequoiacap.com",
          "type": "company",
          "amount": null,
          "currency": null,
          "amount_usd": null
        },
        {
          "name": "Elon Musk",
          "website": null,
          "type": "angel",
          "amount": null,
          "currency": null,
          "amount_usd": null
        }
      ]
    }
  ]
}

พารามิเตอร์ URL

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
เว็บไซต์ ใช่ URL เว็บไซต์หรือชื่อบริษัทของบริษัทเป้าหมาย URL เว็บไซต์ (เช่น https://www.stripe.com) ขอแนะนำอย่างยิ่งเพื่อความแม่นยำ. https://www.stripe.com
use_cache ไม่ ควบคุมการใช้แคช ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก ค่า: if-recent (ค่าตั้งต้น; ใช้ข้อมูล cached เมื่อ last scrape ภายใน 29 วัน มิฉะนั้น เพิ่มข้อมูล live), if-present (ส่งคืน cache ก่อน, เพิ่มข้อมูล live หากไม่มี), if-present-only (ส่งคืน cache เท่านั้น; ส่งคืน 404 หากไม่มี), never (เพิ่มข้อมูล live เสมอ) ค่าที่ไม่ถูกต้องจะใช้ค่าตั้งต้นของเอนด์พอยต์ if-recent

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
เว็บไซต์ โดเมนบริษัทที่การตอบสนองอธิบาย สะท้อนกลับจากคำขอ "stripe.com"
total_funds_raised Total funding raised in the source currency, or null หากไม่เปิดเผย 9810000000
currency ISO 4217 currency code for total_funds_raised, หรือ null หากไม่ทราบ "USD"
total_funds_raised_usd Total funding raised converted to USD, or null if undisclosed or FX conversion is unavailable 9810000000
funding_rounds Array ของวัตถุ FundingRound ที่เรียงลำดับตามวันที่จากมากไปน้อย ดูด้านล่าง
credit_cost เครดิตทั้งหมดที่เรียกเก็บสำหรับการเรียกนี้ (2 base + 1 ต่อนักลงทุนที่ไม่ซ้ำกัน) ตอบสนองสตรีมส่งมอบต้นทุนเครดิตในเนื้อหาการตอบสนองแทนที่จะเป็น X-NinjaPear-Credit-Cost เฮดเดอร์. 7

FundingRound Object

Key คำอธิบาย ตัวอย่าง
round_type ประเภทของรอบเงินทุน (ดูค่าประเภทรอบด้านล่าง) "SERIES_A"
date วันที่ของรอบใน YYYY-MM-DD รูปแบบ หรือ null หากไม่ทราบ "2023-03-01"
amount Amount raised in this round in the source currency, or null หากไม่เปิดเผย 600000000
currency ISO 4217 currency code for amount, หรือ null หากไม่ทราบ "USD"
amount_usd Amount raised in this round converted to USD, or null if undisclosed or FX conversion is unavailable 600000000
investors Array ของวัตถุ Investor ที่เข้าร่วมในรอบนี้ ดูด้านล่าง

Investor Object

Key คำอธิบาย ตัวอย่าง
name ชื่อของผู้ลงทุน (บริษัท หรือบุคคล) "Sequoia Capital"
เว็บไซต์ โดเมนเว็บไซต์ของนักลงทุน หรือ null หากไม่ทราบ "sequoiacap.com"
type อย่างใดอย่างหนึ่ง "company" (บริษัท VC, กองทุน, องค์กร) หรือ "angel" (บุคคล) "company"
amount Amount this investor contributed in the source currency, or null หากไม่เปิดเผย null
currency ISO 4217 currency code for amount, หรือ null หากไม่ทราบ null
amount_usd Amount this investor contributed converted to USD, or null if undisclosed or FX conversion is unavailable null

ค่า Round Type

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 trailers ไม่รองรับ ดังนั้นต้นทุนเครดิตจึงถูกส่งมาในเนื้อหาข้อมูลตอบสนอง ( 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 ต่อนักลงทุน) Cache hits เท่านั้น 7
X-NinjaPear-Cache-Age-Days อายุของข้อมูลที่ส่งคืนในจำนวนวันเต็ม 0 เมื่อข้อมูลสดใหม่ถูกส่งกลับจากการเพิ่มข้อมูล. 12

รหัสข้อผิดพลาด

ข้อผิดพลาด Client-side (HTTP 400 / 403) ถูกส่งคืนก่อนที่เนื้อหา Streaming เริ่มต้น ในกรณี Cache miss ข้อผิดพลาด Server-side จะถูกส่งเป็น HTTP 200 ด้วย error และ error_code เขตข้อมูลในเนื้อหาการตอบสนอง — เพราะการเชื่อมต่อสตรีมได้ถูกสร้างขึ้นแล้ว รหัสสถานะจึงไม่สามารถเปลี่ยนแปลงได้ ไคลเอนต์ที่เคยแยกแขนงออกมาใน response.status_code == 404 ควรแยกสาขาบน error_code เขตข้อมูลแทน.

รหัสสถานะ เรียกเก็บแล้วหรือ? error_code (body) คำอธิบาย
400 ไม่ พารามิเตอร์เว็บไซต์ขาดหายไปหรือไม่ถูกต้อง
403 ไม่ เครดิตไม่เพียงพอ
404 ไม่ ไม่พบข้อมูลแคชเมื่อ use_cache=if-present-only
200 (body มีข้อผิดพลาด) ใช่ (2 เครดิต) no_funding_data ไม่สามารถค้นหาข้อมูลเงินทุนสำหรับเว็บไซต์ที่กำหนด funding_rounds คือ [].
200 (body มีข้อผิดพลาด) ไม่ 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 codes ที่สมบูรณ์. ค่าเริ่มต้นคือ us เมื่อละไว้. us
คำใบ้ ไม่ ให้คำแนะนำเพื่อแยกความแตกต่างระหว่างบริษัทที่มีชื่อคล้ายกันในประเทศเดียวกัน cybersecurity firm

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
เว็บไซต์ 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), ค่าใช้ token คือ 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 ใช่ โดเมนบริษัท ส่วน Protocol และ Path จะถูกลบออกหากมี stripe.com

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
work_email ที่อยู่อีเมลงานโดยความพยายามสูงสุด null หากไม่พบอีเมลสาธารณะและไม่สามารถอนุมานรูปแบบได้ "[email protected]" | null

ส่วนหัวการตอบสนอง

คีย์ส่วนหัว คำอธิบาย ตัวอย่าง
X-NinjaPear-Credit-Cost เครดิตทั้งหมดที่เรียกเก็บสำหรับการเรียกนี้ 2 เมื่อค้นหาสำเร็จ; 0.5 เมื่อไม่พบ (ค่าใช้งาน token ป้องกันการละเมิด). 2 หรือ 0.5

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
400 ไม่ ขาดหายไปหรือไม่ถูกต้อง first_name / domain.
403 ไม่ เครดิตไม่เพียงพอ
503 ไม่ บริการไม่พร้อมใช้งานชั่วคราว ลองใหม่ภายหลัง

เอนด์พอยต์ Person Profile

GET /api/v2/employee/profile

รวดเร็ว เฉลี่ย 8.0s รายละเอียด เฉลี่ย 12.3s

ค่าใช้จ่าย: 3 เครดิต / คำขอ. เครดิตจะถูกเรียกเก็บแม้ว่าไม่พบข้อมูล.

คุณต้องจัดเตรียมอย่างน้อยหนึ่งในชุดค่าป้อนข้อมูลนี้:

คุณสามารถเพิ่มพารามิเตอร์เพิ่มเติมเพื่อปรับปรุงความแม่นยำได้เสมอ ตัวอย่างเช่น การให้ work_email พร้อมกับ first_name, last_name, role, และ location จะให้ผลลัพธ์ที่ดีกว่า work_email alone.

curl -G \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "[email protected]" \
  --data-urlencode "location=San Francisco, California, United States" \
  "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
location ไม่ คำแนะนำตำแหน่งที่ตั้งแบบข้อความอิสระเพื่อเพิ่มความแม่นยำในการจับคู่บุคคล Austin, Texas, United States
slug ไม่ Person slug เพื่อค้นหา โปรไฟล์ที่เพิ่มข้อมูลแล้วโดยตรง elon-musk
id ไม่ Person ID เพื่อค้นหา โปรไฟล์ที่เพิ่มข้อมูลแล้วโดยตรง abc123de-...
enrichment ไม่ ควบคุมความลึกของการเพิ่มข้อมูลแบบสดใหม่ ค่า: detailed (ค่าเริ่มต้น; รอการเพิ่มข้อมูลแบบละเอียดก่อนส่งคืน), fast (ส่งคืนอย่างรวดเร็วและเริ่มการเพิ่มข้อมูลแบบละเอียดในพื้นหลัง).

การตอบสนองแบบรวดเร็วจะมีรายละเอียดชีวประวัติน้อยกว่า เช่น ข้อมูลเว็บไซต์และรูปภาพโปรไฟล์ แต่จะส่งคืนประวัติการทำงานและการศึกษาที่มีโครงสร้างอย่างรวดเร็ว

คำขอการเพิ่มข้อมูลแบบรวดเร็วจะเริ่มการเพิ่มข้อมูลโดยละเอียดในพื้นหลังด้วย และคุณมีสิทธิ์ได้รับผลลัพธ์นั้นด้วย สอบถามคำขอเดียวกันด้วยพารามิเตอร์เดียวกันและ use_cache=if-recent 10 ถึง 30 วินาทีต่อมาเพื่อดึงผลลัพธ์ที่เพิ่มข้อมูลแล้วอย่างสมบูรณ์โดยไม่มีค่าใช้งานเพิ่มเติม หยุดการค้นหาเมื่อ X-NinjaPear-Enrichment-Status ส่วนหัวการตอบสนองคือ complete. เมื่อการเพิ่มข้อมูลโดยละเอียดเสร็จสิ้น คำขอเดียวกันจะส่งคืนโปรไฟล์ที่มีรายละเอียดและแคชไว้โดยไม่มีค่าใช้งานเพิ่มเติม

ใช้ enrichment=detailed เมื่อคุณต้องการการตอบกลับแบบเต็มและไม่กังวลเรื่องการรอ ใช้ enrichment=fast เมื่อคุณต้องการผลลัพธ์ที่รวดเร็วสำหรับกรณีใช้งาน เช่น การเติมข้อมูลใน UI.
detailed
use_cache ไม่ ควบคุมการใช้แคช ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก ค่า: if-recent (ค่าตั้งต้น; ใช้ข้อมูล cached เมื่อ last scrape ภายใน 29 วัน มิฉะนั้น เพิ่มข้อมูล live), if-present (ส่งคืน cache ก่อน, เพิ่มข้อมูล live หากไม่มี), if-present-only (ส่งคืน cache เท่านั้น; ส่งคืน 404 หากไม่มี), never (เพิ่มข้อมูล live เสมอ) ค่าที่ไม่ถูกต้องจะใช้ค่าตั้งต้นของเอนด์พอยต์ if-recent

การรวมกันของอินพุต ที่ถูกต้อง

การรวม ตัวอย่าง
work_email alone [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

สามารถรวมพารามิเตอร์เพิ่มเติมได้เสมอเพื่อปรับปรุงความแม่นยำของผลลัพธ์

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
id ID บุคคล ที่ไม่ซ้ำกัน มีอยู่เมื่อโปรไฟล์ได้รับการสนับสนุนจากบันทึกบุคคล ที่เก็บไว้ "abc123de-f456-7890-abcd-ef1234567890"
slug slug บุคคล ที่ไม่ซ้ำกัน มีอยู่เมื่อโปรไฟล์ได้รับการสนับสนุนจากบันทึกบุคคล ที่เก็บไว้ "elon-musk"
profile_pic_url URL ไปยังภาพโปรไฟล์ของบุคคล (จาก X/Twitter) อาจจะเป็น 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. 195000000
following_count จำนวนบัญชี X/Twitter ที่ติดตาม อาจเป็น 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 URL ไปยังโปรไฟล์ X/Twitter อาจเป็น null. "https://x.com/elonmusk"
personal_website URL เวบไซต์ส่วนตัว อาจเป็น null. "https://elonmusk.com"
work_experience รายการประวัติการทำงาน ล่าสุดก่อน [วัตถุ WorkExperience]
education รายการศึกษา ล่าสุดก่อน [วัตถุการศึกษา]
work_email_lookup URL ที่สร้างไว้แล้ว ของ เอนด์พอยต์อีเมลงาน สำหรับบุคคลนี้ พร้อมกับ first_name, last_name, และ domain (เว็บไซต์ของประสบการณ์งานล่าสุด) ได้มาแล้ว เรียกใช้โดยตรงด้วย bearer token ของคุณเพื่อได้รับอีเมลงานของบุคคล — ไม่จำเป็นต้อง re-pass params. ต้นทุน 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

Key คำอธิบาย ตัวอย่าง
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

วัตถุการศึกษา

Key คำอธิบาย ตัวอย่าง
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 pending หมายถึง การตอบสนองคือโปรไฟล์ที่รวดเร็วและการเพิ่มข้อมูลรายละเอียดยังคงทำงานหรือรอให้เสร็จสิ้น. complete หมายความว่าการตอบกลับเป็นโปรไฟล์แคชแบบละเอียดหรือผลลัพธ์การเพิ่มข้อมูลแบบละเอียด enrichment=fast ให้เรียกซ้ำจนกว่าส่วนหัวนี้จะเป็น complete. complete

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
400 ไม่ ข้อมูลนำเข้าไม่ถูกต้อง ต้องให้ work_email, หรือ first_name + employer_website, หรือ employer_website + role.
400 ไม่ ไม่ถูกต้อง enrichment. ใช้ fast หรือ detailed. ส่วนที่เลิกใช้แล้ว speed พารามิเตอร์ไม่ได้รับการยอมรับ.
400 ไม่ รูปแบบอีเมลไม่ถูกต้อง
400 ไม่ work_email เป็นอีเมลส่วนตัว/ฟรี (เช่น [email protected]). ให้อีเมลงาน corporate
403 ไม่ เครดิตไม่เพียงพอ
404 ไม่ work_email เป็นกล่องจดหมายตามบทบาท/ทั่วไป (เช่น info@, support@, sales@, noreply@) ที่ไม่ map ไปยังบุคคลใดบุคคลหนึ่ง.
404 ไม่ ไม่พบข้อมูลแคชเมื่อ use_cache=if-present-only
404 ใช่ (3 เครดิต) ไม่สามารถค้นหาข้อมูลโปรไฟล์สำหรับอินพุตที่กำหนด
503 ไม่ บริการไม่พร้อมใช้งานชั่วคราว ลองใหม่ภายหลัง

เอนด์พอยต์คนที่คล้ายกัน

GET /api/v1/employee/similar

ค่าใช้จ่าย: 10 เครดิตฐาน + 5 เครดิตต่อ (บริษัท, บทบาท) ที่พยายาม ค่าใช้จ่ายฐานจะถูกเรียกเก็บโดยไม่คำนึงถึงว่าพบคนที่คล้ายกันหรือไม่ เนื่องจากเอนด์พอยต์ใช้ทรัพยากรการเพิ่มข้อมูลแบบเรียลไทม์เพื่อให้บริการทุกคำขอ ผลลัพธ์ที่แคชไว้ฟรี (ดูด้านล่าง).

ค้นหาผู้คนที่ คล้ายคลึง ไปยังบุคคลเป้าหมาย — ที่กำหนดเป็นบุคคลที่ถือ บทบาทเดียวกันที่บริษัทคู่แข่ง. กำหนดเป้าหมาย (เช่น CEO ของ nubela.co), เอนด์พอยต์ระบุนายจ้างปัจจุบันของเป้าหมาย, ค้นหาคู่แข่งของนายจ้างนั้น, และพยายามเพิ่มข้อมูลบุคคลในตำแหน่งเดียวกันที่ผู้แข่งขันแต่ละรายในเวลาจริง. Response จะ return โปรไฟล์ของเป้าหมาย, รายการ (บริษัท, บทบาท) tuples ที่เราพยายามค้นหา, และบุคคลที่คล้ายกันที่เราเพิ่มข้อมูลแล้ว.

ข้อมูลนำเข้าเหมือนกับ เอนด์พอยต์ Person Profile. คุณต้องระบุอย่างน้อยหนึ่งของการรวมอินพุตเหล่านี้:

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

เหมือนกับ พารามิเตอร์ URL Person Profile เอนด์พอยต์.

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
work_email เงื่อนไข ที่อยู่อีเมลงานของบุคคลเป้าหมาย จำเป็นถ้า employer_website ไม่ได้จัดเตรียม. [email protected]
first_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 alone [email protected]
first_name + employer_website ?first_name=Tim&employer_website=https://apple.com
employer_website + role ?employer_website=https://apple.com&role=CEO

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
เป้าหมาย โปรไฟล์ที่สมบูรณ์ของบุคคลเป้าหมายที่ได้รับการแก้ไข โครงร่างเดียวกับ เอนด์พอยต์ Person Profile. { "first_name": "Tim", ... }
attempted_searches รายการของ (บริษัท, บทบาท) tuples ที่เราพยายามเพิ่มข้อมูล รายการหนึ่งต่อคู่แข่งของนายจ้างปัจจุบันของเป้าหมาย ขับเคลื่อน billing ต่อ tuple (เครดิต 5 แต่ละอัน) [AttemptedSearch Object]
similar_people รายการโปรไฟล์ที่เพิ่มข้อมูลแล้วสำหรับผู้ที่มีบทบาทเดียวกันที่บริษัทคู่แข่ง อาจเป็นส่วนย่อยของ attempted_searches (บางครั้ง ส่งคืนข้อมูลไม่ได้). แต่ละ entry ใช้ schema เดียวกับ เอนด์พอยต์ Person Profile. [PersonProfile, ...]
credit_cost เครดิตทั้งหมดที่เรียกเก็บสำหรับการเรียกนี้ เท่ากับ 10 + 5 * len(attempted_searches), หรือ 0 สำหรับผลลัพธ์ที่แคชไว้ที่ให้บริการกับผลิตภัณฑ์เดียวกันที่จ่ายเงินมาก่อน. 30

AttemptedSearch Object

Key คำอธิบาย ตัวอย่าง
employer_website โดเมนเว็บไซต์บริษัทคู่แข่งที่เราพยายาม. "google.com"
role บทบาทที่เราค้นหาในคู่แข่งนั้น (สะท้อนเป้าหมาย) "CEO"

ส่วนหัวการตอบสนอง

เอนด์พอยต์นี้สตรีมข้อมูลตอบสนองของมัน ดังนั้นต้นทุนเครดิตจึงไม่สามารถส่งกลับในส่วนหัว HTTP trailers ไม่รองรับโดยชั้นสตรีมมิง อ่าน credit_cost เขตข้อมูลในเนื้อหาการตอบสนองแทนปกติ X-NinjaPear-Credit-Cost เฮดเดอร์.

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
400 ไม่ ข้อมูลนำเข้าไม่ถูกต้อง ต้องให้ work_email, หรือ first_name + employer_website, หรือ employer_website + role.
400 ไม่ รูปแบบอีเมลไม่ถูกต้อง
400 ไม่ work_email เป็นอีเมลส่วนตัว/ฟรี (เช่น [email protected]). ให้อีเมลงาน corporate
403 ไม่ เครดิตไม่เพียงพอ คุณต้องการเครดิตอย่างน้อย 10 เครดิตเพื่อเริ่มค้นหาคนที่คล้ายกัน
404 ไม่ work_email เป็นกล่องจดหมายตามบทบาท/ทั่วไป (เช่น info@, support@, sales@, noreply@) ที่ไม่ map ไปยังบุคคลใดบุคคลหนึ่ง.
404 ไม่ ไม่สามารถระบุคนเป้าหมายได้
503 ไม่ ทรัพยากรไม่พร้อมใช้งานชั่วคราว โปรดลองใหม่

เอนด์พอยต์ค้นหาพนักงาน

GET /api/v1/employee/search

ค่าใช้จ่าย: พื้นฐาน 2 เครดิตต่อการเรียก (เสียเครดิตแม้ว่าไม่มีพนักงานถูกส่งกลับ), บวก 1 เครดิต ต่อ พนักงาน ใน พนักงาน array. แบบสอบถามที่ส่งคืน 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 ไม่ เมืองสำหรับการจำกัด (freeform). San Francisco
use_cache ไม่ ควบคุมการใช้แคช ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก ค่า: if-recent (ค่าตั้งต้น; ใช้ข้อมูล cached เมื่อ last scrape ภายใน 29 วัน มิฉะนั้น เพิ่มข้อมูล live), if-present (ส่งคืน cache ก่อน, เพิ่มข้อมูล live หากไม่มี), if-present-only (ส่งคืน cache เท่านั้น; ส่งคืน 404 หากไม่มี), never (เพิ่มข้อมูล live เสมอ) ค่าที่ไม่ถูกต้องจะใช้ค่าตั้งต้นของเอนด์พอยต์ if-recent

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
พนักงาน รายการพนักงานที่ตรงกับที่บริษัทเป้าหมาย อาร์เรย์ว่างหากไม่พบ [วัตถุพนักงาน]

วัตถุพนักงาน

Key คำอธิบาย ตัวอย่าง
first_name ชื่อจริงของพนักงาน "Jane"
last_name นามสกุลของพนักงาน อาจจะ null หากไม่มี. "Doe"
role ชื่อตำแหน่งงานปัจจุบันของพนักงานที่บริษัทเป้าหมาย "VP of Engineering"
company_website เว็บไซต์ของนายจ้างเป้าหมายที่พนักงานทำงาน สะท้อนการแก้ไข company_website พารามิเตอร์อินพุตในทุกระเบียน "stripe.com"
company_details URL ที่เติมข้อมูลไว้แล้ว ของ เอนด์พอยต์รายละเอียดบริษัท, เต็มไปด้วย เว็บไซต์. ตรวจสอบสิทธิ์ด้วย bearer token ของคุณเพื่อดึงรายละเอียดบริษัท "https://nubela.co/api/v1/company/details?website=stripe.com"
person_profile URL ที่เติมข้อมูลไว้แล้ว ของ เอนด์พอยต์ Person Profile, เต็มไปด้วย first_name, last_name, และ employer_website. เรียกโดยตรงด้วย bearer token ของคุณเพื่อเพิ่มข้อมูลของบุคคล ค่าใช้งาน 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 token ของคุณเพื่อแก้ไขอีเมลงาน ค่าใช้งาน 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
}

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
credit_balance ยอดเครดิตปัจจุบันของคุณ 100000

ส่วนหัวการตอบสนอง

คีย์ส่วนหัว คำอธิบาย ตัวอย่าง
X-NinjaPear-Credit-Cost ต้นทุนเครดิตทั้งหมดสำหรับการเรียก API นี้ 0

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
401 ไม่ API key ไม่ถูกต้อง

ติดต่อ API

เอนด์พอยต์ตรวจสอบอีเมลแบบใช้แล้วทิ้ง

GET /api/v1/contact/disposable-email

ค่าใช้จ่าย: 0 เครดิต / คำขอที่สำเร็จ. (ฟรี)

ตรวจสอบว่าที่อยู่อีเมลนั้นเป็นอีเมล Disposable (ชั่วคราว/แบบใช้ครั้งเดียว) หรือมาจากผู้ให้บริการอีเมลฟรี

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]

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
อีเมล ที่อยู่อีเมลที่ตรวจสอบแล้ว "[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) และการเปลี่ยนแปลงเว็บไซต์

แนวคิดหลัก

วิธีการใช้

สมมติว่าคุณต้องการติดตามเว็บไซต์คู่แข่งกลุ่มหนึ่งสำหรับโพสต์บล็อก กิจกรรม X และการเปลี่ยนแปลงเว็บไซต์ ทั้งหมดส่งมอบเป็นฟีด RSS เพียงตัวเดียวที่คุณสามารถเชื่อมต่อกับ Feedly, Slack, Zapier หรือตัวอ่าน RSS ใดๆ

1. สร้างฟีดพร้อมเป้าหมาย — จัดกลุ่มบริษัทที่คุณต้องการติดตาม ลงในฟีด แต่ละบริษัทคือ เป้าหมาย ระบุด้วย 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"

ข้อมูลตอบสนองประกอบด้วย rss_url — นี่คือ URL ที่คุณสมัครสมาชิก.

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

2. สมัครสมาชิก RSS ฟีด — คัดลอก rss_url และเพิ่มลงในรีดเดอร์ RSS ใดๆ (Feedly, Slack, Zapier, ฯลฯ) โพสต์บล็อก โพสต์ X และการเปลี่ยนแปลงเว็บไซต์จากเป้าหมายทั้งหมดจะปรากฏเป็นรายการในฟีดเดียว

Stripe: ขยายเครือข่ายการชำระเงินของเรา [blog] Vercel on X: "Next.js 16 is here" [x] Shopify: หน้าราคา [website update]

แต่ละรายการมีหมวดหมู่ (บล็อก, x, website update, หรือ website new page). ดู เอนด์พอยต์ใช้ฟีด สำหรับโครงสคีมา RSS แบบเต็ม.

3. เพิ่มเป้าหมายใหม่ — คู่แข่งรายใหม่เข้าตลาดแล้วหรือ เพิ่มพวกเขาไปยังฟีด.

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. ลบเป้าหมาย — บริษัทนี้ไม่เกี่ยวข้องอีกแล้วหรือ ลบออกจากฟีด.

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

5. เปลี่ยนการตั้งค่าการติดตาม — โดยค่าเริ่มต้น เป้าหมายทุกรายการจะติดตามโพสต์บล็อก โพสต์ X และการเปลี่ยนแปลงเว็บไซต์ ทุก 7 วัน ใช้ PATCH เพื่อเปิด/ปิดช่องทางหรือเปลี่ยนความถี่.

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"

เฉพาะช่องที่คุณรวมเท่านั้นที่จะเปลี่ยนแปลง — ช่องที่ไม่รวมจะเก็บค่าปัจจุบันของมัน ดู วัตถุการตั้งค่า สำหรับตัวเลือกทั้งหมดที่มีให้.

ราคา

การดำเนินการ ค่าใช้จ่าย
สร้างฟีด 3 เครดิต (ครั้งเดียว)
การดึงบทความบล็อก (ต่อเป้าหมาย) 1 เครดิต/pull
การดึงข้อมูลการติดตามเว็บไซต์ (ต่อเป้าหมาย) 1 เครดิต/pull
การดึงข้อมูลการอัปเดตโพสต์ X (ต่อเป้าหมาย) 2 เครดิต/pull
การดึง YouTube updates (ต่อเป้าหมาย) 1 เครดิต/pull
เอนด์พอยต์อื่น ๆ ทั้งหมด (รายชื่อ อธิบาย ลบฟีด จัดการเป้าหมาย) 0 เครดิต

การดึงข้อมูลแต่ละครั้งตรวจสอบหนึ่งเป้าหมายสำหรับแหล่งที่มาเดียว (บล็อก X เว็บไซต์ หรือ YouTube) เมื่อเปิดใช้งานแหล่งที่มาทั้งสี่ เป้าหมายเดียวจะมีค่า 5 เครดิตต่อ pull (1 blog + 2 X + 1 website + 1 YouTube).

ตัวอย่างค่าใช้จ่ายรายเดือน

สถานการณ์ เป้าหมาย ความถี่ เครดิต/เดือน
VC ติดตาม 20 บริษัท ในพอร์ตโฟลิโอ 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"

พารามิเตอร์ URL

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
include_targets ไม่ ตั้งค่าเป็น true เพื่อรวมอาร์เรย์ targets แบบสมบูรณ์ของแต่ละฟีด ค่าเริ่มต้นคือ false true

ตัวอย่างการตอบสนอง:

{
  "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
    }
  ]
}

การตอบสนอง

Key คำอธิบาย ตัวอย่าง
feeds รายการ Feed objects ดู วัตถุฟีด

วัตถุฟีด

Key คำอธิบาย ตัวอย่าง
id ตัวระบุฟีดที่ไม่ซ้ำกัน "feed_abc123"
name ชื่อฟีด "SaaS Competitors"
is_public ว่าฟีดสามารถเข้าถึงได้สาธารณะหรือไม่ false
is_suspended ว่าฟีดถูกระงับในปัจจุบันหรือไม่ false
suspension_reason เหตุผลในการระงับ หากถูกระงับ null หรือ "insufficient_credits"
rss_url URL ฟีด RSS สำหรับฟีดส่วนตัว รวมถึงพารามิเตอร์คิวรี่โทเค็น "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
        },
        "sources": {
          "blog": [
            {
              "blog_url": "https://stripe.com/blog",
              "rss_url": "https://stripe.com/blog/feed.rss"
            },
            {
              "blog_url": "https://stripe.com/newsroom"
            }
          ]
        }
      },
      {
        "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 ใช่ Array ของเป้าหมายเริ่มต้นที่จะเพิ่มลงในฟีด (ต้องการอย่างน้อย 1 รายการ) ดู วัตถุอินพุตเป้าหมาย

วัตถุอินพุตเป้าหมาย

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
website_url ใช่ URL เว็บไซต์ของบริษัทที่จะติดตาม "https://stripe.com"
settings ไม่ การตั้งค่าการติดตาม หากละไว้ ค่าเริ่มต้นจะใช้บังคับ ดู วัตถุการตั้งค่า
sources ไม่ การแทนที่แหล่งข้อมูลเฉพาะเป้าหมาย รวม URL บล็อกได้สูงสุด 10 รายการ ดูส่วนออบเจ็กต์แหล่งข้อมูล

วัตถุการตั้งค่า

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
monitor_blog ไม่ Monitor บล็อกของบริษัท สำหรับโพสต์ใหม่ (ค่าเริ่มต้น: true) true
monitor_x ไม่ Monitor บัญชี X (Twitter) ของบริษัท (ค่าเริ่มต้น: true) true
monitor_website ไม่ Monitor เว็บไซต์ของบริษัท สำหรับการเปลี่ยนแปลงเนื้อหาและหน้าใหม่ (ค่าเริ่มต้น: true) true
monitor_youtube ไม่ Monitor ช่อง YouTube อย่างเป็นทางการของบริษัท สำหรับวิดีโอใหม่ (ค่าเริ่มต้น: true) true
frequency_days ไม่ ความถี่ในการตรวจสอบอัปเดต หน่วยเป็นวัน ต้องอยู่ระหว่าง 1 ถึง 30 (ค่าเริ่มต้น: 7) 7

กฎการตรวจสอบ

การตอบสนอง

ส่งคืน 201 Created. การตอบสนองรวมถึงที่สร้างขึ้น วัตถุฟีด พร้อมกับสิ่งเพิ่มเติม targets array ที่มี วัตถุเป้าหมาย รายการ.

วัตถุเป้าหมาย

Key คำอธิบาย ตัวอย่าง
id ตัวระบุเป้าหมายที่ไม่ซ้ำกัน "target_xyz789"
website_url URL เว็บไซต์ของบริษัทที่ได้รับการติดตาม "https://stripe.com"
settings object การตั้งค่าการติดตาม ดู วัตถุการตั้งค่า
last_polled_at ISO 8601 timestamp ของการโพลครั้งล่าสุด หรือ null หากไม่เคยสอบถาม null
is_baseline_complete ว่ามีการจับภาพพื้นฐานเริ่มต้นแล้วหรือไม่ false
created_at ISO 8601 ประทับเวลาการสร้าง "2026-02-24T09:55:00Z"
blog_sources Blog and RSS URLs being monitored. Each entry has blog_url, rss_url, และ source ("auto" for scanner-discovered, "manual" for user-corrected). Empty until the first poll discovers them. [{"blog_url": "https://stripe.com/blog", "rss_url": "https://stripe.com/blog/feed.rss", "source": "auto"}]
blog_source_mode ระบุว่าแหล่งบล็อกใช้การค้นหาอัตโนมัติหรือรายการแบบกำหนดเองของเป้าหมาย ซึ่งช่วยแยกรายการแบบกำหนดเองที่ว่างเปล่าออกจากแหล่งที่ยังไม่ถูกค้นพบ "auto"
x_profile The monitored X (Twitter) profile with username, url, และ source, หรือ null if not yet discovered {"username": "stripe", "url": "https://x.com/stripe", "source": "auto"}
youtube_channel The monitored YouTube channel with handle, url, และ source, หรือ null if not yet discovered {"handle": "@StripeOfficial", "url": "https://www.youtube.com/channel/UCd1mYewCZ7vqCghBc-9wcRQ", "source": "auto"}

ส่วนหัวการตอบสนอง

คีย์ส่วนหัว คำอธิบาย ตัวอย่าง
X-NinjaPear-Credit-Cost ต้นทุนเครดิตทั้งหมดสำหรับการเรียก API นี้ 3

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
400 ไม่ ข้อผิดพลาดในการตรวจสอบ (เป้าหมายที่ขาดหายไป URL ไม่สามารถเข้าถึง ไม่มีธง monitoring ที่เปิดใช้งาน)

เอนด์พอยต์อธิบายฟีด

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 array ที่มี วัตถุเป้าหมาย รายการ.

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
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
    },
    "sources": {
      "blog": [
        {"blog_url": "https://shopify.com/blog"},
        {"blog_url": "https://shopify.com/news", "rss_url": "https://shopify.com/news.xml"}
      ]
    }
  }' \
  "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 ใช่ URL เว็บไซต์ของบริษัทที่จะติดตาม "https://shopify.com"
settings ไม่ การตั้งค่าการติดตาม หากละไว้ ค่าเริ่มต้นจะใช้บังคับ ดู วัตถุการตั้งค่า
sources ไม่ การแทนที่แหล่งข้อมูลเฉพาะเป้าหมาย รวม URL บล็อกได้สูงสุด 10 รายการ ดูส่วนออบเจ็กต์แหล่งข้อมูล

การตอบสนอง

ส่งกลับ วัตถุเป้าหมาย.

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
404 ไม่ ไม่พบฟีด

เอนด์พอยต์อัปเดตเป้าหมาย

PATCH /api/v1/monitor/feeds/{feed_id}/targets/{target_id}

ค่าใช้จ่าย: 0 เครดิต / คำขอ.

Modifies the monitoring preferences for a specific target, and/or corrects the source URLs (blog, X profile, YouTube channel) when auto-discovery got them wrong.

curl -X PATCH \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "frequency_days": 1,
      "monitor_website": true
    },
    "sources": {
      "blog": [
        {
          "blog_url": "https://stripe.com/blog",
          "rss_url": "https://stripe.com/blog/feed.rss"
        },
        {
          "blog_url": "https://stripe.com/newsroom"
        }
      ],
      "x": {"username": "stripe"},
      "youtube": {"url": "https://www.youtube.com/@StripeOfficial"}
    }
  }' \
  "https://nubela.co/api/v1/monitor/feeds/feed_abc123/targets/target_xyz789"

พารามิเตอร์ URL

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
feed_id ใช่ รหัส ID ของฟีด feed_abc123
target_id ใช่ รหัส ID ของเป้าหมายที่จะอัปเดต target_xyz789

เนื้อความคำขอ

At least one of settings หรือ sources is required.

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
settings ไม่ อัปเดตการตั้งค่า บางส่วน เฉพาะฟิลด์ที่ระบุเท่านั้นที่เปลี่ยน ดู วัตถุการตั้งค่า
sources ไม่ Manual corrections for the monitored source URLs. Only provided channels are changed. ดู Sources Object

Sources Object

ช่องบล็อกรับอาร์เรย์ของออบเจ็กต์แหล่งข้อมูลได้สูงสุด 10 รายการ ช่อง X และ YouTube รับออบเจ็กต์หนึ่งรายการ ทุกช่องยังรับ null เพื่อยกเลิกการแก้ไขแบบกำหนดเองและกลับไปใช้การค้นหาอัตโนมัติ ช่องที่ไม่ระบุจะไม่เปลี่ยนแปลง การแก้ไขแบบกำหนดเองมีผลเป็นค่าหลักสำหรับเป้าหมายนี้และจะเริ่มใช้ในการดึงข้อมูลครั้งถัดไป ช่องที่แก้ไขจะสร้างข้อมูลพื้นฐานใหม่โดยไม่แจ้งเตือน เพื่อไม่ให้ฟีดเต็มไปด้วยประวัติของช่อง

สำหรับแหล่งบล็อก อาร์เรย์ว่างแตกต่างจาก null อาร์เรย์ว่างจะบันทึกรายการแบบกำหนดเองที่ว่างเปล่าและปิดการติดตามบล็อก ส่วน null จะลบรายการแบบกำหนดเองและคืนค่าการค้นหาอัตโนมัติ รูปแบบออบเจ็กต์เดี่ยวแบบเก่ายังรองรับเพื่อความเข้ากันได้ แต่การเชื่อมต่อใหม่ควรส่งอาร์เรย์เสมอ

Setting a source does not by itself enable monitoring for a channel that is turned off. To correct a URL on a disabled channel and start monitoring it, pass the corresponding settings flag (for example monitor_youtube: true) in the same request. The dashboard does this automatically.

พารามิเตอร์ จำเป็น คำอธิบาย ตัวอย่าง
บล็อก ไม่ อาร์เรย์ของออบเจ็กต์ URL บล็อกและ URL RSS ที่ไม่บังคับได้สูงสุด 10 รายการ ใช้อาร์เรย์ว่างเพื่อไม่บันทึกบล็อกแบบกำหนดเอง หรือใช้ null เพื่อกลับไปใช้การค้นหาอัตโนมัติ URL ต้องเข้าถึงได้ [{"blog_url": "https://stripe.com/blog"}]
x ไม่ {"username": "..."} (bare handle, @handle, or full profile URL) or {"url": "..."}, หรือ null to revert. {"username": "stripe"}
youtube ไม่ {"url": "..."} with a channel URL (youtube.com/channel/UC..., /@handle, /c/..., หรือ /user/...), or null to revert. Handle URLs are resolved to the canonical channel. {"url": "https://www.youtube.com/@StripeOfficial"}

การตอบสนอง

ส่งกลับที่อัปเดต วัตถุเป้าหมาย. ช่องที่แก้ไขจะแสดงค่าแหล่งข้อมูลแบบกำหนดเองในช่องตอบกลับของบล็อก X และ YouTube โหมดแหล่งบล็อกจะแสดงว่าเป็นแบบกำหนดเองแม้ว่ารายการที่บันทึกไว้จะว่างเปล่า

ตัวอย่างการตอบสนอง:

{
  "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": null,
  "is_baseline_complete": true,
  "created_at": "2026-02-24T09:55:00Z",
  "blog_sources": [
    {
      "blog_url": "https://stripe.com/blog",
      "rss_url": "https://stripe.com/blog/feed.rss",
      "source": "manual"
    }
  ],
  "blog_source_mode": "manual",
  "x_profile": {
    "username": "stripe",
    "url": "https://x.com/stripe",
    "source": "manual"
  },
  "youtube_channel": {
    "handle": "@StripeOfficial",
    "url": "https://www.youtube.com/channel/UCd1mYewCZ7vqCghBc-9wcRQ",
    "source": "manual"
  }
}

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
400 ไม่ No valid settings or sources provided
400 ไม่ Invalid source correction (unsupported channel, malformed or unreachable URL, YouTube URL that does not resolve to a channel)
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 2.0 XML มาตรฐานที่ใช้โดยผู้อ่าน RSS (Feedly, Slack, browser extensions เป็นต้น)

หากฟีด is_public คือ false, ต้องส่ง token ที่ถูกต้องเป็น 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> URL ของฟีด RSS 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 Elements

แต่ละ <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 namespace) Stripe
<description> สรุปหรือส่วนของการอัปเดต เนื้อหาข้อความ
<enclosure> ตัวเลือก การแนบรูปภาพ ที่มี url, length (bytes), และ type (MIME type) attributes <enclosure url="..." length="150000" type="image/jpeg" />

RSS หมวดหมู่รายการ

แต่ละ <item> รวมถึง <category> องค์ประกอบที่ระบุประเภทของการอัปเดต:

หมวดหมู่ คำอธิบาย
บล็อก โพสต์บล็อกใหม่จากบริษัท
x โพสต์จากบัญชี X ของบริษัท
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"

ต้องระบุอย่างน้อยหนึ่งฟิลด์

การตอบสนอง

ส่งกลับที่อัปเดต วัตถุฟีด พร้อมกับสิ่งเพิ่มเติม targets array ที่มี วัตถุเป้าหมาย รายการ.

รหัสข้อผิดพลาด

รหัสสถานะ เรียกเก็บแล้วหรือ? คำอธิบาย
400 ไม่ ไม่มีช่องที่ถูกต้องให้
404 ไม่ ไม่พบฟีด

การเชื่อมต่อเอเจนต์ AI

NinjaPear ให้บริการเซิร์ฟเวอร์ MCP แบบโฮสต์สำหรับ Claude, OpenAI Codex, OpenCode และไคลเอนต์อื่นที่รองรับ Streamable HTTP ซึ่งช่วยให้เอเจนต์ AI ค้นหาข้อมูลบริษัท B2B แบบสดและจัดการฟีดติดตามได้โดยตรง

เริ่มต้นอย่างรวดเร็ว

  1. เปิด แดชบอร์ดการเชื่อมต่อ AI
  2. เลือก Claude, OpenAI Codex หรือ OpenCode
  3. คัดลอกตำแหน่งข้อมูลและการกำหนดค่าที่สร้างขึ้น
  4. เริ่มไคลเอนต์ใหม่และยืนยันว่า ninjapear ปรากฏในรายการเซิร์ฟเวอร์ MCP

การตั้งค่า

ตำแหน่งข้อมูล Streamable HTTP ที่แนะนำคือ https://nubela.co/mcp. แดชบอร์ดจะสร้างการกำหนดค่าการยืนยันตัวตนที่ถูกต้องสำหรับไคลเอนต์แต่ละตัว

แพลตฟอร์ม Claude

  1. รับสตริงการเชื่อมต่อของคุณจาก แดชบอร์ดการเชื่อมต่อ AI
  2. ตรวจสอบให้แน่ใจว่าคุณเข้าสู่ระบบ Claude แล้ว จากนั้นไปที่: เพิ่ม Custom Connector
  3. ป้อนข้อมูลต่อไปนี้:
    • ชื่อ: NinjaPear
    • URL ของ MCP server ระยะไกล: วางสตริงตัวเชื่อมต่อของคุณจากขั้นตอนที่ 1
  4. คลิก เพิ่ม connector
  5. เริ่มการสนทนาใหม่และขอให้ Claude ใช้ NinjaPear

Claude Code CLI

ใช้ YOUR_API_KEY แล้วเพิ่มเซิร์ฟเวอร์ Streamable HTTP:

claude mcp add --transport http ninjapear "https://nubela.co/mcp?api_key=YOUR_API_KEY"

OpenAI Codex

ตั้ง NINJAPEAR_API_KEY แล้วเพิ่มข้อมูลนี้ลงใน ~/.codex/config.toml:

[mcp_servers.ninjapear] url = "https://nubela.co/mcp" bearer_token_env_var = "NINJAPEAR_API_KEY" startup_timeout_sec = 30 tool_timeout_sec = 1200

Codex CLI แอปเดสก์ท็อป และส่วนขยาย IDE ใช้การกำหนดค่านี้ร่วมกัน เริ่ม Codex ใหม่แล้วเรียกใช้ /mcp เพื่อยืนยันการเชื่อมต่อ

OpenCode

ตั้ง NINJAPEAR_API_KEY แล้วเพิ่มข้อมูลนี้ลงใน opencode.json:

{ "$schema": "https://opencode.ai/config.json", "mcp": { "ninjapear": { "type": "remote", "url": "https://nubela.co/mcp", "enabled": true, "oauth": false, "headers": { "Authorization": "Bearer {env:NINJAPEAR_API_KEY}" }, "timeout": 1200000 } } }

เริ่ม OpenCode ใหม่แล้วเรียกใช้ opencode mcp list เพื่อยืนยันการเชื่อมต่อ

เครื่องมือที่พร้อมใช้งาน

เครื่องมือ คำอธิบาย ค่าใช้จ่าย
get_customer_listing รับลูกค้า นักลงทุน และพันธมิตร 1 + 2/company
get_competitor_listing รับคู่แข่งและเหตุผลการแข่งขัน 2/competitor, minimum 5
get_product_listing รับผลิตภัณฑ์ บริการ ราคา และการวางตำแหน่ง 3 เครดิต
get_company_details รับข้อมูลเมตาของบริษัท ผู้บริหาร ที่ตั้ง และลิงก์ 3 + selected enrichments
get_employee_count รับจำนวนพนักงาน 2 เครดิต
get_company_updates รับการอัปเดตล่าสุดจากบล็อกและ X 2 เครดิต
get_company_funding รับรอบการระดมทุนและนักลงทุน 2 + 1/investor
lookup_company_website ค้นหาเว็บไซต์จากชื่อบริษัท ดูราคาของตำแหน่งข้อมูล
get_person_profile รับโปรไฟล์อาชีพของบุคคล 3 เครดิต
get_similar_people ค้นหาบุคคลที่มีบทบาทเดียวกันในบริษัทคู่แข่ง 10 + 5/attempt
get_work_email ค้นหาหรือคาดเดาอีเมลงานของบุคคล 2 hit, 0.5 miss
search_employees ค้นหาพนักงานบริษัทตามบทบาทและสถานที่ 3 เครดิต
check_disposable_email ตรวจสอบว่าอีเมลเป็นแบบใช้แล้วทิ้งหรือฟรี ฟรี
get_credit_balance ตรวจสอบยอดเครดิตปัจจุบัน ฟรี
get_company_logo ดึงโลโก้บริษัทเป็นเนื้อหารูปภาพ MCP ฟรี
get_company_logo_url รับ URL API โลโก้บริษัท ต้องยืนยันตัวตน ฟรี
list_feeds แสดงรายการฟีดติดตาม และรวมเป้าหมายได้ตามต้องการ ฟรี
create_feed สร้างฟีดติดตาม 3 เครดิต
describe_feed รับรายละเอียดฟีดและเป้าหมาย ฟรี
update_feed อัปเดตการตั้งค่าฟีดและการแจ้งเตือนทางอีเมล ฟรี
delete_feed ลบฟีดและเป้าหมาย ฟรี
add_target เพิ่มเป้าหมายพร้อม URL บล็อกแบบกำหนดเองที่ไม่บังคับ ฟรี
update_target อัปเดตการตั้งค่าหรือ URL บล็อกแบบกำหนดเองสูงสุด 10 รายการ ฟรี
remove_target ลบบริษัทเป้าหมาย ฟรี
consume_feed อ่านการอัปเดตฟีดเป็นข้อมูลแบบมีโครงสร้าง ฟรี

ตัวอย่างพรอมต์

เมื่อเชื่อมต่อแล้ว คุณสามารถถามเอเจนต์ที่เลือกได้ดังนี้:

ข่าวกรองทางการแข่งขัน

คุณเป็นผู้จัดการผลิตภัณฑ์ที่ติดตามว่าคู่แข่งของคุณกำลังทำอะไร

การติดตามพอร์ตโฟลิโอ VC

คุณเป็น VC ที่ต้องการติดตามกิจกรรมบริษัทของพอร์ตโฟลิโอ อัปโหลด CSV หรือภาพหน้าจอของบริษัทพอร์ตโฟลิโอของคุณไปยัง Claude จากนั้นถาม:

การหาผู้มุ่งหวังด้านการขาย

คุณอยู่ในแผนกการขายและต้องการค้นคว้าบัญชีเพื่อติดต่อก่อน

การวิจัยตลาด

คุณเป็นนักวิเคราะห์ที่วางแผนแล็นด์สเคปอุตสาหกรรม

การติดตามและการแจ้งเตือน

คุณต้องการตั้งค่าการติดตามอย่างต่อเนื่องและกลับมาตรวจสอบการอัปเดต

การจัดการบัญชี

ตรวจสอบอย่างรวดเร็วเกี่ยวกับการใช้งาน NinjaPear ของคุณ

การจัดการข้อผิดพลาด

ความล้มเหลวของเครื่องมือ MCP จะตั้งค่า isError และรวมออบเจ็กต์ข้อผิดพลาด JSON เดียวกันไว้ทั้งในเนื้อหาแบบข้อความและเนื้อหาแบบมีโครงสร้าง ข้อผิดพลาดทุกครั้งจะมี status_code, error_code, message, attempts, และ request_id.

คำขอ GET แบบอ่านอย่างเดียวจะลองใหม่เฉพาะเมื่อได้รับการตอบกลับ HTTP 429 หรือ HTTP 503 จริง โดยรวมไม่เกินสามครั้ง การตอบกลับแบบสตรีม HTTP 200 ที่มี error_code=service_temp_unavailable จะถูกแปลงทันทีเป็นข้อผิดพลาดเครื่องมือ HTTP 503 แบบมีโครงสร้างโดยไม่ลองใหม่ การดำเนินการที่แก้ไขข้อมูล การหมดเวลา การเชื่อมต่อล้มเหลว การแยกวิเคราะห์ล้มเหลว และรหัสสถานะอื่นทั้งหมดจะไม่ถูกลองใหม่

รายละเอียดทางเทคนิค

MCP Protocol

NinjaPear MCP server ใช้งาน Model Context Protocol ข้อกำหนด คำอธิบายประกอบเครื่องมือจะแจ้งไคลเอนต์ว่าการดำเนินการใดเป็นแบบอ่านอย่างเดียว แก้ไขข้อมูล หรือทำลายข้อมูล คำสั่งเซิร์ฟเวอร์ยังบอกให้เอเจนต์เรียกคำขออ่านอย่างเดียวที่เป็นอิสระต่อกันแบบขนาน และเรียกการดำเนินการที่ขึ้นต่อกันกับการเปลี่ยนแปลงข้อมูลตามลำดับ

ขนส่ง

Streamable HTTP เป็นวิธีรับส่งข้อมูลที่แนะนำ:

การเชื่อมต่อ SSE เดิมยังคงรองรับ:

การรับรองตัวตน

ส่งคีย์ API ของคุณโดยใช้ Authorization: Bearer YOUR_API_KEY, the X-API-Key ส่วนหัว หรือ api_key พารามิเตอร์คิวรี แนะนำให้ใช้การยืนยันตัวตนแบบ Bearer สำหรับ Codex, OpenCode และ Claude Code พารามิเตอร์คิวรียังคงใช้ได้กับตัวเชื่อมต่อ Claude แบบกำหนดเองและไคลเอนต์ SSE ที่มีอยู่