NinjaPear ภาพรวม
NinjaPear เป็นแพลตฟอร์มข้อมูลอัจฉริยะของบริษัท B2B ที่เน้นความเป็นเจ้าของข้อมูลและการจัดหาที่มีจริยธรรม ในฐานะผู้ให้บริการบุคคลแรก เรารักษาระบบนิเวศที่ยั่งยืนของข้อมูลกรรมสิทธิ์และข้อมูลที่ผ่านการตรวจสอบทางกฎหมาย พันธกิจของเราคือการให้โครงสร้างพื้นฐานข้อมูลที่เชื่อถือได้ เพื่อให้ธุรกิจสามารถพัฒนาและขยายแอปพลิเคชันและเวิร์กโฟลว์ที่เพิ่มมูลค่าได้ด้วยความมั่นใจ
สำหรับ AI Agents
สร้างด้วยตัวแทนการเข้ารหัส AI? ใช้เวอร์ชัน Markdown แบบง่ายของเอกสารเหล่านี้ — เพิ่มประสิทธิภาพสำหรับ LLMs และเครื่องมือ AI เช่น Claude, Cursor และ ChatGPT:
- เอกสาร LLM-friendly (Markdown) — ข้อมูลอ้างอิง API แบบเต็ม เป็นข้อความปกติ พร้อมสำหรับวางลงหรือลากและวางลงในแชท AI ใดๆ
- llms.txt — ดัชนีที่เบาสำหรับการค้นพบตัวแทน AI
- OpenAPI 3.0 Spec — โครงร่าง API ที่อ่านได้โดยเครื่อง
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 ขวบ
- รับรายชื่อลูกค้า นักลงทุน และพันธมิตรของบริษัทใดๆ ด้วย เอนด์พอยต์รายชื่อลูกค้า.
- ค้นหาคู่แข่งของบริษัทใดๆ และเหตุผลที่พวกเขาแข่งขันกับ เอนด์พอยต์รายชื่อคู่แข่ง.
- รับแคตตาล็อกผลิตภัณฑ์และบริการของบริษัทด้วย เอนด์พอยต์ Product Listing.
- รับโลโก้ของบริษัทใดๆ ฟรีด้วย เอนด์พอยต์โลโก้บริษัท.
- รับรายละเอียดบริษัทแบบเต็ม เช่น อุตสาหกรรม รายละเอียด ผู้บริหาร และสถานที่ตั้งสำนักงานด้วย เอนด์พอยต์รายละเอียดบริษัท.
- รับจำนวนพนักงานของบริษัทใดๆ ด้วย เอนด์พอยต์นับจำนวนพนักงาน.
- รับโพสต์บล็อกและอัปเดตสื่อสังคมล่าสุดของบริษัทใดๆ ด้วย เอนด์พอยต์การอัปเดตบริษัท.
- รับประวัติเงินทุนแบบเต็มและนักลงทุนของบริษัทใดๆ ด้วย เอนด์พอยต์เงินทุนบริษัท.
- แปลงชื่อบริษัทเป็น URL เว็บไซต์มาตรฐานของมันด้วย เอนด์พอยต์ค้นหาเว็บไซต์.
- ค้นหาอีเมลงานของบุคคลตามชื่อและโดเมนบริษัท ด้วย เอนด์พอยต์อีเมลงาน.
- ค้นหาโปรไฟล์ ประวัติงาน และการศึกษาของบุคคลจากอีเมลงานด้วย เอนด์พอยต์ Person Profile.
- ค้นหาผู้คนที่คล้ายกับบุคคลเป้าหมาย – บทบาทเดียวกันในบริษัทคู่แข่ง – ด้วย เอนด์พอยต์คนที่คล้ายกัน.
- ตรวจสอบว่าที่อยู่อีเมลนั้นเป็น Disposable หรือมาจากผู้ให้บริการอีเมลฟรีด้วย เอนด์พอยต์ตรวจสอบอีเมลแบบใช้แล้วทิ้ง.
- Monitor บริษัทสำหรับบล็อกโพสต์ ทวีต และการเปลี่ยนแปลงเว็บไซต์ใหม่ผ่าน RSS ด้วย Monitor API.
- ตรวจสอบเครดิต API ที่เหลือด้วย เอนด์พอยต์ดูยอดคงเหลือเครดิต.
การรับรองตัวตน
curl "https://nubela.co/api/v1/customer/listing" \
-H "Authorization: Bearer YOUR_API_KEY"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.CustomerAPIApi(api_client)
response = api.get_customer_listing(website="https://example.com")
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
var bearerAuth = defaultClient.authentications["bearerAuth"];
bearerAuth.accessToken = "YOUR_API_KEY";
var api = new NinjaPear.CustomerAPIApi();
api.getCustomerListing("https://example.com").then(function (data) {
console.log(data);
});
NinjaPear API ใช้ 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 ฟรีขึ้นอยู่กับแผนการสมัครสมาชิกของคุณ
- ฟรี ทดลองใช้ หรือแผน PAYG: 2 requests/min
- $49/mo plan: 20 requests/min
- $299/mo plan: 50 requests/min
- $899/mo plan: 100 requests/min
- $1899/mo plan: 300 requests/min
ขีดจำกัดอัตราการใช้ 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 ของเรา ยังคงเข้ากันได้แบบย้อนหลัง ซึ่งช่วยให้คุณสามารถอินทิเกรตได้อย่างมั่นใจ การรับประกันนี้หมายความว่า เราจะไม่นำเสนอการเปลี่ยนแปลงที่ทำให้ฟังก์ชันที่มีอยู่เสียหาย หรือลบเอนด์พอยต์ โดยไม่มีช่วงเวลาแจ้งล่วงหน้า
โดยเฉพาะเราจะไม่แนะนำการเปลี่ยนแปลงที่ทำให้ระบบพังในวิธีต่อไปนี้
- เราจะไม่ลบ parameters และ response attributes ที่มีการบันทึก
- เราจะไม่เปลี่ยนประเภทข้อมูล ตามที่บันทึกไว้ใน API responses ของเรา
อย่างไรก็ตาม สิ่งต่อไปนี้ไม่ถือว่าเป็นการเปลี่ยนแปลงที่แตกหัก:
- การเพิ่มแอตทริบิวต์/พารามิเตอร์ให้กับเอนด์พอยต์ API โดยไม่มีการแจ้งให้ทราบล่วงหน้า
- การเพิ่มส่วนหัวการตอบสนองหรือคำขออื่น ๆ ให้กับเอนด์พอยต์ API ของเราโดยไม่มีการแจ้งให้ทราบล่วงหน้า
เราขอแนะนำอย่างยิ่งให้รวม 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
ราคา
| รายการ | ไม่บังคับ | เครดิต |
|---|---|---|
| คำขอพื้นฐาน ระบบจะเรียกเก็บเครดิตแม้ว่าจะไม่พบข้อมูล | ไม่ | 3 |
include_employee_count=true |
ใช่ | +2 |
follower_count=include |
ใช่ | +1 |
addresses=best-effort-exhaustive |
ใช่ | +2 |
| สูงสุดต่อคำขอ | 8 |
ดึงข้อมูลเมตาของบริษัท รวมถึงคำอธิบาย อุตสาหกรรม URL โซเชียลมีเดีย ทีมผู้นำปัจจุบัน และอื่น ๆ
คุณต้องจัดเตรียมอย่างน้อยหนึ่งในชุดค่าป้อนข้อมูลนี้:
- เว็บไซต์ -
website=https://stripe.com - URL โซเชียลมีเดีย -
socmed_url=https://x.com/stripe
ระบุเพียงหนึ่งรายการจาก เว็บไซต์ หรือ 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
ค่าใช้จ่าย: 3 เครดิต / คำขอ. เครดิตจะถูกเรียกเก็บแม้ว่าไม่พบข้อมูล.
คุณต้องจัดเตรียมอย่างน้อยหนึ่งในชุดค่าป้อนข้อมูลนี้:
- อีเมลงานเท่านั้น — e.g.
[email protected] - ชื่อจริง + เว็บไซต์นายจ้าง — e.g.
first_name=John&employer_website=https://stripe.com - เว็บไซต์นายจ้าง + บทบาท — e.g.
employer_website=https://stripe.com&role=CTO
คุณสามารถเพิ่มพารามิเตอร์เพิ่มเติมเพื่อปรับปรุงความแม่นยำได้เสมอ ตัวอย่างเช่น การให้ 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. คุณต้องระบุอย่างน้อยหนึ่งของการรวมอินพุตเหล่านี้:
- อีเมลงานเท่านั้น — e.g.
[email protected] - ชื่อจริง + เว็บไซต์นายจ้าง — e.g.
first_name=Tim&employer_website=https://apple.com - เว็บไซต์นายจ้าง + บทบาท — e.g.
employer_website=https://apple.com&role=CEO
curl -G \
-H "Authorization: Bearer YOUR_API_KEY" \
--max-time 300 \
--data-urlencode "[email protected]" \
"https://nubela.co/api/v1/employee/similar"
import ninjapear
configuration = ninjapear.Configuration(
host="https://nubela.co",
access_token="YOUR_API_KEY"
)
with ninjapear.ApiClient(configuration) as api_client:
api = ninjapear.EmployeeAPIApi(api_client)
# Set a generous read timeout — calls can take up to 5 minutes.
result = api.get_similar_people(work_email="[email protected]", _request_timeout=300)
print(result)
var NinjaPear = require("ninjapear");
var defaultClient = NinjaPear.ApiClient.instance;
defaultClient.authentications["bearerAuth"].accessToken = "YOUR_API_KEY";
defaultClient.timeout = 300000; // 5 minutes
var api = new NinjaPear.EmployeeAPIApi();
api.getSimilarPeople({ workEmail: "[email protected]" }).then(function (data) {
console.log(data);
});
ตัวอย่างการตอบสนอง
{
"target": {
"first_name": "Tim",
"last_name": "Cook",
"full_name": "Tim Cook",
"work_experience": [
{
"role": "CEO",
"company_name": "Apple",
"company_website": "apple.com",
"start_date": "2011-08",
"end_date": null
}
]
},
"attempted_searches": [
{ "employer_website": "samsung.com", "role": "CEO" },
{ "employer_website": "google.com", "role": "CEO" },
{ "employer_website": "microsoft.com", "role": "CEO" },
{ "employer_website": "huawei.com", "role": "CEO" }
],
"similar_people": [
{
"first_name": "Sundar",
"last_name": "Pichai",
"full_name": "Sundar Pichai",
"work_experience": [
{
"role": "CEO",
"company_name": "Google",
"company_website": "google.com",
"start_date": "2015-08",
"end_date": null
}
]
},
{
"first_name": "Satya",
"last_name": "Nadella",
"full_name": "Satya Nadella",
"work_experience": [
{
"role": "CEO",
"company_name": "Microsoft",
"company_website": "microsoft.com",
"start_date": "2014-02",
"end_date": null
}
]
}
],
"credit_cost": 30
}
เพื่อความสั้นกระชับ ตัวอย่างด้านบนแสดงเพียงเซตย่อยของ PersonProfile เขตข้อมูล. แต่ละรายการภายใต้ เป้าหมาย และ similar_people เป็นเต็มรูปแบบ PersonProfile ออบเจ็กต์ - ดู การตอบสนอง Person Profile เอนด์พอยต์ สำหรับโครงสคีมาที่สมบูรณ์ รวมถึง profile_pic_url, bio, country, x_handle, education, ฯลฯ
พารามิเตอร์ URL
เหมือนกับ พารามิเตอร์ 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) และการเปลี่ยนแปลงเว็บไซต์
แนวคิดหลัก
- ฟีด: คอนเทนเนอร์หลัก ฟีดสามารถเป็นแบบสาธารณะหรือส่วนตัวได้ ฟีดส่วนตัวต้องใช้ bearer token ที่ส่งผ่านสตริงคิวรี่ URL เพื่อให้มีความเข้ากันได้กับตัวอ่าน RSS มาตรฐาน
- เป้าหมาย: บริษัท/เว็บไซต์เฉพาะที่กำลังติดตามในฟีด
- การตั้งค่า: การตั้งค่าโดยละเอียดของแต่ละเป้าหมายเพื่อกำหนดสิ่งที่ต้องติดตาม (บล็อก X เว็บไซต์ YouTube) และความถี่
- แหล่งข้อมูลคือ URL ที่ไม่บังคับและใช้เฉพาะกับเป้าหมาย เป้าหมายสามารถใช้การค้นหาอัตโนมัติหรือรายการ URL บล็อกแบบกำหนดเองได้สูงสุด 10 รายการ
วิธีการใช้
สมมติว่าคุณต้องการติดตามเว็บไซต์คู่แข่งกลุ่มหนึ่งสำหรับโพสต์บล็อก กิจกรรม X และการเปลี่ยนแปลงเว็บไซต์ ทั้งหมดส่งมอบเป็นฟีด RSS เพียงตัวเดียวที่คุณสามารถเชื่อมต่อกับ Feedly, Slack, Zapier หรือตัวอ่าน RSS ใดๆ
1. สร้างฟีดพร้อมเป้าหมาย — จัดกลุ่มบริษัทที่คุณต้องการติดตาม ลงในฟีด แต่ละบริษัทคือ เป้าหมาย ระบุด้วย URL เว็บไซต์.
ข้อมูลตอบสนองประกอบด้วย rss_url — นี่คือ URL ที่คุณสมัครสมาชิก.
2. สมัครสมาชิก RSS ฟีด — คัดลอก rss_url และเพิ่มลงในรีดเดอร์ RSS ใดๆ (Feedly, Slack, Zapier, ฯลฯ) โพสต์บล็อก โพสต์ X และการเปลี่ยนแปลงเว็บไซต์จากเป้าหมายทั้งหมดจะปรากฏเป็นรายการในฟีดเดียว
แต่ละรายการมีหมวดหมู่ (บล็อก, x, website update, หรือ website new page). ดู เอนด์พอยต์ใช้ฟีด สำหรับโครงสคีมา RSS แบบเต็ม.
3. เพิ่มเป้าหมายใหม่ — คู่แข่งรายใหม่เข้าตลาดแล้วหรือ เพิ่มพวกเขาไปยังฟีด.
4. ลบเป้าหมาย — บริษัทนี้ไม่เกี่ยวข้องอีกแล้วหรือ ลบออกจากฟีด.
5. เปลี่ยนการตั้งค่าการติดตาม — โดยค่าเริ่มต้น เป้าหมายทุกรายการจะติดตามโพสต์บล็อก โพสต์ X และการเปลี่ยนแปลงเว็บไซต์ ทุก 7 วัน ใช้ PATCH เพื่อเปิด/ปิดช่องทางหรือเปลี่ยนความถี่.
เฉพาะช่องที่คุณรวมเท่านั้นที่จะเปลี่ยนแปลง — ช่องที่ไม่รวมจะเก็บค่าปัจจุบันของมัน ดู วัตถุการตั้งค่า สำหรับตัวเลือกทั้งหมดที่มีให้.
ราคา
| การดำเนินการ | ค่าใช้จ่าย |
|---|---|
| สร้างฟีด | 3 เครดิต (ครั้งเดียว) |
| การดึงบทความบล็อก (ต่อเป้าหมาย) | 1 เครดิต/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 |
กฎการตรวจสอบ
- อย่างน้อยหนึ่ง
targetsจำเป็นต้องมีรายการ. - แต่ละเป้าหมายต้องมี
website_urlที่สามารถเข้าถึงได้ (ตอบสนอง HTTP 2xx) URLs ที่เข้าถึงไม่ได้จะส่งกลับ400. - ต้องมีการตั้งค่า Monitor อย่างน้อยหนึ่งรายการ (
monitor_blog,monitor_x,monitor_website,monitor_youtube) ต้องtrueต่อเป้าหมาย. - รายการแหล่งบล็อกรับได้สูงสุด 10 รายการ URL บล็อกและ URL RSS ที่ไม่บังคับทุกค่าต้องเป็น URL แบบ HTTP หรือ HTTPS ที่เข้าถึงได้
การตอบสนอง
ส่งคืน 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 แบบสดและจัดการฟีดติดตามได้โดยตรง
เริ่มต้นอย่างรวดเร็ว
- เปิด แดชบอร์ดการเชื่อมต่อ AI
- เลือก Claude, OpenAI Codex หรือ OpenCode
- คัดลอกตำแหน่งข้อมูลและการกำหนดค่าที่สร้างขึ้น
- เริ่มไคลเอนต์ใหม่และยืนยันว่า
ninjapearปรากฏในรายการเซิร์ฟเวอร์ MCP
การตั้งค่า
ตำแหน่งข้อมูล Streamable HTTP ที่แนะนำคือ https://nubela.co/mcp. แดชบอร์ดจะสร้างการกำหนดค่าการยืนยันตัวตนที่ถูกต้องสำหรับไคลเอนต์แต่ละตัว
แพลตฟอร์ม Claude
- รับสตริงการเชื่อมต่อของคุณจาก แดชบอร์ดการเชื่อมต่อ AI
- ตรวจสอบให้แน่ใจว่าคุณเข้าสู่ระบบ Claude แล้ว จากนั้นไปที่: เพิ่ม Custom Connector
- ป้อนข้อมูลต่อไปนี้:
- ชื่อ:
NinjaPear - URL ของ MCP server ระยะไกล: วางสตริงตัวเชื่อมต่อของคุณจากขั้นตอนที่ 1
- ชื่อ:
- คลิก เพิ่ม connector
- เริ่มการสนทนาใหม่และขอให้ 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:
Codex CLI แอปเดสก์ท็อป และส่วนขยาย IDE ใช้การกำหนดค่านี้ร่วมกัน เริ่ม Codex ใหม่แล้วเรียกใช้ /mcp เพื่อยืนยันการเชื่อมต่อ
OpenCode
ตั้ง NINJAPEAR_API_KEY แล้วเพิ่มข้อมูลนี้ลงใน opencode.json:
เริ่ม 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 |
อ่านการอัปเดตฟีดเป็นข้อมูลแบบมีโครงสร้าง | ฟรี |
ตัวอย่างพรอมต์
เมื่อเชื่อมต่อแล้ว คุณสามารถถามเอเจนต์ที่เลือกได้ดังนี้:
ข่าวกรองทางการแข่งขัน
คุณเป็นผู้จัดการผลิตภัณฑ์ที่ติดตามว่าคู่แข่งของคุณกำลังทำอะไร
- "Monitor stripe.com, brex.com, และ ramp.com for blog posts and website changes. Check daily."
- "What are the latest updates from my competitor feed?"
- "Get company details for each of my competitors - I want to know their employee counts and executives"
- "Who are Stripe's customers? Cross-reference them with Brex's customers to find overlap"
การติดตามพอร์ตโฟลิโอ VC
คุณเป็น VC ที่ต้องการติดตามกิจกรรมบริษัทของพอร์ตโฟลิโอ อัปโหลด CSV หรือภาพหน้าจอของบริษัทพอร์ตโฟลิโอของคุณไปยัง Claude จากนั้นถาม:
- "Create a monitoring feed for all these companies - track their blogs and website changes weekly"
- "Show me the latest updates across my portfolio feed"
- "Get employee counts for each of my portfolio companies - I want to see who's growing fastest"
- "Which of my portfolio companies have the most customers?"
การหาผู้มุ่งหวังด้านการขาย
คุณอยู่ในแผนกการขายและต้องการค้นคว้าบัญชีเพื่อติดต่อก่อน
- "Get company details for acme.com - who are their executives, and what industry are they in?"
- "How many employees does acme.com have?"
- "Who are Salesforce's customers? Get company details for the top 5 by employee count"
- "Is [email protected] a real business email or a disposable address?"
- "Check if these emails are disposable: [email protected], [email protected]"
การวิจัยตลาด
คุณเป็นนักวิเคราะห์ที่วางแผนแล็นด์สเคปอุตสาหกรรม
- "Find the investors behind Figma, Canva, and Miro. Who are the common VCs?"
- "Get company details for anthropic.com, openai.com, และ cohere.com - compare their founding year, employee count, and specialties"
- "Who are the partners of Shopify? Get employee counts for each partner"
- "Get logos for stripe.com, square.com, และ adyen.com - I'm building a market map"
การติดตามและการแจ้งเตือน
คุณต้องการตั้งค่าการติดตามอย่างต่อเนื่องและกลับมาตรวจสอบการอัปเดต
- "Create a feed called 'AI Companies' to track openai.com, anthropic.com, and deepmind.google - monitor blogs and X posts"
- "Add mistral.ai to my AI Companies feed"
- "Change the monitoring frequency for Anthropic to daily - they ship fast"
- "Pause my AI Companies feed for now, I'll resume it next quarter"
- "What's my current credit balance? How long will my monitoring last at this rate?"
การจัดการบัญชี
ตรวจสอบอย่างรวดเร็วเกี่ยวกับการใช้งาน NinjaPear ของคุณ
- "What's my credit balance?"
- "How many credits do I have left?"
การจัดการข้อผิดพลาด
ความล้มเหลวของเครื่องมือ 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 เป็นวิธีรับส่งข้อมูลที่แนะนำ:
- ตำแหน่งข้อมูล Streamable HTTP:
https://nubela.co/mcp - การตรวจสอบสถานะ:
GET /mcp/health
การเชื่อมต่อ SSE เดิมยังคงรองรับ:
- เอนด์พอยต์ SSE:
GET /mcp/sse?api_key=YOUR_API_KEY - เอนด์พอยต์ Messages:
POST /mcp/messages/
การรับรองตัวตน
ส่งคีย์ API ของคุณโดยใช้ Authorization: Bearer YOUR_API_KEY, the X-API-Key ส่วนหัว หรือ api_key พารามิเตอร์คิวรี แนะนำให้ใช้การยืนยันตัวตนแบบ Bearer สำหรับ Codex, OpenCode และ Claude Code พารามิเตอร์คิวรียังคงใช้ได้กับตัวเชื่อมต่อ Claude แบบกำหนดเองและไคลเอนต์ SSE ที่มีอยู่
