360 Secure SkillHub
360 安全技能中心

Happenstance

封装 Happenstance API 的 curl 调用:异步搜索职业人脉网络、分页获取更多结果、研究指定人物的详细职业档案,并查看可搜索分组与积分用量。使用前需配置 API 密钥,结果以 JSON 返回并由使用者轮询获取。

dgoss28
dgoss28
热度 94.25
最近更新 2026-05-11 17:26:07
分类:搜索依赖:第三方 API / 代码执行应用场景:研究 / 推荐

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add happenstance
Metadata
name
happenstance
description
Search your professional network and research people using the Happenstance API.
metadata
{"openclaw":{"requires":{"env":["HAPPENSTANCE_API_KEY"],"bins":["curl"]},"primaryEnv":"HAPPENSTANCE_API_KEY"}}

Happenstance

Search your network and get detailed research profiles on people using the Happenstance API.

Documentation: https://developer.happenstance.ai

Authentication

All requests require the HAPPENSTANCE_API_KEY environment variable. Pass it as a Bearer token:

Authorization: Bearer $HAPPENSTANCE_API_KEY

Base URL: https://api.happenstance.ai

Billing

  • Search: 2 credits per search (including find-more)
  • Research: 1 credit per completed research
  • Check balance with GET /v1/usage
  • Purchase credits at https://happenstance.ai/settings/api

Available Operations

1. Search Your Network

Search for people across groups and connections. Searches run asynchronously.

Start a search:

curl -s -X POST https://api.happenstance.ai/v1/search \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "engineers who have worked on AI infrastructure",
    "include_my_connections": true,
    "include_friends_connections": true
  }'

You can also search within specific groups by adding "group_ids": ["uuid1", "uuid2"]. Get group IDs from GET /v1/groups.

At least one search source is required: group_ids, include_my_connections: true, or include_friends_connections: true.

Response:

{"id": "search-uuid", "url": "https://happenstance.ai/search/search-uuid"}

Poll for results (every 5-10 seconds until status is COMPLETED or FAILED):

curl -s https://api.happenstance.ai/v1/search/SEARCH_ID \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"

Completed response includes:

  • status: RUNNING, COMPLETED, or FAILED
  • results: array of people, each with id, name, current_title, current_company, summary, weighted_traits_score, socials (with happenstance_url, linkedin_url, twitter_url), mutuals, and traits
  • has_more: boolean indicating if more results are available
  • mutuals: top-level array of mutual connections (results reference these by index)
  • traits: top-level array of trait definitions (results reference these by index)

2. Find More Results

When has_more is true on a completed search, get additional results that exclude all previously returned people. Costs 2 credits.

curl -s -X POST https://api.happenstance.ai/v1/search/SEARCH_ID/find-more \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"

Response:

{"page_id": "page-uuid", "parent_search_id": "search-uuid"}

Then poll with the page_id:

curl -s "https://api.happenstance.ai/v1/search/SEARCH_ID?page_id=PAGE_ID" \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"

3. Research a Person

Get a detailed professional profile for a specific person. Runs asynchronously.

Start research:

curl -s -X POST https://api.happenstance.ai/v1/research \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "Garry Tan, CEO of Y Combinator, @garrytan on Twitter"}'

Include as many details as possible (full name, company, title, location, social handles) for best results.

Response:

{"id": "research-uuid"}

Poll for results (every 5-10 seconds until status is COMPLETED, FAILED, or FAILED_AMBIGUOUS):

curl -s https://api.happenstance.ai/v1/research/RESEARCH_ID \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"

Completed response includes a profile object with:

  • person_metadata: full_name, alternate_names, profile_urls, current_locations, tagline
  • employment: array of jobs with company_name, job_title, start_date, end_date, description
  • education: array with university_name, degree, start_date, end_date
  • projects: array with title, description, urls
  • writings: array of publications with title, description, date, urls
  • hobbies: array with description
  • summary: overall text summary with supporting urls

4. List Groups

Get the groups you can search within:

curl -s https://api.happenstance.ai/v1/groups \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"

Returns {"groups": [{"id": "uuid", "name": "Group Name"}, ...]}.

5. Check Credits and Usage

curl -s https://api.happenstance.ai/v1/usage \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"

Returns balance_credits, has_credits, purchases, usage history, and auto_reload settings.

Error Handling

Errors use RFC 7807 format:

{"type": "about:blank", "title": "Bad Request", "status": 400, "detail": "Description must not be empty", "instance": "/v1/research"}

Key status codes:

  • 401: Invalid or missing API key
  • 402: Insufficient credits
  • 429: Too many concurrent requests (max 10 running searches or research requests)
  • 500/503: Server error, retry with backoff

Tips

  • Always check credits before starting multiple searches or research requests.
  • Search typically completes in 30-60 seconds. Research takes 1-3 minutes.
  • Each search returns up to 30 results. Use find-more for additional pages.
  • When presenting search results, include the person's name, title, company, summary, and Happenstance profile link.
  • When presenting research, summarize the profile and link to sources.
  • The more data sources the user connects, the better the search results.