5,000 emails/mo
$39/mo
billed monthly
$26/mo
billed annually
5,000 emails, 3 warm-ups, 100 Lead Finder credits
Plan details
sending stops; upgrade or wait for renewal
Cold email plus LinkedIn outreach platform priced on emails sent per month, with an API/webhooks/MCP/CLI bundle sold as a flat $20/mo add-on and an agency (multi-client) API. Best for low-cost agency setups: unlimited mailboxes and seats, per-client Agency Panel with an HQ master key.
The actions you pay for, as Woodpecker prices them.
| Action | Cost | Per |
|---|---|---|
| LinkedIn outreach automation | $29/mo | per connected LinkedIn account (0-20) |
| Agency Panel active client | $27/mo | per active client |
| White label | $5/mo | per active client |
| Extra warm-up | $5/mo | per email account |
| Google/Microsoft mailbox | $6/mo | per address |
| Maildoso / Mailforge / Infraforge / Azure mailbox | $4/mo | per address |
| Dedicated server (Infraforge) | $59/mo | per server |
| Lead Finder credits | ~$0.02 | per credit (packs from 500 for $10) |
| Action | Cost | Per |
|---|---|---|
| Find email / enrich | 1.5 credits | per lead (charged only when data is found) |
| Email validation | 0.25 credits | per email (catch-all verification via Bouncer is free) |
| Lead Finder lead search (API POST /v2/lead_finder/leads) | 1 credit | per lead returned (docs; measured 1 credit for 1 lead on our trial, 2026-10-25) |
| Lead Finder company preview (in-app) | 5 credits per database request + 0.1 per company | previewing 10 companies = 6 credits (pricing page) |
| LinkedIn post profile collection | 0.1 credit (reaction) / 0.3 credit (comment) | per profile collected |
| New domain | ~$1/mo | per domain, billed annually |
| Transfer / connect your domain | $1/mo | per domain, billed annually |
| Azure domain hosting | $20/mo | per domain hosted on Azure |
US dollars, as Woodpecker's pricing page shows them on 25 Oct 2026. Monthly and annual billing are shown apart.
Free tier 14-day trial or 500 sent emails, whichever comes first; all features, API & Integrations add-on free on trial; no card or phone. Our trial showed 100 Lead Finder credits and 300 AI Agent credits.
$39/mo
billed monthly
$26/mo
billed annually
5,000 emails, 3 warm-ups, 100 Lead Finder credits
sending stops; upgrade or wait for renewal
$79/mo
billed monthly
$52.67/mo
billed annually
50,000 emails, 10 warm-ups, 250 Lead Finder credits
sending stops
$119/mo
billed monthly
$79.33/mo
billed annually
100,000 emails, 15 warm-ups, 300 credits
sending stops
$219/mo
billed monthly
$146/mo
billed annually
250,000 emails, 30 warm-ups, 450 credits
sending stops
$499/mo
billed monthly
$332.67/mo
billed annually
500,000 emails, 65 warm-ups, 800 credits
sending stops
$999/mo
billed monthly
$666/mo
billed annually
1,000,000 emails, 95 warm-ups, 1,200 credits
sending stops
$68/mo
billed monthly
$55/mo
billed annually
Email tier price + $29/mo per LinkedIn account; shown for the 5,000-email tier with 1 LinkedIn account ($39 + $29; annual $26 + $29).
Derived from the live pricingData; in-app INR check: 3,700 + 2,700 = 6,400 INR/mo
sending stops
$29/mo
billed monthly
$29/mo
billed annually
per LinkedIn account: up to 250 DMs/day, 50 InMails/mo, 30 connection requests/day, 500 profile visits/day; 100 Lead Finder credits
$20/mo
billed monthly
$20/mo
billed annually
flat, all integrations; required for API, webhooks, Docker MCP and CLI on every tier ($240/yr on annual billing, no annual discount)
Unlimited monthly calls, but only ONE request is processed at a time per account; up to 6 more are queued with a 15-second maximum wait each, and anything beyond is dropped with 429.
Counted per account, not per key; each agency client and the HQ account have their own limit.
Woodpecker uses API key. The steps below follow Woodpecker's own docs.
curl -X DELETE "https://api.woodpecker.co/rest/v2/blacklist/domains"| What | Where |
|---|---|
| Documentation | developers.woodpecker.co/docs.md |
| API reference | developers.woodpecker.co/llms-full.txt |
| llms.txt | developers.woodpecker.co/llms.txt |
| Changelog | developers.woodpecker.co/llms-full.txt |
| Base URL | https://api.woodpecker.co/rest |
| MCP server | https://api.woodpecker.co/mcp/v1 |
| SDKs | @woodpecker.co/cli (npm, Node 22 LTS), woodpeckerco/woodpecker-mcp-server (Docker image, stdio) |
Other Email sending tools in this directory, each with its own review.
Best for multi-account LinkedIn outreach where you want to rent extra sender profiles natively.
Aimfox API reviewBest for solo sellers or small teams running LinkedIn + email sequences from their own accounts.
Dripify API reviewBest for agencies and teams sending hundreds of thousands of emails a month that want dedicated IPs and no per-seat or per-lead….
EmailBison API reviewFour things to settle first, each read off Woodpecker's own pages.
Tell us what you want Woodpecker 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 woodpecker.co/pricing.md, developers.woodpecker.co/llms-full.txt and developers.woodpecker.co/docs/getting-started/rate-limiting.md. Verified 25 Oct 2026.
| Method | Path | What it does | Cost |
|---|---|---|---|
| DELETE | /v2/blacklist/domains | Delete domains from the blacklist. Remove specific domains from the blacklist. | Not stated |
| DELETE | /v2/blacklist/emails | Delete emails from the blacklist. Remove specific emails from the blacklist. | Not stated |
| GET | /v2/blacklist/domains | Get blacklisted domains. Retrieve a paginated list of all blacklisted domains for the authenticated account. | Not stated |
| GET | /v2/blacklist/emails | Get blacklisted emails. Retrieve a paginated list of all blacklisted emails for the authenticated account. | Not stated |
| POST | /v2/blacklist/domains | Blacklist domains. Add domains to the blacklist. | Not stated |
| POST | /v2/blacklist/emails | Blacklist emails. Add emails to the blacklist. | Not stated |
| DELETE | /v2/campaigns/{campaign_id}/steps/{step_id} | Delete campaign step. This endpoint lets you delete a campaign step. | Not stated |
| DELETE | /v2/campaigns/{campaign_id} | Delete campaign. This request will delete a campaign. | Not stated |
| GET | /v1/campaign_list | Get a list of campaigns (with ?id= returns campaign statistics) | Not stated |
| GET | /v2/campaigns/{campaign_id} | Get campaign. Fetch a campaign with its settings, attached mailboxes and LinkedIn accounts, and each step and version (delivery times, tracking); returns the step and version IDs used by the update endpoints. | Not stated |
| PATCH | /v2/campaigns/{campaign_id}/steps/{step_id}/versions/{version_id} | Update step version. Use this request to update a step version. | Not stated |
| PATCH | /v2/campaigns/{campaign_id}/steps/{step_id} | Update step. Use this request to update an EMAIL step's delivery times. | Not stated |
| PATCH | /v2/campaigns/{campaign_id} | Update campaign settings. Use this request to update campaign-wide settings such as assigned email accounts, sending limits, timezone, and more. | Not stated |
| POST | /v2/campaigns/{campaign_id}/steps | Add campaign step. This endpoint allows you to add a new step at the end of a campaign, as long as the parent step has not yet processed any prospects. | Not stated |
| POST | /v2/campaigns/create_and_run_simple_campaign | Create and run a simple campaign. Send an email to one prospect from a connected mailbox, similar to using Compose in the Woodpecker inbox. | Not stated |
| POST | /v2/campaigns/create-draft | Create campaign draft. Create an email, LinkedIn, or multichannel campaign without providing all the details required to run it. | Not stated |
| POST | /v2/campaigns | Create campaign. Create a **multichannel, LinkedIn or email campaign** with a sequence of personalized follow-up messages and customizable delivery settings. | Not stated |
| POST | /v2/campaigns/{campaign_id}/make_editable | Edit campaign. This action changes the status of a campaign to the EDITED status. | Not stated |
| POST | /v2/campaigns/{campaign_id}/pause | Pause campaign. This request will change the campaign status to PAUSED and will halt any further contact with prospects until the status is changed back to RUNNING. | Not stated |
| POST | /v2/campaigns/{campaign_id}/run | Run campaign. This request starts a campaign and changes its status to RUNNING. | Not stated |
| POST | /v2/campaigns/{campaign_id}/stop | Stop campaign. This request will change the campaign status to STOPPED and will halt any further contact with prospects until the status is changed back to RUNNING. | Not stated |
| DELETE | /v2/campaigns/{campaign_id}/bounce_shield/threshold | Clear Bounce Shield threshold. Clear the Bounce Shield Monitor bounce rate threshold from a campaign, effectively disabling the Bounce Shield Monitor. | Not stated |
| GET | /v2/campaigns/{campaign_id}/bounce_shield/threshold | Get Bounce Shield threshold. Retrieve the Bounce Shield Monitor bounce rate threshold configured for a campaign. | Not stated |
| PUT | /v2/campaigns/{campaign_id}/bounce_shield/threshold | Set Bounce Shield threshold. Set or replace the bounce-rate threshold (integer 1-99, percent) that auto-pauses a campaign; returns 204 with no body. | Not stated |
| GET | /v2/inbox/messages | Get inbox messages. Retrieve a paginated list of email messages available in the Woodpecker inbox. | Not stated |
| POST | /v2/inbox/messages/{id}/reply | Reply to a message. This endpoint allows you to reply to a message retrieved from the Woodpecker inbox. | Not stated |
| GET | /v2/lead_finder/leads/enrichments/{uuid} | Get lead enrichment. Retrieve one lead enrichment batch by its uuid. | Not stated |
| GET | /v2/lead_finder/search_criteria/{criterion_name}/values | Get search criteria values. Retrieve allowed values for an enumerated Lead Finder criterion (e.g. COUNTRY, INDUSTRY, JOB_TITLE_ROLE). Docs flag a change on 22 Oct 2026. | free (no credits) |
| GET | /v2/lead_finder/search_criteria | Get search criteria. Retrieve the current Lead Finder criteria catalog, grouped into freetext and enumerated criteria. Docs flag a change on 22 Oct 2026. | free (no credits) |
| GET | /v2/lead_finder/leads/enrichments | List lead enrichments. List lead enrichment batches requested for the authenticated account. | Not stated |
| POST | /v2/lead_finder/leads | Search leads. Search for people matching one or more Lead Finder criteria; returns a compact result set (no emails) for selecting leads to enrich. size max 50 (PREMIUM) or 25 (TRIAL); next_page paging documented as PREMIUM-only. Docs flag a change to this endpoint on 22 Oct 2026. | 1 Lead Finder credit per lead returned (docs); measured on our trial: 1 credit for 1 lead (2026-10-25) |
| POSTasync | /v2/lead_finder/leads/enrichments | Queue lead enrichments. Queue one or more Lead Finder search results for enrichment. | 1.5 Lead Finder credits per lead enriched with an email found; charged only when data is found; up to 50 leads per request |
| GET | /v2/lead_finder/prospects/enrichments/{uuid} | Get prospect enrichment. Retrieve status details for a prospect enrichment batch. | Not stated |
| POST | /v2/lead_finder/prospects/enrichments/statuses/query | List prospect enrichments. List prospect enrichment statuses for the authenticated account. | Not stated |
| POSTasync | /v2/lead_finder/prospects/enrichments | Queue prospect enrichments. Queue one or more prospects for enrichment. | 1.5 Lead Finder credits per successfully enriched prospect; charged only when data is found |
| GET | /v2/linkedin/post_profiles_collectors/{uid} | Get a collection job. Retrieve a collection job by the UUID returned when you collect profiles from posts. | Not stated |
| GET | /v2/linkedin/post_profiles_collectors | List collection jobs. Retrieve collection jobs for the authenticated Woodpecker account. | Not stated |
| GET | /v2/linkedin/post_profiles_collectors/enrichment_actions/{action_uid} | Get enrichment status. Use this endpoint to check the status of an enrichment job started by enrichment of collected profiles. | Not stated |
| POSTasync | /v2/linkedin/post_profiles_collectors/enqueue | Collect profiles from posts. Collect LinkedIn profiles of people who reacted to or commented on selected posts and save the results to a new list in Woodpecker. | 0.1 credit per profile collected from reactions, 0.3 per profile from comments; only successfully collected profiles are charged |
| POSTasync | /v2/linkedin/post_profiles_collectors/enrichment_actions/enqueue | Enrich collected profiles. Enrich profiles collected from a LinkedIn post with available contact and company data. | 1.5 credits per successfully enriched profile |
| GET | /v2/linkedin_accounts | Get a list of LinkedIn accounts. Retrieve a list of LinkedIn accounts associated with your Woodpecker account, including each account's status, user information, and subscription level. | Not stated |
| GET | /v2/linkedin/inbox/messages | Get LinkedIn inbox messages. Retrieve LinkedIn replies received from prospects through your Woodpecker campaigns, including responses to direct messages, InMails, and connection requests. | Not stated |
| POST | /v2/linkedin/inbox/messages/{id}/reply | Reply to a LinkedIn inbox message. Continue a LinkedIn conversation after a prospect replies to a direct message or InMail sent through your Woodpecker campaign. | Not stated |
| GET | /v2/mailboxes/manual_connection/bulk/{batch_id}/summary | Mailbox connection batch status. Review the status of the submitted connection batch using the batch ID returned by rest/v2/mailboxes/manual_connection/bulk. | Not stated |
| GET | /v2/mailboxes/{id} | Get a mailbox. Retrieve a configuration of a specific email account connected to your account. | Not stated |
| GET | /v2/mailboxes | Get a list of mailboxes. Retrieve a list and configuration of email accounts connected to your account. | Not stated |
| DELETE | /v2/mailboxes/microsoft/credentials/{credential_id} | Delete a Microsoft Graph credential. Delete a Microsoft Graph app-only credential. | Not stated |
| GET | /v2/mailboxes/microsoft/credentials | List Microsoft Graph credentials. Retrieve Microsoft Graph app-only credentials saved for your account. | Not stated |
| PATCH | /v2/mailboxes/microsoft/credentials/{credential_id} | Update a Microsoft Graph credential. Update a Microsoft Graph app-only credential. | Not stated |
| POST | /v2/mailboxes/microsoft/credentials | Create a Microsoft Graph credential. Create a Microsoft Graph app-only credential for connecting Microsoft mailboxes. | Not stated |
| POSTasync | /v2/mailboxes/microsoft/bulk | Add Microsoft mailboxes in bulk. Connect one or more Microsoft mailboxes with Microsoft Graph app-only authentication. | Not stated |
| POSTasync | /v2/mailboxes/manual_connection/bulk | Add mailboxes in bulk. Connect one or multiple mailboxes to your account by providing SMTP/IMAP credentials along with optional sending configurations. | Not stated |
| PATCH | /v2/mailboxes/{smtp_mailbox_id} | Update mailbox. Update the signature of an SMTP email account connected to your account. | Not stated |
| GET | /v2/manual_tasks | Get manual tasks. Use this endpoint to retrieve a list of all manual tasks in the authorized account. | Not stated |
| DELETE | /v1/prospects | Delete prospects (from the database or from given campaigns) | Not stated |
| GET | /v2/prospects/{prospect_id}/responses | Get prospect responses. Retrieve a list of responses from a specified prospect. | Not stated |
| POST | /v1/add_prospects_campaign | Add or update prospects in a campaign (update flag) | Not stated |
| POST | /v1/add_prospects_list | Add or update prospects in the database (update flag) | Not stated |
| GET | /v1/prospects | Get a list of prospects (filter by campaigns_id, status, search) | Not stated |
| POSTasync | /v2/reports/complete_statistics_for_each_level_of_campaign | Generate report: Complete statistics for each level of campaign. Use the below endpoint to generate a report hash. | Not stated |
| GET | /v2/reports/{hash} | Retrieve a generated report by hash. After requesting the report generation, you can fetch it using the below endpoint. | Not stated |
| POSTasync | /v2/reports/campaigns | Generate report: General statistics per campaign. Use the below endpoint to generate a report hash. | Not stated |
| POSTasync | /v2/reports/open_rate | Generate report: Open rate per campaign. Use the below endpoint to generate a report hash. | Not stated |
| POSTasync | /v2/reports/messages | Generate report: Number of messages sent from each level in campaigns. Use the below endpoint to generate a report hash. | Not stated |
| GET | /v2/users | Get a list of users. Retrieve a list of active users in your account. | Not stated |
| DELETE | /v2/domains/{domain_name} | Delete domain. Request deletion of an existing Woodpecker domain. | Not stated |
| DELETE | /v2/domains/{domain_name}/mailboxes/{mailbox_email} | Delete domain mailbox. Request deletion of an existing mailbox from a domain. | Not stated |
| GET | /v2/domains/availability | Search domain availability. Search for available domain suggestions by phrase. | Not stated |
| GET | /v2/domains/{domain_name}/mailboxes/{mailbox_email} | Get domain mailbox. Retrieve details of a single mailbox under a purchased domain, including general mailbox information, credentials, and IMAP/SMTP settings. | Not stated |
| GET | /v2/domains/{domain_name}/mailboxes | List domain mailboxes. Retrieve active mailboxes for a purchased domain, including basic mailbox information. | Not stated |
| GET | /v2/domains/{domain_name} | Get domain details. Retrieve details for a single purchased domain, including owner data, forwarding settings, readiness status, and mailbox summary. | Not stated |
| GET | /v2/domains | List domains. Retrieve all purchased domains that belong to your account, including their status, expiration date, mailbox count, and other basic information. | Not stated |
| GET | /v2/domains/owner | Get domain owner. Retrieve the domain owner details saved for the account. | Not stated |
| GET | /v2/domains/providers | Get domain providers. Retrieve providers available for domain and mailbox orders. | Not stated |
| PATCH | /v2/domains/{domain_name}/set_email_forwarding | Set domain email forwarding. Set the forwarding email address for an existing domain. | Not stated |
| PATCH | /v2/domains/{domain_name}/mailboxes/{mailbox_email}/profile_picture | Update mailbox profile picture. Add or update the profile picture for an existing mailbox. | Not stated |
| PATCH | /v2/domains/{domain_name}/set_redirect_url | Set domain redirect URL. Set the redirect URL for an existing domain where visitors will be redirected when they open your domain. | Not stated |
| POST | /v2/domains/availability | Check domain availability. Check availability for a specific list of domains with a selected provider. | Not stated |
| POST | /v2/domains/order | Order domains. Order domains and mailboxes that are preconfigured for cold emailing and ready to use in Woodpecker. | Not stated |
| POST | /v2/domains/mailboxes/order | Order domain mailboxes. Order mailboxes for domains you already purchased in Woodpecker. | Not stated |
| POST | /v2/domains/owner | Save domain owner. Create or update the domain owner details for the account. | Not stated |
| DELETE | /v2/agency/blacklist/domains | Delete domains from the agency blacklist. Remove specific domains from the agency blacklist. | Not stated |
| DELETE | /v2/agency/blacklist/emails | Delete emails from the agency blacklist. Remove specific emails from the agency blacklist. | Not stated |
| GET | /v2/agency/blacklist/domains | Get blacklisted domains (agency). Retrieve a list of domains blacklisted in your agency. | Not stated |
| GET | /v2/agency/blacklist/emails | Get blacklisted emails (agency). Retrieve a list of emails blacklisted in your agency. | Not stated |
| POST | /v2/agency/blacklist/domains | Blacklist domains (agency). Add domains to the agency blacklist. | Not stated |
| POST | /v2/agency/blacklist/emails | Blacklist emails (agency). Add emails to the agency blacklist. | Not stated |
| GET | /v2/agency/companies/{company_id}/api_keys | Get a company's API keys. Retrieve a paginated list of API keys associated with a specific company. | Not stated |
| GET | /v2/agency/companies/{company_id}/email_accounts/ | Get list of email accounts assigned to the client. This endpoint returns list of the email accounts linked to the client. | Not stated |
| GET | /v2/agency/companies/{company_id}/users | Get a list of company users. Retrieve details of users under a specific company, including their ID, name, email, roles, and guest permissions. | Not stated |
| GET | /v2/agency/companies | Get companies. Retrieve a list of companies managed by your agency, including their ID, name, owner's name, status (active or inactive), number of running campaigns, and number of connected accounts. | Not stated |
| POST | /v2/agency/companies/{company_id}/api_keys | Create an API key for a company. This endpoint allows you to generate a new API key for the specified company, which can be used to authenticate API requests. | Not stated |
| POST | /v2/agency/companies/{company_id}/prospects/delete | Delete client's prospects. Remove prospects from a specific company within your agency account. | Not stated |
| POST | /v2/agency/companies/{company_id}/invite_guest | Invite guests to company. This endpoint allows you to invite new guests to a company or resend invitations to those who haven't accepted yet. | Not stated |
| POST | /v2/agency/companies | Create companies. Create new client accounts under your agency account, each with its own prospect database, campaigns, and team access. | Not stated |
| PUT | /v2/agency/companies/{company_id}/guests/permissions/ | Update guest permissions. This feature allows you to modify the permissions associated with a particular guest, such as granting access to certain areas or resources. | Not stated |
| GET | /v2/agency/deliverability | Get deliverability statistics. Retrieve per-client campaign metrics (sent, delivered, opened, replied, bounced) for a period, compared with the previous period of the same length. | Not stated |
| POST | /v2/agency/companies/{company_id}/linkedin_accounts | Connect LinkedIn account. Create a LinkedIn account within the company and returns the account ID together with an authorization URL. | Not stated |
| POST | /v2/agency/companies/{company_id}/linkedin_accounts/{account_id}/generate-connect-link | Generate connection link. Generates a new authorization URL for an existing LinkedIn account. | Not stated |
| POST | /v1/webhooks/subscribe | Subscribe to a webhook. Subscribe a target_url to one event (v1 endpoint); max 5 subscriptions per event per account, 409 beyond. | Not stated |
| POST | /v1/webhooks/unsubscribe | Unsubscribe from a webhook. Remove a target_url/event subscription (v1 endpoint). | Not stated |
| GET | /v2/webhooks | Get webhook subscriptions. Retrieve a list of all subscribed webhooks for the authenticated account. | Not stated |
No endpoint matches that filter.