HeyReach API: Endpoints, Rate Limits, and What It Cannot Do

What the HeyReach API exposes, how to authenticate, the 300 requests per minute limit, the campaign rules that trip teams up, and what it costs.

Published Updated 13 min read
HeyReach API: Endpoints, Rate Limits, and What It Cannot Do

The HeyReach API is a REST API at https://api.heyreach.io/api/public, authenticated with an X-API-KEY header and capped at 300 requests per minute. It exposes twelve resource groups covering campaigns, the unified inbox, connected LinkedIn accounts, lead lists, stats, webhooks and enrichment, and it is included on every paid plan, starting at $79 per sender per month.

That is the whole answer if you only want to wire HeyReach into your own stack. It is not the answer if you are building a product on top of LinkedIn: an agency dashboard, a GTM tool, an AI agent that runs sequences for someone else. In that case the useful question is not what the API can do, it is where it stops, what your product inherits from HeyReach's campaign model, and what the same capability costs if you build one layer lower.

Everything below was read from HeyReach's own documentation and pricing page on 20 August 2026.

What does the HeyReach API expose?

The public collection is organised into twelve groups. Reading them in order tells you more about the product than any feature page, because an API is the honest version of a roadmap: it only contains what already exists.

Resource groupWhat it covers
PublicAuthenticationKey validation (GET /auth/CheckApiKey)
PublicCampaignsTwenty endpoints: create, configure, start, pause, resume, add and stop leads
PublicInboxReading unified inbox conversations, plus sending replies
PublicLinkedInAccountConnecting, reconnecting and removing sender accounts, plus their proxies
PublicListLead and company lists
PublicLeadIndividual leads, and the tags used to label them
PublicLeadTagsIndividual leads, and the tags used to label them
PublicStatsCampaign and account level reporting
PublicWebhooksEvent subscriptions, so you are not forced to poll
PublicMyNetworkThe connections belonging to a given sender
PublicEnrichmentEmail enrichment, run as an async job you poll
OrganizationWorkspace, user and API key management across the organization

Two things stand out. Webhooks are a first-class group rather than an afterthought, which matters because polling a campaign for replies is how you burn a rate limit. And there is no group for anything HeyReach does not itself do: no profile-search or scraping endpoint, and no way to run an arbitrary LinkedIn action outside the sequence, inbox and network endpoints above. Sender accounts connect either with credentials through POST /li_account/Connect or with the account owner's own session cookies through POST /li_account/ConnectWithCookies, and both routes are gated behind an Account Login API feature. That is a deliberate design, and mostly a good one.

How do you authenticate with the HeyReach API?

You generate the key in HeyReach under the settings icon in the bottom left, then Integrations, then the HeyReach API section, then Get API key. Keys never expire, but they can be deleted or deactivated, so treat them as long-lived secrets and rotate deliberately rather than on a schedule. Every request carries the key in an X-API-KEY header. There is no OAuth flow, which makes server-to-server integration trivial. Multi-tenancy runs on workspaces rather than scoped tokens: the Organization group creates workspaces and mints a separate API key per workspace, so you hold one key per client.

Validate the key
curl --location 'https://api.heyreach.io/api/public/auth/CheckApiKey' \
  --header 'X-API-KEY: <YOUR_API_KEY>'

# 200 means the key is live and mapped to your organization.

From there the pattern is uniform: almost everything is a POST, including the reads. Listing campaigns is POST /campaign/GetAll with a body carrying your filters and pagination, not a GET with query parameters. It is unusual, it is consistent, and it means you cannot cache responses at the HTTP layer without extra work.

List campaigns
curl -X POST 'https://api.heyreach.io/api/public/campaign/GetAll' \
  -H 'X-API-KEY: <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{ "offset": 0, "limit": 50 }'

What can you build with the campaign endpoints?

The campaign group is where the HeyReach API earns its keep. A campaign is created in draft, configured through separate calls, then started. HeyReach documents the flow in its own Campaign API post, and the split is worth understanding because each step is a different endpoint rather than one large payload.

  • POST /campaign/Create makes the campaign in draft status.
  • POST /campaign/UpdateSettings sets the name, the lead lists and the exclusion rules.
  • POST /campaign/UpdateSequence writes or replaces the steps, including conditional branches on whether a connection exists or a profile is open.
  • POST /campaign/UpdateAccounts assigns the sender accounts.
  • POST /campaign/UpdateSchedule sets the sending window and the active days.
  • POST /campaign/StartCampaign puts it live, with Pause and Resume for the rest of its life.

The sequence model itself is more capable than the endpoint count suggests. Steps can branch on whether a connection already exists and on whether a profile is open, delays are expressed in units from 0 to 100 paired with HOUR or DAY, with a documented floor of three hours on any step that follows an action, and personalization variables are populated per lead through PATCH /campaign/UpdateLeadCustomFields/campaigns/{campaignId}/leads/custom-fields. Email steps are handed off to Instantly, Smartlead or EmailBison rather than sent by HeyReach, which is worth knowing early: if your product promises multichannel, you are integrating a second vendor and reconciling two sets of reply data, not calling one endpoint.

Leads move through AddLeadsToCampaignV2 and StopLeadInCampaign, and you can read state back with GetLeadsFromCampaign and GetCampaignsForLead. CreateCampaignFromTemplate exists for the common case of cloning a proven sequence per client, which is exactly what an agency automating onboarding needs.

In practice that is enough to run a whole outreach product's backend without a human ever opening HeyReach. Which is the point at which the constraints start to matter.

What are the HeyReach API limits that bite later?

None of these are hidden. They are simply the kind of thing you discover in week three rather than week one, when the shape of your product is already committed.

ConstraintWhat it means for your product
300 requests per minute, sharedDesign for webhooks. Polling does not scale past a few dozen campaigns.
Only DRAFT, SCHEDULED and PAUSED campaigns accept editsAny settings, sequence, schedule or sender-list replacement on a running campaign needs a pause, and a pause is visible to your customer.
The lead list cannot be swapped after first activationYou can keep adding leads to a running campaign, but pointing it at a different list means a new campaign.
Start date locks once the campaign startsRescheduling means recreating.
Sender lists are capped at 100 accounts per callCreate and UpdateAccounts each accept 1 to 100 account IDs, and UpdateAccounts is a full replacement, so anything larger has to be assembled with repeated AddLinkedInAccountsToCampaign calls.
Campaign names capped at 50 charactersEncode client and batch identifiers somewhere else.
Connecting accounts by API needs the Account Login API featureProgrammatic client onboarding is not something the pricing page promises. Confirm it before you design around it.

One caveat on how these were established, because it changes how much weight to put on them. Every limit here comes from the documented surface of HeyReach’s own Postman collection, read on 20 August 2026. We did not run live calls against a paid key, so where the documentation describes an array bound on a single request, such as the 1 to 100 account IDs a create or update call accepts, we report it as a per-request bound rather than assuming a hidden per-campaign ceiling. If you are sizing a fleet around any of these numbers, confirm them against your own key before you design for them.

The locked lead list is the one that reshapes architecture, so decide early. If leads arrive continuously, from a signal watcher or a Clay table or your own product, you do not have to mint a campaign per batch: POST /campaign/AddLeadsToCampaignV2 takes up to 100 leads per request into a campaign that is already running, and HeyReach's own Trigify guide has you launch against an empty list and let the leads arrive afterwards. What the lock actually forces is a new campaign whenever the list itself, the sequence, the schedule or the sender set has to change, so you still end up creating campaigns per client and per segment. That collides with the 50 character name limit the moment you want client, segment and batch date in the name, so keep your own identifier and store the returned campaign id against it. Reconcile with GetLeadsFromCampaign rather than trusting your own send log.

Behind those sits the structural constraint, which is not a bug and not fixable: the HeyReach API is an API onto HeyReach's product. Your sequences are HeyReach sequences, your limits are HeyReach's limits, your customers' LinkedIn accounts are connected inside HeyReach's workspace, and anything HeyReach has not built you cannot expose. If you are building an internal automation, that is a feature: someone else maintains it. If you are building a product you intend to sell, you are reselling a product rather than owning one, and the difference shows up in your margin and your roadmap at the same time.

What does the HeyReach API cost?

There is no separate API price and no developer tier. API and webhook access is listed on the entry plan rather than held back for a higher tier, which is worth crediting. You pay for senders, and the API comes with them. These are the list prices, read on 9 August 2026.

PlanMonthlySendersNotable inclusions
Growth$79 per sender below ten, $59 per sender at ten or moreUp to 50API and webhooks, MCP server, unified inbox, workspaces
Agency$99925, with a 50 sender optionEverything in Growth, whitelabel, 1,000 enrichment credits, onboarding
Unlimited$2,999UnlimitedEverything in Agency, 3,000 enrichment credits, migration, priority support
Done for youCustomCustomManaged service: strategy, campaign setup, inbox management

Yearly billing takes 20 percent off and quarterly takes 10 percent. The number that matters for anyone building on top is the crossover: Growth is $79 per sender below ten senders and $59 per sender at ten or more, applied across the whole fleet rather than in bands, so 25 senders on Growth is $1,475 a month against $999 for the same 25 senders on Agency, and Agency is the cheaper option from seventeen senders up. If your product carries client accounts, you are on Agency or Unlimited from the first serious customer, and whitelabel starts there too.

There is also an early stage program advertised on the same page, a heavily discounted plan for companies under $250,000 in annual recurring revenue, with fewer than five people, who are not already customers. If you are prototyping a product rather than running an agency, that is worth an application before you commit to list price.

For the wider picture of what programmatic LinkedIn access costs across vendors, including the official API's own restrictions, we keep a separate breakdown.

Should you build on the HeyReach API or your own?

This is the question the keyword usually hides. Teams searching for the HeyReach API are often not trying to integrate HeyReach at all, they are trying to work out whether to build the thing HeyReach is. There are three honest answers, and which one is right depends entirely on whether outreach is your product or your plumbing.

Build on the HeyReach API

Fastest path, days rather than months. You inherit a maintained campaign engine, a unified inbox and reporting for free. You also inherit the campaign model, the per-sender price, and a dependency your customers can discover. Right answer when outreach is a feature inside a product that is about something else.

Build from scratch on raw LinkedIn access

You own everything, and you own everything. Session management, proxy hygiene, checkpoint and challenge handling, per-account rate shaping, the weekly surprises LinkedIn ships without notice. In our experience it is two to three months to a first version that works, then permanent maintenance, with your customers' accounts carrying the risk of every mistake. We wrote the full teardown of what that build involves.

Build on outreach infrastructure

The middle path, and the one that did not really exist three years ago. You keep your own campaign model, your own data model and your own UI, and you rent the part that is pure maintenance cost: sessions, proxies, action pacing, safeguards. Unipile, Edges and Swarmhit all sell some version of this, and they differ mostly in how much of the sequencing they hand you versus leave you to write.

Since this is our blog, the disclosure: Swarmhit is the third option. Our API, webhooks and MCP server expose the sequencer itself, so you are not rebuilding step scheduling, sender rotation, reply detection and cooldowns on top of a raw connection. Senders are your customers' own LinkedIn accounts, running on dedicated proxies we provide, with more than 100 safeguards monitored around the clock. The trade is explicit: we do the sequencing work, you build the rest.

On price, the self-serve platform is $39 per sender per month. Developer pricing is heavily discounted against the $39 platform rate and carries a minimum sender count, agreed on the integration call. It is graduated rather than flat: each band of senders is priced at its own rate and the bill is the sum of the bands, so adding senders lowers what the next ones cost rather than repricing the fleet you already have. Rates are scoped on a short technical call. Against $999 for 25 senders on HeyReach Agency, that is the difference between reselling and having a margin.

Side by side, the three routes trade the same four things: how long you wait for a first working version, what you end up owning, what you rent from someone else, and who carries the account risk when a sequence misbehaves.

RouteTime to first versionWhat you ownWhat you rentWho carries account risk
Build on the HeyReach APIDaysYour integration and your product surfaceTheir sequencer, their campaign model, their limitsYou, through your customers’ connected accounts
Build from scratch on raw LinkedIn accessMonthsEverything, including the pacing logicNothing, which is the point and the costYou, entirely, including every pacing mistake
Build on outreach infrastructureDaysYour product surface and your customer relationshipA production sequencer, safeguards, inbox and data behind one APIThe infrastructure provider operates the safety layer

The honest read is that route one is fastest when HeyReach’s campaign model happens to match yours, route two only pays for teams whose product is the outreach engine itself, and route three exists because most teams want route one’s speed without inheriting someone else’s campaign shape or their 300 requests a minute ceiling.

Build on the sequencer, not on a UI

Campaigns, sender rotation, reply detection and safeguards behind one API with webhooks and MCP, on senders your customers own and proxies we provide. Integration pricing is scoped on a short technical call.

Book an integration call

Custom pricing. White-label available.

One thing to settle before you build on any of them

Whichever layer you pick, the LinkedIn accounts running the outreach belong to real people, and the consequences of getting pacing wrong land on them rather than on you. Any vendor you build on should be able to tell you its per-account daily caps, what it does when LinkedIn presents a checkpoint, and whether actions run through accounts your customers own or through infrastructure they cannot see. We wrote up where the safe line sits, and it applies equally to a HeyReach integration and to a build of your own.

It is also worth reading LinkedIn's user agreement yourself rather than taking any vendor's summary of it, including ours. The clauses on automated access and on distributing information obtained from the service are the ones that decide what a product built on LinkedIn is allowed to look like, and they are short enough to read in one sitting. None of this is legal advice, and your jurisdiction and use case matter.

FAQ

Is the HeyReach API included in every plan?

Yes. API and webhook access is listed on the entry Growth plan at $79 per sender per month, alongside integrations, workspaces and the MCP server, and it carries up through Agency and Unlimited. There is no separate developer tier and no separate API fee.

What is the HeyReach API rate limit?

300 requests per minute. HeyReach states that all requests are attributed to the same limit, and that going above it returns a 429 status code with an error. Since there is one pool rather than one per endpoint, treat webhooks as the default way to learn about replies and campaign progress, and reserve polling for reconciliation.

Can I create and launch a campaign entirely through the HeyReach API?

Yes. Create the campaign in draft, set the lead lists and exclusions, write the sequence, assign senders, set the schedule, then start it. The catch is afterwards: only draft, scheduled and paused campaigns accept edits, the lead list cannot be changed once the campaign has been activated, and the start date locks. You can keep feeding a running campaign through AddLeadsToCampaignV2; plan for a new campaign when the list, sequence, schedule or sender set has to change.

Does HeyReach offer an MCP server for AI agents?

Yes, an MCP server is listed on the pricing page from the Growth plan up, so an agent can drive campaigns without you writing a REST client. If you are comparing how different vendors expose LinkedIn to agents, we covered that separately.

Should I build on the HeyReach API or on outreach infrastructure?

Use the HeyReach API when outreach is a feature of a product that is about something else, and shipping in a week matters more than owning the model. Use outreach infrastructure when outreach is the product, when you need a campaign model that is not HeyReach's, or when $999 a month for 25 sender accounts on Agency leaves nothing for your own margin. Build from scratch only if LinkedIn plumbing is itself your differentiator.

The short version

The HeyReach API is a complete, well-scoped API onto a good product, available on every plan, with an unusually honest set of documented constraints. If you want to automate your own outreach or bolt LinkedIn onto an existing tool, it is the fastest correct answer and you should stop reading here.

If you want to see the tools in that market side by side, our LinkedIn automation tools hub compares them, and our roundup of outreach APIs works through the same build or buy decision across vendors. If you are shopping away from HeyReach rather than building on it, our HeyReach alternatives list and our head-to-head comparison both go deeper.

Alexandre Risser

Written by

Alexandre Risser

Swarmhit

Building Swarmhit. Writes about LinkedIn outreach, multi-sender infrastructure, and outbound that books meetings.

Ready to scale your LinkedIn outreach?

Multi-sender campaigns with built-in safeguards, from $39/month per sender.

Start free trial →

Keep reading

Stop sending cold messages.
Start booking warm meetings.

The teams getting in early are already booking meetings instead of chasing them.