# Sumble — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Go-to-market intelligence for companies, hiring, technologies, teams, and people — with composable fields and usage-based pricing.

**Category:** Data / Intelligence | **Website:** [sumble.com](https://sumble.com) | **Docs:** [docs.sumble.com/api](https://docs.sumble.com/api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/sumble/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

> Also available via public x402 on Base (no account needed): [x402/sumble.md](https://paywithlocus.com/x402/sumble.md)

## Endpoints

### Find & Enrich Organizations

Resolve companies by ID, slug, name, or domain, or search with a Sumble advanced-query string. Choose only the company fields and technology, project, or job-function metrics you need.

**Estimated cost:** $0.01 per matched row + $0.01 per paid attribute/metric + $0.003 fee; settles to actual usage

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `organizations` | object[] | No | Match mode: 1-1000 objects with id, slug, name, url, and optional location. Use this or filter, not both. |
| `filter` | object | No | Search mode: { query: "technology EQ 'kubernetes'" }. Use this or organizations, not both. |
| `select` | object | Yes | Composable response: { attributes: string[], entities: [{ type, term, metrics, granularity?, since? }] }. Use explicit metric arrays; category granularity must be aggregate. |
| `limit` | integer | No | Search-mode result limit, 1-200 (default 10). |
| `offset` | integer | No | Search-mode pagination offset, 0-10000. |
| `match_source` | string | No | Matching evidence: 'any' (default) or 'job_post'. |
| `include_closed` | boolean | No | Search mode only: include permanently closed organizations. |
| `order_by_column` | string | No | Optional documented Sumble sort column. Account-specific account_score is unavailable on the shared wrapper. |
| `order_by_direction` | string | No | Sort direction: 'ASC' or 'DESC'. |
| `order_by_job_function` | string | No | Required with people_concentration or people_count_growth_1y sorting. |
| `order_by_advanced_query` | string | No | Required with job_post_concentration sorting. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/organizations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"organizations":[{"url":"stripe.com"}],"select":{"attributes":["name","industry","employee_count"]}}'
```

### Find & Enrich People

Resolve people by Sumble ID, LinkedIn profile, or work email, or search within specific organizations. Locus handles Sumble’s asynchronous job internally and returns the completed result in one call.

**Estimated cost:** $0.01 per matched person/paid field; email and phone reveals cost extra; settles to actual usage + $0.003 fee

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `people` | object[] | No | Match mode: 1-1000 objects identified by person_id, linkedin_url, or email. Use this or filter, not both. |
| `filter` | object | No | Search mode: { organization_ids: number[], query?: { query: string } }. Saved-list IDs are unavailable on the shared wrapper. |
| `select` | object | Yes | Response fields: { attributes: string[] }. Use an explicit array; account-specific person_score and related-people expansion are unavailable. |
| `limit` | integer | No | Search-mode result limit, 1-200 (default 10). |
| `offset` | integer | No | Search-mode pagination offset, 0-10000. |
| `order_by_column` | string | No | Search-mode sort: 'start_date' or 'job_level'. |
| `order_by_direction` | string | No | Sort direction: 'ASC' or 'DESC'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/people \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"select":{"attributes":["name","job_title","current_employer"]},"people":[{"linkedin_url":"https://www.linkedin.com/in/williamhgates"}]}'
```

### Search & Enrich Job Posts

Resolve Sumble job-post IDs or search hiring activity by organization and advanced query. Select job details, technologies, teams, functions, levels, projects, and likely hiring contacts.

**Estimated cost:** $0.01 per matched job/paid field/related person + $0.003 fee; settles to actual usage

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `jobs` | object[] | No | Match mode: 1-1000 objects shaped as { job_id }. Use this or filter, not both. |
| `filter` | object | No | Search mode: { organization_ids?: number[], query?: { query: string } }. Saved-list IDs are unavailable. |
| `select` | object | Yes | Composable response: { attributes: string[], related_people?: { attributes, limit, job_levels?, job_functions?, sort_order?, sort_direction? } }. |
| `limit` | integer | No | Search-mode result limit, 1-200 (default 10). |
| `offset` | integer | No | Search-mode pagination offset, 0-10000. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/jobs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filter":{"organization_ids":[171],"query":{"query":"technology EQ '"'"'python'"'"'"}},"select":{"attributes":["title","location","posted_date"]},"limit":10}'
```

### Search & Enrich Teams

Retrieve teams by ID or search teams within specific organizations, with composable activity, technology, job-function, related-people, and job-post data.

**Estimated cost:** $0.01 per team/paid field/related person/job post + $0.003 fee; settles to actual usage

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `teams` | integer[] | No | Match mode: 1-1000 Sumble team IDs. Use this or filter, not both. |
| `filter` | object | No | Search mode: { organization_ids: number[], query?: { query: string }, since?: YYYY-MM-DD }. |
| `select` | object | Yes | Composable response: { attributes, related_people?, job_posts? }. Account-specific ICP score is unavailable. |
| `limit` | integer | No | Search-mode result limit, 1-200 (default 10). |
| `offset` | integer | No | Search-mode pagination offset, 0-10000. |
| `order_by_column` | string | No | Sort by 'jobs_count', 'first_activity', or 'last_activity'. |
| `order_by_direction` | string | No | Sort direction: 'ASC' or 'DESC'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/teams \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filter":{"organization_ids":[171]},"select":{"attributes":["organization","jobs_count","technology_list"]},"limit":10}'
```

### Organization Tech Stack

Get technologies Sumble has confirmed an organization uses, grouped by business function and category.

**Estimated cost:** $0.01 per returned technology + $0.003 fee; authorizes up to $10.003 and settles to actual usage

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `organization_id` | integer | Yes | Positive Sumble organization ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/organization-tech-stack \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"organization_id":171}'
```

### Generate Intelligence Brief

Generate or retrieve an AI account brief covering the company angle, relevant contacts, teams, technologies, and recent changes. Locus waits for Sumble’s asynchronous generation and returns the completed brief.

**Estimated cost:** $0.503 per completed brief; pending generation is polled without extra charge

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `organization_id` | integer | Yes | Positive Sumble organization ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/intelligence-brief \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"organization_id":171}'
```

### Find Technologies

Search Sumble’s technology catalog by name and return canonical slugs for use in other queries.

**Estimated cost:** $0.013 when matches are found; $0.003 fee when no match

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Technology name search, 1-200 characters (for example, Kubernetes). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/technology-find \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"kubernetes"}'
```

### Look Up Technologies

Resolve technology names, slugs, or aliases to Sumble’s canonical technology records.

**Estimated cost:** $0.01 per 100 matched technologies + $0.003 fee; settles to actual usage

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `technologies` | string[] | Yes | 1-1000 technology names, slugs, or aliases. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/technology-lookup \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"technologies":["Kubernetes","PostgreSQL"]}'
```

### Look Up Technology Categories

Resolve category names or slugs and retrieve the canonical technologies contained in each category.

**Estimated cost:** $0.01 per 100 matched categories + $0.003 fee; settles to actual usage

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `technology_categories` | string[] | Yes | 1-1000 technology-category names or slugs. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/technology-category-lookup \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"technology_categories":["databases"]}'
```

### Classify Job Titles

Map job titles to Sumble’s canonical job functions and seniority levels.

**Estimated cost:** $0.01 per 100 matched titles + $0.003 fee; settles to actual usage

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `titles` | string[] | Yes | 1-1000 job titles. File exports are unavailable on the shared wrapper. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/job-title-lookup \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"titles":["VP of Engineering","Senior Account Executive"]}'
```

### Look Up Projects

Resolve project or initiative names to Sumble’s canonical project identifiers.

**Estimated cost:** $0.01 per 100 matched projects + $0.003 fee; settles to actual usage

**Billing:** This estimate is the authorization ceiling. Successful calls settle the provider-reported usage, and any unused wallet allowance or promo-credit hold is released automatically with durable retry protection.

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `projects` | string[] | Yes | 1-1000 project names or slugs. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/sumble/project-lookup \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"projects":["cloud migration","SOC 2"]}'
```
