API Documentation
Build directly on top of Valley. The Public API gives you programmatic access to every campaign, prospect, conversation, and analytics signal in your workspace - so you can automate outreach inside your own systems, sync data into your CRM, or build custom dashboards on top of Valley's outbound engine.
What you can do
Run campaigns end-to-end. Create AI-personalized or templated campaigns, feed them prospects from a Sales Navigator search or a LinkedIn post, then start, pause, resume, or archive them - all from your code.
Add prospects on the fly. Drop any LinkedIn URL into an active campaign and Valley will enrich, score, and queue it for outreach. Track the import job until it lands.
Pull analytics for anything. Workspace overviews, per-campaign time series, ICP fit breakdowns, meetings booked, reply rates, acceptance rates - everything you see in the Valley dashboard, queryable by date range.
Manage the inbox. List conversations, approve or unapprove pending messages, batch-action approvals across hundreds of prospects, and mark threads as read or archived.
Surface warm leads. Pull the followers, profile viewers, and post engagers Valley is monitoring across your workspaces, with ICP fit scoring already attached.
Read your workspace state. Workspaces, members, products, writing styles, templates - the full configuration layer that backs your campaigns.
How it works
The API is REST, JSON, and lives at https://api.joinvalley.co. Every request is authenticated with an API key passed in the x-api-key header. Responses follow a consistent envelope (statusCode, status, message, data) and paginated endpoints return { limit, offset, total, hasMore } so you always know where you are in a result set.
Rate limits are enforced per key. If you hit one, you'll get a 429 with a retryAfter value telling you exactly how long to wait.
Get an API key
Generate a key from your Valley workspace settings under Integrations in Settings. Treat it like a password - it carries the full permissions of your account inside the workspace.
Start here
If you're building your first integration, the fastest path is:
GET /public/v1/users/me- confirm your key works and grab your workspace IDsGET /public/v1/workspace-productsandGET /public/v1/writing-styles- get the IDs you'll need to create a campaignPOST /public/v1/campaigns- create your first campaign inAIorTEMPLATEDmodePOST /public/v1/campaigns/add-lead-to-campaign- drop a LinkedIn URL in and watch it flow through
Full endpoint reference is on the next page.
Need help?
Hit reply on any article in this help center and our team will pick it up. For deeper integration questions, message your account contact directly.