API review

Dripify API review

Cloud LinkedIn (plus email) drip-campaign tool priced per user. It has a small cursor-paged 'Open API' (24 endpoints) and a 4-tool MCP server on Pro and Advanced, plus campaign-level webhooks and native HubSpot sync. Best for solo sellers or small teams running LinkedIn + email sequences from their own accounts.

Verified 25 Oct 2026 · 24 endpoints listed · Official MCP server

What a call costs

The actions you pay for, as Dripify prices them.

ActionCostPer
Email finder lookup (found and verified)1 credit; failed lookups cost nothingper address found; 100 credits/month included on every plan, valid 30 days, no rollover
Email-finder credit pack$29 / $49 / $69 / $991,000 / 2,000 / 5,000 / 10,000 credits

Pricing, plan by plan

US dollars, as Dripify's pricing page shows them on 25 Oct 2026. Monthly and annual billing are shown apart.

Free tier 7-day free trial, no credit card, with Advanced plan features; nothing is charged when it ends (pricing-page FAQ). A LinkedIn account must be connected before the app is usable.

Pro

$79/mo

billed monthly

$59/mo

billed annually

per user (one seat = one LinkedIn account); LinkedIn + email sequences; 100 email-finder credits/month; HubSpot integration; Open API & MCP Server

API included
Plan details

email-finder credit packs: $29/1,000, $49/2,000, $69/5,000, $99/10,000

Advanced

$99/mo

billed monthly

$79/mo

billed annually

per user (one seat = one LinkedIn account); everything in Pro + team management, advanced LinkedIn protection, lead tagging, step analytics, A/B testing, evergreen leads

API included
Plan details

email-finder credit packs: $29/1,000, $49/2,000, $69/5,000, $99/10,000

Enterprise

Custom quote

custom; everything in Advanced plus premium onboarding, dedicated technical support, customer success manager; custom mail finder

API included

Rate limits

60 requests per minute and 5,000 per day, per API key.

More on limitsLess

Responses carry X-RateLimit-Limit/Remaining/Reset; 429 includes Retry-After (seconds). A 401 is answered before the limiter, so it carries no rate headers.

How to get an API key

Dripify uses API key. The steps below follow Dripify's own docs.

  1. Create a Dripify account. API access starts on the Pro plan.
  2. Settings -> Integrations -> API Key -> Generate (help article; the OpenAPI info block calls the page 'Settings -> API & Integrations'). One key at a time: a new key can be generated after revoking the old one, and Revoke breaks every integration using it. The same key authorises the MCP server. The app forces a LinkedIn connection (/enter-linkedin) before any settings page, including the API key page, is reachable.
  3. Send it with every request: header (X-Api-Key).
  4. Make a first call: List campaigns. Keep the key in an environment variable, never in the command.
    curl -X GET "https://api.dripify.com/v1/open-api/campaigns" \
      -H "X-Api-Key: $DRIPIFY_API_KEY"

Where the docs live

WhatWhere
Documentationhelp.dripify.com/en/articles/16664719-open-api
API referenceapi.dripify.com
OpenAPI specapi.dripify.com
llms.txthelp.dripify.com/llms.txt
Base URLhttps://api.dripify.com
MCP serverhttps://app.dripify.com/api/v1/mcp

Strengths and limits

Where it fits

  • Solo sellers or small teams running LinkedIn + email sequences from their own accounts
  • Pulling campaign stats, leads, activity timelines and conversations into a CRM or warehouse
  • Uploading up to 1,000 LinkedIn profiles into a campaign as a new lead list from code
  • Webhook-to-Make/Zapier/HubSpot sync on connection, message and reply events

Where it falls short

  • Building or launching campaigns from code: campaign create/enable is not in the v1 API and must be done in the UI
  • Agency multi-sender orchestration at scale (HeyReach/Aimfox have richer APIs)
  • High-volume polling: 60 req/min and 5,000 req/day per key

Worth knowing

  • Campaigns cannot be created, enabled or disabled through the API (v1). Uploaded leads only start collecting once the campaign is ACTIVE in the UI.
  • The app will not show any page, including Settings > Integrations > API Key, until a LinkedIn account is connected; the 7-day trial cannot be used for API testing without one.
  • Every lead upload creates a NEW lead list and never appends. Use POST /lead-lists/{id}/leads to append.
  • Request bodies are strict: any unknown field is rejected with 400 rather than ignored.
  • Hard daily cap of 5,000 requests per key on top of 60/min, which rules out frequent full-sync polling. Use webhooks.
6 moreShow fewer
  • The reply webhook fires once per lead unless the lead is resumed. Manually continued conversations will not re-trigger it.
  • Make.com webhook in draft mode makes Dripify mark the integration failed. Run the scenario once to activate it.
  • Help-center articles still mention a Basic plan (50 emails/day) that is no longer on the pricing page.
  • Preset LinkedIn daily caps go up to 75 connection requests, 100-150 messages and 25 InMails per account. These are higher than the 15-25 CRs/day we run.
  • The OpenAPI info block calls the API 'Read-only' although it has write endpoints (lead upload/append, tags, blacklist, resume, custom fields, send message). Trust the endpoint list, not that sentence.
  • Email-finder credits: 100/month on every plan, valid 30 days, not rolled over; a credit is spent only when an address is found and verified.

Who should use it

Use Dripify for
Solo sellers or small teams running LinkedIn + email sequences from their own accounts
Look elsewhere for
Building or launching campaigns from code: campaign create/enable is not in the v1 API and must be done in the UI

If Dripify is not the answer

Other LinkedIn outreach tools in this directory, each with its own review.

Before you build

Four things to settle first, each read off Dripify's own pages.

  • Confirm the API is on your planAPI access starts on the Pro plan. Free tier: 7-day free trial, no credit card, with Advanced plan features.
  • Keep the key out of your codeAPI key. It is sent as: header (X-Api-Key).
  • Design around the rate limit60 requests per minute and 5,000 per day, per API key.
  • Know the catch before you scaleCampaigns cannot be created, enabled or disabled through the API (v1). Uploaded leads only start collecting once the campaign is ACTIVE in the UI.

Want us to build it for you?

Tell us what you want Dripify to do in your stack. We will show you how we would wire it into your data, outbound or CRM, and what we would check first.

Read from dripify.com/pricing, api.dripify.com and help.dripify.com/en/articles/16664719-open-api. Verified 25 Oct 2026.

All 24 endpointsFor developers: method, path, what it does and what it costs.

Base URL: api.dripify.com (spec server is path-relative '/'; paths start with /v1/open-api/)

Bulk and async: Lead upload 1-1,000 per request; tag apply/remove in batches; no async jobs.

Webhooks: Configured per campaign in campaign Settings; any public URL that accepts HTTP POST. Dripify does not publish one canonical webhook event list: the two reply triggers are named in the launch article, the others are paraphrased in the Make/Zapier and lead-export articles. 'After request withdrawn' is documented only as a HubSpot-sync trigger, not a webhook trigger. Conflict: the launch article says multiple triggers can be selected per campaign; the older Zapier article says only one condition per webhook integration per campaign, and that webhooks carry lead data only (no message content), which the newer reply trigger contradicts. Reply trigger fires on the first response, and again only if the lead is resumed and replies later. Events: Connection request (invite) sent, Connection request accepted, Message sent, Profile auto-viewed, After LinkedIn reply is received (carries the full conversation from the Dripify inbox), After lead's first LinkedIn reply (deprecated)

24 endpoints
MethodPathWhat it doesCost
GET/v1/open-api/campaignsList campaignsNot stated
GET/v1/open-api/campaigns/{id}/lead-listsList a campaign's lead listsNot stated
GET/v1/open-api/campaigns/{id}/statisticsGet a campaign's statistics, Counts and rates for one campaign, the same numbers the Dripify campaign screen shows. Rates are percents rounded to one decimal place, so parse them as a decimal type. The counters under `leadStatusNot stated
POST/v1/open-api/campaigns/{id}/leadsUpload leads into a campaign, Creates a new lead list in the campaign from the supplied LinkedIn identifiers, this endpoint always creates a new list, it never appends to an existing one. Each item in `leads` must supply exactly1-1,000 leads per request; always creates a NEW lead list; collection starts only when the campaign is ACTIVE
POST/v1/open-api/lead-lists/{id}/leadsAppend leads to an existing lead list, Appends resolved LinkedIn identifiers to an existing "Paste profile URLs" lead list. Unlike upload, this never creates a new list, it targets an existing one by id. Core rejects the append with a 400Not stated
GET/v1/open-api/leadsList leadsNot stated
POST/v1/open-api/leads/searchLook a lead up by email or LinkedIn profile URL, The lookup value travels in the body so it never reaches an access log or a browser history. One value can match several leads, so the response is a list. Results are always limited to the caller's owNot stated
PUT/v1/open-api/leads/tagsApply tags to a batch of leads, Adds every tag in `addTagIds` to every lead in `leadInUserIds`, in one call. Applying a tag a lead already carries is a no-op, not an error. Every id is checked before anything is written: a lead thaNot stated
DELETE/v1/open-api/leads/tagsRemove tags from a batch of leads, Removes only the tags named in `removeTagIds` from every lead in `leadInUserIds`. Tags those leads carry that are not named are left in place, and the tags themselves are not deleted from your accountNot stated
GET/v1/open-api/leads/{id}Get a single lead by IDNot stated
GET/v1/open-api/leads/{id}/activityList a lead's activity log, The lead's timeline events, newest first, the same events the Dripify UI shows for this lead. `error` is present only on events that represent a failure.Not stated
GET/v1/open-api/leads/{id}/conversationGet a lead's conversation, The lead's LinkedIn conversation: participants, read, starred and archived state, and who sent the last message and when. A lead without a LinkedIn conversation answers 404.Not stated
PUT/v1/open-api/leads/{leadId}/blacklistBlacklist a lead, Blacklists the lead so it is no longer contacted by any of your campaigns. Idempotent: blacklisting a lead that is already blacklisted is a no-op, not an error.Not stated
DELETE/v1/open-api/leads/{leadId}/blacklistWhitelist a lead, Removes the lead's blacklisted state. Idempotent: whitelisting a lead that is not blacklisted is a no-op, not an error.Not stated
POST/v1/open-api/leads/{leadId}/resumeResume a lead's paused campaigns, Reactivates every campaign currently paused for this lead. Resuming is lead-wide: it is not scoped to a single campaign. Idempotent: resuming a lead with nothing paused is a no-op, not an error.Not stated
GET/v1/open-api/conversations/{conversationId}/messagesList a conversation's messages, The messages of a lead's LinkedIn conversation, newest first. They are read live from LinkedIn on every call, so a response reflects the conversation as it is right now. Take `conversationId` from theNot stated
POST/v1/open-api/leads/{leadId}/messagesSend a message to a lead's existing LinkedIn conversation, Sends `message` into the lead's existing LinkedIn conversation. The lead must already have a conversation, this endpoint never starts a new one. Sending pauses the lead's outbound automation: any casends a real LinkedIn message into an existing conversation
GET/v1/open-api/custom-lead-fieldsList custom lead field definitions, The account's custom lead field definitions, use `id` to set or unset a value with the lead custom-field endpoints. Archived fields are not included.Not stated
PUT/v1/open-api/leads/{leadId}/custom-fields/{customLeadFieldId}Set a lead's custom field value, Sets `value` for `customLeadFieldId` on `leadId`, creating it if none is stored yet and overwriting it otherwise, the caller never needs to know which happened. `leadId` must be one of your own leadNot stated
DELETE/v1/open-api/leads/{leadId}/custom-fields/{customLeadFieldId}Unset a lead's custom field value, Removes the value stored for `customLeadFieldId` on `leadId`, if any. Unsetting is idempotent: a `customLeadFieldId` that does not exist, that you do not own, or that has no value stored for this leaNot stated
GET/v1/open-api/teamsList teams the caller belongs to, Every team the API caller is a member of, with campaign rollup analytics inlined into each row.Not stated
GET/v1/open-api/teams/{teamId}/membersList team members, The members of one of your teams, each with the statistics the Dripify team screen shows. You must be the team's OWNER or MANAGER; any other team answers 404. Ordering depends on live subscription staNot stated
GET/v1/open-api/tagsList tagsNot stated
POST/v1/open-api/tagsCreate a tagNot stated