RoleDawn

How to Pull Hiring Signals into Clay with an HTTP API Column

By the RoleDawn team · Published · Updated

Add an HTTP API column in Clay with Method GET and the endpoint https://roledawn.com/api/v1/signals?family=sdr&since=7d, and add your free RoleDawn key as the header X-RoleDawn-Key (email only, shown right away at roledawn.com/api/key). RoleDawn returns the companies that just started hiring that team, each with the public job post, in a "signals" list; set the field path to signals, or use HTTP API as a source with signals as the results path to get one row per company.

  • Free key, no account. Enter an email, copy the key, paste it into one header. No password, no card.
  • A reason to reach out on every row. Each company comes with the job post that shows it is building the team you sell to, and whether the post calls the role "founding" or "first".
  • Already filtered. Staffing agencies, large established companies and intern or contract roles are left out; one row per company.
  • Ranked. Founding/first posts first, then signals observed on a board already tracked, then the newest.

What does the request look like?

Companies that started hiring their first SDR or BDR in the last 7 days:

curl "https://roledawn.com/api/v1/signals?family=sdr&since=7d&limit=2"

Real response, captured 2026-10-07 (39 matching companies that day; limit=2 keeps the example short):

{
  "family": "sdr",
  "since": "7d",
  "type": "first_hire",
  "window_start": "2026-09-30T10:44:43.779Z",
  "generated_at": "2026-10-07T10:44:43.779Z",
  "total": 39,
  "count": 2,
  "limit": 2,
  "offset": 0,
  "next_offset": 2,
  "free_rows": 20,
  "truncated": true,
  "signals": [
    {
      "company": "SwiftConnect",
      "company_key": "swiftconnect",
      "company_url": "https://roledawn.com/companies/swiftconnect",
      "title": "Sales Development Representative",
      "family": "sdr",
      "type": "first_hire",
      "signal": "New SDR/BDR team",
      "evidence": "New on their board",
      "founding": true,
      "location": "United States",
      "job_url": "https://jobs.lever.co/swiftconnect/3305b93a-6112-4334-a4f5-cb0a36f5eeed",
      "posted": "2026-10-06T18:58:48.406Z",
      "detected": "2026-10-07T06:30:17.442Z",
      "roles_last_30d": null,
      "roles_prior_30d": null
    },
    {
      "company": "Coperniq",
      "company_key": "coperniq",
      "company_url": "https://roledawn.com/companies/coperniq",
      "title": "Founding BDR",
      "family": "sdr",
      "type": "first_hire",
      "signal": "New SDR/BDR team",
      "evidence": "Likely new team · inferred",
      "founding": true,
      "location": "Remote",
      "job_url": "https://jobs.ashbyhq.com/coperniq/d89d3086-b05a-4fd4-adad-c8f44b11be07",
      "posted": "2026-09-22T05:03:19.128Z",
      "detected": "2026-10-05T19:07:14.382Z",
      "roles_last_30d": null,
      "roles_prior_30d": null
    }
  ]
}

The same request with your free key, as Clay sends it:

curl -H "X-RoleDawn-Key: rd_your_key" -H "X-Client: clay-http-column" "https://roledawn.com/api/v1/signals?family=sdr&since=7d"

Same request for RevOps over 30 days:

curl "https://roledawn.com/api/v1/signals?family=revops&since=30d&limit=2"

Real response, captured 2026-10-07 (24 matching companies that day; limit=2 keeps the example short):

{
  "family": "revops",
  "since": "30d",
  "type": "first_hire",
  "window_start": "2026-09-07T10:44:45.645Z",
  "generated_at": "2026-10-07T10:44:45.645Z",
  "total": 24,
  "count": 2,
  "limit": 2,
  "offset": 0,
  "next_offset": 2,
  "free_rows": 20,
  "truncated": true,
  "signals": [
    {
      "company": "Replo",
      "company_key": "replo",
      "company_url": "https://roledawn.com/companies/replo",
      "title": "Founding GTM",
      "family": "revops",
      "type": "first_hire",
      "signal": "New RevOps team",
      "evidence": "Likely new team · inferred",
      "founding": true,
      "location": "San Francisco",
      "job_url": "https://jobs.ashbyhq.com/replo/d2597358-ccfb-46a8-900d-cb66fa973263",
      "posted": "2026-10-02T01:02:48.547Z",
      "detected": "2026-10-06T02:39:34.835Z",
      "roles_last_30d": null,
      "roles_prior_30d": null
    },
    {
      "company": "Loadsmart",
      "company_key": "loadsmart",
      "company_url": "https://roledawn.com/companies/loadsmart",
      "title": "GTM Engineer",
      "family": "revops",
      "type": "first_hire",
      "signal": "New RevOps team",
      "evidence": "New on their board",
      "founding": false,
      "location": "Chicago",
      "job_url": "https://jobs.lever.co/loadsmart/cb901648-bc3b-4429-b0d8-098769322099",
      "posted": "2026-10-06T23:41:02.167Z",
      "detected": "2026-10-07T04:15:13.978Z",
      "roles_last_30d": null,
      "roles_prior_30d": null
    }
  ]
}

How do I set up the HTTP API column in Clay?

  1. Add the HTTP API column. In your Clay table, add a column, pick the HTTP API enrichment and set Method to GET.
  2. Paste the endpoint. Endpoint: https://roledawn.com/api/v1/signals. Under Query String Parameters add family = sdr (or a column such as /Family) and since = 7d.
  3. Add your free key as a header. Get a free personal key at roledawn.com/api/key (email only, shown right away). Under Header Fields add X-RoleDawn-Key = your key, or save it once as an HTTP API (Headers) account. Optionally add X-Client = clay-http-column. Clay calls from shared IPs, so the key keeps your 50 daily requests your own.
  4. Choose the fields to return. Under Field Paths to Return keep total and signals, or a single value such as signals.0.company.
  5. Set a polite rate limit. For example 1 request per 1000 ms. The API allows 60 requests per minute and 50 per day per key.
  6. Run it and spread the list into rows. Run the column, then use Write to Other Table on the signals list to get one row per company, or start a new table with HTTP API as a source and results path signals.

A simple setup: one small table with a row per role family you sell to (sdr, sales, revops), the HTTP API column calling RoleDawn with family = that row's value, and Write to Other Table sending each company into your prospecting table. From there your usual Clay enrichments find the domain and the people to contact.

Which fields can I map to columns?

FieldTypeMeaning
company, company_keystringCompany name and RoleDawn company id
company_urlstringRoleDawn company page with all open roles
titlestringTitle of the job post behind the signal
family, typestringRole family id; first_hire or surge
signalstringReadable signal, e.g. "New SDR/BDR team"
evidencestring"New on their board", "Likely new team · inferred", or role counts for a surge
foundingbooleanThe post calls the role "founding" or "first"
locationstring | nullLocation text of the job post
job_urlstringThe company's own public job post
posted, detectedISO 8601When the job was posted and when RoleDawn detected the signal
roles_last_30d, roles_prior_30dinteger | nullSurges only: roles in the family in the last 30 days and the 30 days before

Field paths are relative to each item in signals once the list is spread into rows (for example company, job_url, founding). On the parent row, total tells you how many companies matched and truncated whether there were more than 20.

Which parameters can I change?

ParameterUse
familyrequiredRole family id, e.g. sdr, sales, revops; up to 5 comma-separated
sinceoptional7d, 14d, 30d (default 7d): when the signal was detected
typeoptionalfirst_hire (default), surge or all
limitoptionalCompanies per page, 1–20 (default 20)
offsetoptionalSkip this many companies within the top 20; use next_offset

Role family ids: revops, sales-enablement, marketing-ops, sales, sdr, sales-engineering, partnerships, customer-success, account-management, support, professional-services, marketing, product-marketing, growth-marketing, content, devrel, community, software-engineering, frontend, mobile, platform-sre, security, compliance, qa, engineering-management, hardware, it, data-engineering, data-analytics, ml-ai, product-management, design, ux-research, technical-writing, finance, legal, people, recruiting, bizops, workplace, executive, clinical, supply-chain. Unknown values come back as a JSON error with the parameter name:

Real response for since=90d (HTTP 400), captured 2026-10-07:

{
  "error": {
    "code": "invalid_parameter",
    "message": "since must be one of 7d, 14d, 30d.",
    "param": "since",
    "docs": "https://roledawn.com/api#errors"
  }
}

What should I write to these companies?

The job post is the reason to reach out: mention the specific detail it shows (a first SDR hire, a new RevOps function) and how you help teams at that stage. Read the post before you send. The Weekly List sample shows this week's top companies and a few suggested opening lines.

FAQ

Do I need an API key to call RoleDawn from Clay?

Not to try it, but add one. Clay sends HTTP API requests from its own servers, so many Clay users share the same IP address and the keyless allowance (50 requests per IP per day) can run out because of other people's tables. A free personal key from roledawn.com/api/key (email only, shown right away) gives you 50 requests per day of your own: add it under Header Fields as X-RoleDawn-Key. Either way you get up to 20 companies per query and 60 requests per minute.

What happens if I hit the daily limit?

RoleDawn answers HTTP 429 with code rate_limited and a Retry-After header (seconds until 00:00 UTC, when the count resets). Without a key, the message links the free key page. Cached repeats of the same query do not count against the keyless limit.

Which role families can I ask for?

Any of the 43 RoleDawn role families. For outbound teams the useful ones are revops, sales-enablement, marketing-ops, sales, sdr, sales-engineering and the other GTM families. Ask for up to 5 at once with commas: family=sdr,sales,revops.

What does "first hire" mean here?

The company posted a role in a family RoleDawn had not seen on its own careers page before. "New on their board" means the board was already tracked; "Likely new team · inferred" is an estimate for boards tracked only recently. Every row links to the job post so you can check it.

Does the API give me contacts or email addresses?

No. It returns companies and their public job posts only. Use the Clay enrichments you already have to find the domain and the right people at each company.

How often should the Clay table refresh?

Career pages are re-read about once a day, so once a day with since=7d is enough. Repeated calls within 15 minutes are served from the cache.

What if more than 20 companies match?

total shows how many match and truncated is true. Narrow the query (one family, since=7d), or get the Weekly List: the top 20 sales-team companies every Monday by email and CSV with a suggested opening line for each, $349/month after a free 2-week trial.

Related: Hiring Signals API reference · OpenAPI spec · This week's Weekly List sample · Companies hiring their first SDR · All new teams. RoleDawn is not affiliated with Clay.