Skip to main content

API Documentation

Integrate powerful link building automation into your applications with our RESTful API

Get Started in Minutes

Follow these simple steps to start using the EdenRank API

1

Get API Key

Sign up for an account and generate your API key from the dashboard

Go to Dashboard
2

Make Request

Use your API key to authenticate and make your first API call

View Auth Docs
3

Build & Scale

Integrate link building into your workflow and scale your SEO efforts

View Examples

Authentication

All API requests require authentication using an API key. Include your key in the Authorization header:

curl -X GET https://api.edenrank.com/v1/campaigns \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

💡 Security Tip: Never expose your API key in client-side code. Keep it secure on your server.

Base URL

All API endpoints are relative to the base URL:

https://api.edenrank.com/v1

API Endpoints

Complete reference for all available endpoints

Campaigns

POST/campaigns

Create a new link building campaign

View Request Example
{ "name": "Tech Blog Outreach Q4 2025", "target_url": "https://example.com/blog-post", "keywords": ["SEO", "link building", "digital marketing"], "budget": 299, "type": "one_time" }
GET/campaigns

List all campaigns with pagination

Query Parameters:
  • page - Page number (default: 1)
  • limit - Items per page (default: 20)
  • status - Filter by status (active, paused, completed)
GET/campaigns/:id

Get detailed information about a specific campaign

PATCH/campaigns/:id

Update campaign settings (pause, resume, modify budget)

DELETE/campaigns/:id

Delete a campaign (cannot be undone)

Links

GET/campaigns/:id/links

Get all backlinks for a specific campaign

GET/links/:id

Get detailed information about a specific backlink

Analytics

GET/analytics/overview

Get overview of all campaigns and links

GET/analytics/campaigns/:id

Get detailed analytics for a specific campaign

Response Codes

200
OK

Request successful

201
Created

Resource created successfully

400
Bad Request

Invalid request parameters

401
Unauthorized

Invalid or missing API key

404
Not Found

Resource not found

429
Too Many Requests

Rate limit exceeded

500
Server Error

Internal server error

Rate Limits

API rate limits depend on your subscription plan:

Basic Plan

100 req/hour

1,000 req/day

Pro Plan

500 req/hour

10,000 req/day

Enterprise

Custom

Unlimited

Code Examples

Quick start examples in popular languages

JavaScript / Node.js

const response = await fetch( 'https://api.edenrank.com/v1/campaigns', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ name: 'My Campaign', target_url: 'https://example.com', keywords: ['SEO'], budget: 299 }) } ); const data = await response.json(); console.log(data);

Python

import requests headers = { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' } data = { 'name': 'My Campaign', 'target_url': 'https://example.com', 'keywords': ['SEO'], 'budget': 299 } response = requests.post( 'https://api.edenrank.com/v1/campaigns', headers=headers, json=data ) print(response.json())

PHP

<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://api.edenrank.com/v1/campaigns'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json' ]); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([ 'name' => 'My Campaign', 'target_url' => 'https://example.com', 'keywords' => ['SEO'], 'budget' => 299 ]) ); $response = curl_exec($ch); curl_close($ch); ?>

Ruby

require 'net/http' require 'json' uri = URI('https://api.edenrank.com/v1/campaigns') req = Net::HTTP::Post.new(uri) req['Authorization'] = 'Bearer YOUR_API_KEY' req['Content-Type'] = 'application/json' req.body = { name: 'My Campaign', target_url: 'https://example.com', keywords: ['SEO'], budget: 299 }.to_json res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(req) end puts res.body

Need Help?

Our support team is here to help you integrate the API successfully