AIXBT Docs
REST APIReference

Project Neighbors (co-mentioned projects)

GET
/v2/projects/{id}/neighbors

Projects co-mentioned with this one in the same intel posts within a recency window — neighbours in the source-sharing graph, ranked by how often they co-occur. Two projects are neighbours when the same originating post (source.sourceId) appears in the activity ledger of a signal for each. High-degree roundup posts are excluded, candidates are canonical-id-deduped, and the seed itself is excluded.

This is a co-occurrence signal (discussed alongside), not a structural relationship like shared team, ecosystem, or category.

Authorization

ApiKeyAuth
x-api-key<token>

API key to authorize requests

In: header

Path Parameters

id*string

MongoDB ObjectId of the seed project

Query Parameters

since?string

Recency window. Relative forms like 14d, 7d, 48h.

Default"14d"
limit?integer

Number of neighbours to return (1-50)

Default5
Range1 <= value <= 50

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v2/projects/string/neighbors?since=14d"
{
  "status": 200,
  "meta": {
    "history": {
      "archiveAccess": true,
      "enforced": true,
      "lookbackDays": 90,
      "earliestAvailableAt": "2019-08-24T14:15:22Z",
      "enforcementAt": "2026-08-17T00:00:00.000Z"
    }
  },
  "data": [
    {
      "projectId": "string",
      "projectName": "string",
      "joiningSignals": 0,
      "joiningReinforcements": 0
    }
  ]
}
{
  "error": "string",
  "message": "string",
  "code": "string",
  "status": 0,
  "data": null,
  "meta": {},
  "details": {},
  "pagination": {
    "page": 1,
    "limit": 1,
    "totalCount": 0,
    "hasMore": true
  },
  "limitType": "minute",
  "retryAfterMs": 0,
  "limits": {
    "minute": {
      "limit": 0,
      "remaining": 0,
      "resetAt": "2019-08-24T14:15:22Z"
    },
    "day": {
      "limit": 0,
      "remaining": 0,
      "resetAt": "2019-08-24T14:15:22Z"
    }
  },
  "issues": [
    {
      "path": "string",
      "message": "string"
    }
  ]
}
{
  "error": "string",
  "message": "string",
  "code": "string",
  "status": 0,
  "data": null,
  "meta": {},
  "details": {},
  "pagination": {
    "page": 1,
    "limit": 1,
    "totalCount": 0,
    "hasMore": true
  },
  "limitType": "minute",
  "retryAfterMs": 0,
  "limits": {
    "minute": {
      "limit": 0,
      "remaining": 0,
      "resetAt": "2019-08-24T14:15:22Z"
    },
    "day": {
      "limit": 0,
      "remaining": 0,
      "resetAt": "2019-08-24T14:15:22Z"
    }
  },
  "issues": [
    {
      "path": "string",
      "message": "string"
    }
  ]
}
{
  "error": "string",
  "message": "string",
  "code": "string",
  "status": 0,
  "data": null,
  "meta": {},
  "details": {},
  "pagination": {
    "page": 1,
    "limit": 1,
    "totalCount": 0,
    "hasMore": true
  },
  "limitType": "minute",
  "retryAfterMs": 0,
  "limits": {
    "minute": {
      "limit": 0,
      "remaining": 0,
      "resetAt": "2019-08-24T14:15:22Z"
    },
    "day": {
      "limit": 0,
      "remaining": 0,
      "resetAt": "2019-08-24T14:15:22Z"
    }
  },
  "issues": [
    {
      "path": "string",
      "message": "string"
    }
  ]
}