Skip to main content
2026-02-18
Education Output, ID Types & Fixes

API

  • Extract LinkedIn Company Viewers — New action to extract viewers of a LinkedIn company page. Requires page admin access and a Premium page; returns viewers from the past year. Extract LinkedIn Company Viewers
  • Extract LinkedIn People Educations — New action to extract education history (schools, degrees, fields of study, dates). Extract LinkedIn People Educations
  • Extract LinkedIn People — Education output — New fields: title (degree + field of study), field_of_study, school_description. Breaking: degree_name is now correctly filled (first part of title before comma) or empty; it was previously sometimes filled with field_of_study.
  • ID type changes — Several IDs changed from string to integer: linkedin_school_id, linkedin_company_id, original_linkedin_company_id, company_id in extract-people, experiences, company, company-employees-insights, recruiter-lite-search-people.
  • LinkedIn experience outputs — Added job_contract_type, unblocking richer profile refresh data for migrations.
  • Outputs APIs — Added extracted_at so consumers can reliably track when data was fetched.

Improvements & Fixes

  • Billing — Next billed amount displayed on the platform now takes into account any discount applied on the subscription.
  • Sales Navigator — Fixed company keyword search when spaces were double-encoded, restoring results for multi-word queries.
  • Runs — Treated STATUS_404 and NO_RESULT as successful “no data” outcomes, reducing false failed runs while keeping transparency via last_info.
  • Experience location — Improved completeness by inheriting the parent location when sub-experiences omit it.
  • Accounts — Prevents false “no access” errors for some valid accounts.
2026-01-27
Run Inputs API, Callbacks & Docs

API

  • Get Run Inputs — New endpoint to list all inputs for a run (including failed) and their errors. Get Run Inputs
  • Runs — Error responses 404/409/422 added on run endpoints; auth_type removed from account schemas.

Documentation

Improvements & Fixes

  • Run Outputs — Pagination fix; 422 for live runs instead of empty response.
  • Workspace — OAuth page white-label (your logo); credit override no longer blocks when below plan.
  • Retries — More automatic retries (proxy, limits, Sales Navigator).
  • Actionslinkedin_profile_id in more outputs; Search Metrics returns 0 values and supports # in URLs; Post Activity returns linkedin_activity_id; identities list pagination fixed.

What This Means for You

  • Recover missed data — New inputs endpoint and clearer callback rules.
  • Voice & video — Message and InMail send audio/video as voice or video messages where supported.
  • Company search — Reuse a people search on a company in one call.
  • Fewer manual retries — More cases trigger automatic retry.
  • Clearer API — Pagination fixed; live runs return explicit error.
  • Workspace — OAuth logo, credit override fix.
2026-01-15
v1.2.6 – Unified Cursor Pagination

Deprecations

Page-Based Pagination Deprecated (Live Mode)

The page parameter is now deprecated in favor of cursor-based pagination on 38 live mode endpoints.
ParameterStatus
pageDeprecated (still functional, removed from docs)
tokenDeprecated (still functional, removed from docs)
cursorNew - recommended approach
The deprecated parameters remain backward compatible. Existing integrations will continue to work, but we recommend migrating to cursors for new implementations.
Migration steps:
  1. Replace page parameter with cursor
  2. Replace token parameter usage with cursor
  3. Use the cursor value from X-Pagination-Next header
  4. Handle cursor expiration - cursors expire after 24 hours (restart from beginning if error)
Affected endpoints: 38 action /run/live endpoints (e.g., linkedin-extract-*, salesnavigator-*, recruiterlite-*)Not affected: Core API endpoints (/runs, /schedules) continue using limit/offset pagination.

Improvements

  • Unified pagination: Single cursor approach replaces mixed page/token system
  • Data consistency: Cursors ensure stable pagination (valid for 24 hours)
  • Simpler implementation: Always follow X-Pagination-Next header (no need to distinguish pagination types)

API Parameter Updates

  • run_uid path parameter now includes UUID format validation and description

What This Means for You

  • Existing integrations continue to work - page and token remain functional (backward compatible)
  • New integrations should use cursor - recommended for all new implementations
  • Async/Schedule modes unchanged - automatic pagination continues to work the same way
  • SDK users: The nextPage helper still works - it returns the cursor URL
2026-01-09
v1.2.5 – Reliability, Richer Data

🚀 What’s New

This release focuses on improved LinkedIn reliability, richer profile data, and new automation features.

🔒 LinkedIn Connection Reliability

  • Fixed: LinkedIn accounts now reconnect smoothly without false authentication errors
  • Fixed: Sales Navigator “upgrade required” errors no longer appear when visiting profiles within your daily limits
  • Users should experience far fewer connection interruptions when running LinkedIn workflows

📬 LinkedIn Invitation Management

New actions for managing your LinkedIn invitations with precision:
ActionDescription
Accept InvitationAccept a single invitation provided as input
Withdraw InvitationWithdraw a single invitation provided as input
Accept InvitationsAccept all pending invitations (now supports async execution)
Withdraw InvitationsWithdraw all pending invitations (now supports async execution)
These actions enable selective invitation workflows, giving you precise control over which invitations to accept or decline.

💰 Richer LinkedIn Profile Data

When searching LinkedIn Sales Navigator, you now get enhanced profile information:
  • Dynamic headlines shown by LinkedIn
  • Job summaries and descriptions
  • Work experience details previously unavailable
This richer data enables better targeting and more personalized outreach.

⚡ One-Shot Callbacks for Automation Tools

New callback option for customers using automation platforms like n8n, Make, or Zapier:
  • Receive one notification when a job finishes instead of multiple callbacks during execution
  • Dramatically reduces costs for webhook-based integrations
  • Set callback.on to final instead of all to enable this mode

📊 Better Run Visibility

  • Output counts are now visible directly in run details
  • Know exactly how many results each run produced
  • Clearer ROI tracking and performance monitoring

🔐 Clearer Error Messages

When LinkedIn credentials are invalid, you now receive clear, actionable error messages instead of confusing codes. This makes troubleshooting faster and reduces frustration.

📝 What This Means for You

  • More Reliable: LinkedIn authentication and Sales Navigator access issues are resolved
  • Better Targeting: Richer profile data enables more personalized outreach
  • Lower Integration Costs: One-shot callbacks can reduce automation platform costs significantly
  • Clearer Insights: See exactly what each run produces with output counts
2025-12-24
v1.2.4 – Sales Navigator Actions & Error Handling

🚀 What’s New

This release enhances Sales Navigator and LinkedIn actions with improved error handling, new callback fields, and standardized error responses.

🔔 Scheduled Run Tracking in Callbacks

Callback payloads now include a new field for scheduled runs:
{
  "scheduled_run_uid": "<uuid>"
}
This UUID field is included when the callback originates from a scheduled run, making it easier to correlate callbacks with their scheduled execution context.

✨ Enhanced Error Responses

We’ve significantly improved error response documentation across Sales Navigator and LinkedIn actions with detailed examples and new status codes:
Status CodeDescriptionChange
400 Bad RequestInvalid parameters or inputNow includes detailed examples
402 Payment RequiredAccess denied due to plan limitationsNew
422 Unprocessable EntityAction abortedNew
424 Failed DependencyIntegration or external service errorsExpanded with multiple examples
429 Too Many RequestsRate limit exceededNew (replaces 500)

Rate Limit Response Details

429 responses now include detailed rate limit information:
{
  "error": {
    "code": 429,
    "status": "Too Many Requests",
    "details": {
      "Retry-After": "60",
      "X-RateLimit-Limit": "2",
      "X-RateLimit-Reset": "1754402101",
      "X-RateLimit-Type": "/v1/actions"
    },
    "message": "Rate limit exceeded (/v1/actions)"
  }
}

🔧 Bug Fixes & Improvements

LinkedIn Post Extraction

  • 🐛 Sanitize LinkedIn post URLs by stripping query parameters to avoid duplicate/mismatched post references and improve cache/canonicalization correctness

Identity and Authentication

  • ✨ If a SN_ACCOUNT_UPGRADE error occurs, the related identity will be ignored for 60 seconds, reducing repeated failures and improving overall action reliability (later, this will apply only to managed identities)

Cross-Action Error Messaging

  • ✨ Standardized error messages across actions for consistency, aligning error codes/messages and improving client-side parsing

📝 What This Means for You

  • Better Debugging: Detailed error examples help identify issues faster
  • Improved Rate Limit Handling: 429 responses with headers enable smarter retry logic
  • Scheduled Run Correlation: New scheduled_run_uid field links callbacks to their schedule
  • More Reliable Actions: Automatic identity cooldown on SN upgrade errors prevents cascading failures
  • Cleaner Post URLs: Post extraction now handles URLs with query parameters correctly
2025-12-17
v1.2.3 – LinkedIn Actions & API Improvements

🚀 What’s New

This release improves LinkedIn invitation handling, adds new output fields for post activity, and standardizes API error responses.

🔔 LinkedIn Invitations — Schema Improvements

We’ve refactored LinkedIn invitation actions for better consistency and reliability:

Standardized Invitation Identifiers

All invitation-related actions now use consistent identifiers:
  • linkedin_invitation_id — String identifier for the invitation
  • linkedin_invitation_urn — LinkedIn URN for stable reference
ActionChanges
Accept InvitationsSimplified input — now requires only linkedin_invitation_urn
Extract Received InvitationsRenamed sent_timesent_date for consistency
Extract Sent InvitationsNow returns linkedin_invitation_id + linkedin_invitation_urn
Withdraw InvitationsOutput now returns invitation IDs instead of profile URL
⚠️ Migration Note: If you’re using invitation actions, update your integrations to use the new field names.

✨ LinkedIn Post Activity — Author Information

The People Post Activity action now includes detailed author information:
  • author — The person who shared/posted the content
  • original_author — The original content creator (for reshares)
Both objects include profile identifiers, details (firstname, lastname, headline), URLs, and images.

🔧 Bug Fixes & Improvements

LinkedIn Post Commenters

  • 🐛 Fixed missing first_name and last_name fields — these were returning empty strings even when full_name was populated

LinkedIn Post Likers

  • 🐛 Removed linkedin_company_id from output (field only applied to company likes)

LinkedIn Search Content

  • ✨ Added linkedin_company_url to output

InMail & Message File Attachments

  • 🐛 Fixed file validation for Base64-encoded attachments
  • 🐛 Fixed filename extension validation regex

API Error Responses

  • ✨ Added standardized error schemas: PaymentRequired (402), Forbidden (403), NotFound (404), UnprocessableEntity (422), TooManyRequests (429)

Pagination

  • ✨ Updated default page size to 100 for improved throughput on applicable actions

📚 Documentation

2025-12-10
v1.2.2 – Webhook Improvements & Bug Fixes

🚀 What’s New

Major refactors landed around account rotation and integration limits, introducing caching layers that reduce load and standardize identity handling. HTTP service robustness improved (compressed responses, stricter content-length checks), and several LinkedIn actions received targeted fixes. Run callbacks now include additional identifiers/headers and OpenAPI updates, and error labels were standardized across the stack for clearer diagnostics.

🔔 Improved Webhook Delivery Identification & Deduplication

We’re introducing two important enhancements to our webhook callback system to make delivery tracking and deduplication more reliable for all integrators.

📌 New Stable Callback Reference (callback_ref_uid)

Webhook payloads now include a new field:
{
  "callback_ref_uid": "<uuid>"
}
This identifier is:
  • Stable across retries
  • Unique per callback event
  • Designed specifically to allow safe deduplication on the client side
This ensures that even if your endpoint receives multiple retries, you can always identify which callbacks correspond to the same logical event.

📌 New Delivery Attempt Headers

Webhook requests now include two additional HTTP headers:
HeaderDescription
X-Callback-RefStable callback identifier, identical across retries (same as callback_ref_uid in the payload).
X-Run-CallbackUnique identifier for each delivery attempt. Changes on every retry.
These headers allow you to:
  • Track each individual delivery attempt
  • Log retries more easily
  • Distinguish between event identity (stable) and delivery attempt identity (per retry)

📘 Why this matters

These changes bring our webhook behavior in line with industry best practices and make it easier to:
  • Detect and safely ignore duplicate callbacks
  • Correlate retries with the same logical event
  • Debug delivery attempts via unique identifiers
  • Keep payloads stable and idempotent

✅ Summary

  • callback_ref_uid is now included in the payload → stable event identifier
  • X-Callback-Ref → stable ID in headers
  • X-Run-Callback → unique per delivery attempt
  • Retries always resend the same payload, preserving the original run status and data
📘 Managing Callbacks Documentation

🔧 Action Fixes

  • 🐛 Handled missing job data by throwing a descriptive action error, preventing silent failures.

LinkedIn Post Likers Extraction

  • 🐛 Removed linkedin_profile_handle from the output schema because the source does not provide it.

Company Enrichment

  • 🐛 Fixed company domain resolution during company enrichment to return the correct domain.
2025-11-26
v1.2.1 – Stability & Reliability Improvements

🚀 Edges New Release

This release focuses on improving platform stability, reliability, and user experience across LinkedIn automations, engagement identities, and core API functionality.

🔒 Improved LinkedIn Session Stability

  • Enhanced IP Management: Implemented a new progressive IP rotation system that significantly improves LinkedIn session reliability
  • Fewer Connection Errors: Reduced intermittent failures and reconnection issues during LinkedIn operations
  • Better Error Handling: More reliable login, refresh, and checkpoint flows with improved retry logic
  • Smoother Workflows: Users should experience fewer session-related interruptions and more stable automation runs

💰 Engagement Identities Billing Enhancements

  • Improved Billing Accuracy: New buffer mechanism ensures more accurate usage tracking and billing for engagement identities
  • Multiple Plan Tiers: Support for tiered pricing plans based on usage volume, providing better flexibility and cost optimization
  • Better Timeframe Validation: Enhanced validation ensures billing stays within subscription timeframes for accurate charges
  • Clearer Error Messages: Improved error messages when creating identities to distinguish between “No plan available” and “No more room in plan” scenarios

📊 Sales Navigator & LinkedIn Actions Improvements

  • Increased Limits: Sales Navigator company employee search now supports up to 2,500 results (previously 1,000) per request
  • Enhanced Profile Data: Company logo URLs are now included in profile experiences when extracting people data
  • Fixed Post-Likers Actions: Resolved issues with post-likers actions when using “share” URLs as input
  • Better Pagination: Fixed error 424 issues on multiple-output actions by preventing unnecessary pagination when no results are available
  • Improved Post Commenters: Enhanced validation for post commenters extraction to handle edge cases more reliably

🔧 API & Automation Improvements

  • Output Retrieval by Run UUID: You can now retrieve outputs directly by Run UUID, making it easier to access run results
  • Better Workflow Support: Enhanced workflow schemas with improved support for optional steps and output anchoring
  • Real Dates from IDs: Actions now return accurate dates when retrieving data by ID

🛠️ Platform Reliability

  • Automated Data Retention: Implemented automated cleanup of old runs and usage data to maintain optimal platform performance
    • Runs older than 90 days are automatically archived
    • Usage records older than 5 days are cleaned up
    • This ensures faster queries and better overall system performance

📝 What This Means for You

  • More Reliable Automations: LinkedIn actions should run more smoothly with fewer session interruptions
  • Better Billing Accuracy: Engagement identities billing is now more precise and transparent
  • Increased Capacity: Sales Navigator searches can now handle larger result sets
  • Improved Developer Experience: Better error messages and API capabilities make integration easier
  • Faster Performance: Automated data retention keeps the platform running smoothly over time
2025-11-05
v1.2.0 – Latest Release

🚀 Edges New Release

New release adds several new features and improvements to the Edges platform.
  • New Engagement Identities mode for running LinkedIn outreach actions without consuming credits
  • Improved UI overall with updated components for better fluidity and user experience

💰 Engagement Identities Pricing & Billing

  • New billing model: Engagement Identities are billed monthly based on peak usage
  • Starting at $7.99/identity/month with dynamic pricing that decreases with volume
  • Credit-free outreach: Run a comprehensive set of outreach actions (connect, message, follow, engage) without consuming credits
  • Flexible usage: Convert existing identities to engagement mode or create new ones via API
  • Live monitoring: Track current billing status and peak usage
📘 Learn more about Engagement Identities

🚀 Update on Extract LinkedIn People

Here are the main changes:
  • 👔 With the experiences parameter, we now retrieve only the first five companies’ experiences. The total number may vary depending on the profile. If you want more experiences, use the linkedin-extract-people-experiences endpoint.
  • 💡 With the skills parameter, we now get only a few skills (one or two) — again, this can vary by profile. If you want more skills, use the linkedin-extract-people-skills endpoint.
  • 📋 Both actions use the same input payload as linkedin-extract-people.
  • ⚠️ Note: these two new actions share the same limit. We’ll define the daily and per-minute request limits in a future release.

🔧 Technical Updates

  • Rate limit simplification: Simplified rate limiting system (plans-based rate limits will be introduced in the next release cycle)
2025-10-29
New Action & Fixes

✨ New Action

  • Extract LinkedIn Received Invitations — New linkedin-extract-received-invitations action to extract invitations you’ve received on LinkedIn, including sender details, messages, and timestamps.

🔧 Improvements

  • Enhanced LinkedIn Native Login: Improved stability with broader support for LinkedIn challenge handling, ensuring more reliable authentication flows.
  • Better Profile Data Extraction: Enhanced “experiences” field parsing in the linkedin-extract-people action for more accurate profile information.
  • Live Mode Enhancements: custom_data is now included in both responses and errors for live execution mode, improving compatibility with automation tools and making it easier to track and reconcile requests.
2025-10-15
v1.1.0 – New Public Release

🚀 Edges New Release

New release adds several new features and improvements to the Edges platform.

🔔 Enhanced Integration Webhooks

  • New Event Type: Added AUTH_UPDATED webhook event for monitoring LinkedIn account level changes
  • Enhanced Payload: Webhook data now includes:
    • name: LinkedIn account name
    • level: Account type (Classic, Sales Navigator, Premium, Recruiter Lite)
  • Better Monitoring: Real-time notifications when users upgrade or change their LinkedIn account levels
📘 Integration Webhooks Documentation

📚 Documentation Improvements

  • API Consistency: Updated endpoint descriptions from “List all” to “List” for better clarity
  • LinkedIn Limitations: Added clear documentation about group member extraction limitations
  • Sales Navigator: Enhanced filtering capabilities with updated OpenAPI specifications

🔧 Technical Updates

  • Updated OpenAPI specifications with new Sales Navigator filters
  • Improved API documentation consistency across all listing endpoints
  • Enhanced error handling and limitation documentation
2025-09-24
v1.0.0 – Public Release

🚀 Edges v1 – Public Release

Edges is now publicly available — an API-first automation platform built to run precise, scalable and fully observable actions on top of platforms like LinkedIn and Sales Navigator.

📦 TypeScript SDK

The Edges TypeScript SDK offers a type-safe and minimal way to interact with the Edges API.
It handles authentication and exposes all endpoints for:
  • Action execution (live, async, schedule)
  • Identity & integration management
  • Run tracking & callbacks

⚙️ New API Core

Edges exposes a fully documented and production-grade REST API with:
  • Modular actions, identified by scope (e.g. linkedin-extract-people)
  • Modern execution modes: live, async, schedule
  • Strong separation between members (dashboard users) and identities (automated accounts)
  • Robust pagination, rate limits and error tracing
📚 Explore the full API Reference

👥 Identity-Centric Design

  • Identities represent your automation accounts (e.g. a LinkedIn profile)
  • Create and manage identities independently from workspace members
  • Use native login or cookie-based authentication
  • Monitor integration status with webhooks
📘 How to connect a LinkedIn Identity

🔁 Async, Schedule & Callbacks

  • Run bulk actions at scale via the async mode
  • Program runs to start later (schedule_at) or recurrently with cron via the schedule mode
  • Provide a callback_url to get results pushed when ready
  • Enrich callback payloads with your own custom_data to simplify reconciliation
📘 Execution Modes Overview & Async Callback Guide
  • LinkedIn Authentication, Extract, Search, Find, Intents, Messaging & Engage
  • Sales Navigator Search, Metrics & Engage
  • Recruiter Lite Search

🧠 Developer Experience First

  • Full OpenAPI-based, comprehensive documentation
  • Instant authentication with API keys
  • Built-in account rotation logic and identity modes
  • Tracking and observability with run UIDs, callbacks and callbacks api
  • Fast iteration cycles
📘 Getting Started Guide

LinkedIn Post Activity

  • Added Understanding Author Fields for Extract LinkedIn People Post Activity:
    • activity_author — Person who performs the activity (e.g., reshared).
    • author — Author of the first-level (visible) post.
    • source_post — Source post (2nd level) when the visible post is a reshare; includes author, linkedin_post_id, linkedin_post_url, content_text; null when there is no 2nd level.
    • Examples for original post, reshare without comment, reshare with comment, and reshare of a post that shares another post.