Integrate powerful link building automation into your applications with our RESTful API
Follow these simple steps to start using the EdenRank API
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.
All API endpoints are relative to the base URL:
Complete reference for all available endpoints
/campaignsCreate a new link building campaign
{
"name": "Tech Blog Outreach Q4 2025",
"target_url": "https://example.com/blog-post",
"keywords": ["SEO", "link building", "digital marketing"],
"budget": 299,
"type": "one_time"
}/campaignsList all campaigns with pagination
page - Page number (default: 1)limit - Items per page (default: 20)status - Filter by status (active, paused, completed)/campaigns/:idGet detailed information about a specific campaign
/campaigns/:idUpdate campaign settings (pause, resume, modify budget)
/campaigns/:idDelete a campaign (cannot be undone)
/campaigns/:id/linksGet all backlinks for a specific campaign
/links/:idGet detailed information about a specific backlink
/analytics/overviewGet overview of all campaigns and links
/analytics/campaigns/:idGet detailed analytics for a specific campaign
Request successful
Resource created successfully
Invalid request parameters
Invalid or missing API key
Resource not found
Rate limit exceeded
Internal server error
API rate limits depend on your subscription plan:
100 req/hour
1,000 req/day
500 req/hour
10,000 req/day
Custom
Unlimited
Quick start examples in popular languages
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);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
$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);
?>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.bodyOur support team is here to help you integrate the API successfully