Linkody API - API Platform

Linkody API (1.1.0)

This page contains the documentation on how to use Linkody via API calls.

Introduction

The Linkody API is built on HTTP and is RESTful. It returns HTTP response codes to indicate success or errors. It accepts and returns JSON in the HTTP body.

You can use your favorite HTTP/REST library for your programming language to use Linkody's API.

In order to access our APIs, you need a Paid Linkody Subscription. After subscribing, you will get a token that will allow you to query the API.

Authentication

Use your token to make requests to the API. Pass it to the API endpoint via the X-AUTH-TOKEN header parameter. Never share your API key, keep it in a secure place.

Example Request (cURL)

curl -X GET "https://www.linkody.com/api/v1/domains" \
-H "Accept: application/json" \
-H "X-AUTH-TOKEN: your_api_token"

Competitors

Get a single Competitor

Retrieve the details of a specific domain's Competitor by ID.

Authorizations:

api_key

path Parameters

domainId
required
string
Domain identifier
id
required
string
Domain identifier

query Parameters

id
required
integer
The competitor ID
domainId
required
integer
The domain ID

Responses

200 The competitor details

404 Competitor not found

Endpoint: get/api/v1/domains/{domainId}/competitors/{id}

Response samples

Content type application/json

{"id": 1,
"dateAdded": "2025-01-01T15:27:00+05:30",
"name": "example.com",
"notes": null,
"oldName": null,
"mozrank": "5.4000",
"mozupa": "54.00",
"mozpda": "41.00",
"mozfspsc": 1,
"mozfspf": 0,
"trancoRank": 596184,
"ahrefsDomainRating": 72
}

Update competitor details

Update specific fields of a competitor like notes.

Authorizations:

api_key

path Parameters

id
required
integer
The competitor ID
domainId
required
integer
The domain ID

Request Body schema: application/json optional

notes string or null

Responses

200 Competitor updated successfully.

400 Validation failed

404 Competitor not found

Endpoint: put/api/v1/domains/{domainId}/competitors/{id}

Request samples

Content type application/json

{"notes": "Updated notes"}

Response samples

Content type application/json

{"success": "Competitor updated successfully."}

Delete an existing competitor

Delete a competitor using its unique identifier.

Authorizations:

api_key

path Parameters

id
required
integer
The competitor Id
domainId
required
integer
The domain Id

Responses

200 Competitor deleted successfully.

404 Competitor not found

Endpoint: delete/api/v1/domains/{domainId}/competitors/{id}

Response samples

Content type application/json

{"success": "Competitor deleted successfully."}

Get a list of competitors for a specific domain

Retrieve a list of domains marked as competitors under a specific domain.

Authorizations:

api_key

path Parameters

id
required
string
Domain identifier

query Parameters

page integer
Default: 1
The collection page number
id
required
integer
The ID of the domain for which competitors are retrieved
limit integer
Default: 10
The number of items to retrieve per page.

Responses

200 A paginated list of competitor domains

404 Domain not found

Endpoint: get/api/v1/domains/{id}/competitors

Response samples

Content type application/json

{"totalCount": 20,
"totalPages": 1,
"currentPage": 1,
"competitorsPerPage": 50,
"data": [{"id": 1,
"dateAdded": "2025-01-01T12:12:20+05:30",
"name": "example.com",
"notes": "",
"oldName": null,
"mozrank": "4.6000",
"mozupa": "46.00",
"mozpda": "41.00",
"mozfspsc": 1,
"mozfspf": 0,
"trancoRank": 1000,
"ahrefsDomainRating": 72}]}

Create a new Competitor

Create a new Competitor with specified details.

Authorizations:

api_key

path Parameters

id
required
integer
The competitor ID

Request Body schema: application/json optional

name
required
string
notes string or null

Responses

201 Competitor added successfully.

400 Validation failed

Endpoint: post/api/v1/domains/{id}/competitors/add

Request samples

Content type application/json

{"name": "newcompetitor.com",
"notes": null}

Response samples

Content type application/json

{"success": "Competitor added successfully.",
"competitorId": 1260}

Domain

Get a list of domains

Retrieve a list of domains with details such as name, date added, and SEO metrics.

Authorizations:

api_key

query Parameters

page integer
Default: 1
The collection page number
limit integer
Default: 10
Domain limit

Responses

200 A paginated list of domains

Endpoint: get/api/v1/domains

Response samples

Content type application/json

{"totalCount": 11,
"totalPages": 1,
"currentPage": 1,
"domainsPerPage": 1,
"data": [{"id": 1,
"dateAdded": "2025-01-01T19:46:05+05:30",
"name": "example.com",
"budget": null,
"notes": null,
"oldName": "",
"mozrank": "5.4000",
"mozupa": "54.00",
"mozpda": "41.00",
"mozfspsc": 1,
"mozfspf": 0,
"trancoRank": 264675,
"ahrefsDomainRating": 72}]}

Create a new domain

Create a new domain with specified details.

Authorizations:

api_key

Request Body schema: application/json optional

name
required
string
budget float or null
notes string or null

Responses

201 Domain added successfully.

400 Validation failed

Endpoint: post/api/v1/domains/add

Request samples

Content type application/json

{"name": "newdomain.com",
"budget": 100.11,
"notes": null}

Response samples

Content type application/json

{"success": "Domain added successfully.",
"domainId": 1260}

Get a single domain

Retrieve the details of a specific domain by ID.

Authorizations:

api_key

path Parameters

id
required
string
Domain identifier

Responses

200 The domain details

404 Domain not found

Endpoint: get/api/v1/domains/{id}

Response samples

Content type application/json

{"id": 1,
"dateAdded": "2025-01-01T15:27:00+05:30",
"name": "example.com",
"budget": "100.00",
"notes": null,
"oldName": null,
"mozrank": "5.4000",
"mozupa": "54.00",
"mozpda": "41.00",
"mozfspsc": 1,
"mozfspf": 0,
"trancoRank": 596184,
"ahrefsDomainRating": 72}

Update domain details

Update specific fields of a domain, including notes, budget, and old_name.

Authorizations:

api_key

path Parameters

id
required
integer
Example: 1260

Request Body schema: application/json optional

notes string or null
budget string or null
oldName string or null

Responses

200 Domain updated successfully.

400 Validation failed

404 Competitor not found

Endpoint: put/api/v1/domains/{id}

Request samples

Content type application/json

{"notes": "Updated notes",
"budget": "200.00",
"oldName": "oldName.com"}

Response samples

Content type application/json

{"success": "Domain updated successfully."}

Delete an existing domain

Delete a domain using its unique identifier.

Authorizations:

api_key

path Parameters

id
required
integer
Example: 1260

Responses

200 Domain deleted successfully.

404 Domain not found

Endpoint: delete/api/v1/domains/{id}

Response samples

Content type application/json

{"success": "Domain deleted successfully."}

Link

Get a list of links for a domain

Retrieve a list of links associated with a specific domain.

Authorizations:

api_key

path Parameters

domainId
required
integer
Example: 123
The ID of the domain to fetch links for.
id
required
string
Link identifier

query Parameters

page integer >= 1
Default: 1
The page number to retrieve.
limit integer [ 1 .. 100 ]
Default: 10
Example: limit=100
The number of items to retrieve per page.
domainId
required
integer
The ID of the domain to fetch links for.

Responses

200 A paginated list of links

404 Domain not found

Endpoint: get/api/v1/domains/{domainId}/links

Response samples

Content type application/json

{"totalCount": 3924,
"totalPages": 393,
"currentPage": 1,
"linksPerPage": 1,
"data": [{"id": 121074,
"dateAdded": "2012-10-24",
"pageUrl": "http://www.example.com/page",
"rel": "follow",
"expectedFollow": "Y",
"status": "OK",
"noindex": "no",
"lastCheck": "2025-01-07",
"lastLive": "",
"href": "http://www.example.com/link",
"expectedHref": "",
"type": "text",
"anchor": "Example Anchor",
"expectedAnchor": "",
"imgAlt": "Example Alt Text",
"googleIndexStatus": "Page Not Indexed",
"trancoRank": "",
"mozrank": "2.4000",
"mozupa": 24,
"mozpda": 20,
"mozfspsc": 0,
"ahrefsDomainRating": 81,
"primaryIp": "192.168.1.1",
"countryCode": "US",
"tld": "com",
"tldCountry": "United States",
"title": "Example Page Title",
"totalLinksOnPage": 100,
"internalCount": 60,
"followCount": 30,
"nofollowCount": 10,
"addedBy": "JohnDoe",
"expirationDate": "2024-01-01",
"cost": "100",
"disavowStatus": null,
"tags": "blog, seo",
"notes": "Example notes about the link"}]}

Create a new link for a domain

Create a new link and associate it with a specific domain.

Authorizations:

api_key

path Parameters

domainId
required
integer
Example: 123
The ID of the domain to associate the new link with.
id
required
string
Link identifier

Request Body schema: application/json required

pageUrl
required
string
The URL of the new link.
tags Array of strings
Tags associated with the link.
notes string
Notes about the link.
prospect string
Enum:"isnot""is""alert""done"
The prospect status of the link.
prospectStatus string
Enum:"candidate""requested""pending""declined""accepted"
The detailed prospect status of the link.
expectedHref string
The expected landing page URL for the link.
expectedAnchor string
The expected anchor text for the link.
expectedRel integer
Enum:01
The expected rel value (0 or 1).
dateAdded string
The date when the link was added.
expirationDate string
The expiration date of the link.
cost float
The cost associated with the link.
doAlert boolean
Whether an alert should be sent for the link.

Responses

201 Link created successfully

400 Validation failed

404 Domain not found

Endpoint: post/api/v1/domains/{domainId}/links

Request samples

Content type application/json

{"pageUrl": "https://example.com",
"tags": ["SEO","Marketing"],
"notes": "High authority website"}

Response samples

Content type application/json

{"message": "Link created successfully.",
"linkId": 101}

Get a single link for a domain

Retrieve the details of a specific link associated with a domain.

Authorizations:

api_key

path Parameters

domainId
required
integer
Example: 123
The ID of the domain the link belongs to.
id
required
integer
Example: 456
The ID of the link to retrieve.

Responses

200 The details of the specified link

404 Domain/Link not found

Endpoint: get/api/v1/domains/{domainId}/links/{id}

Response samples

Content type application/json

{"id": 121074,
"dateAdded": "2012-10-24",
"pageUrl": "http://www.example.com/page",
"rel": "follow",
"expectedFollow": "Y",
"status": "OK",
"noindex": "no",
"lastCheck": "2025-01-07",
"lastLive": "",
"href": "http://www.example.com/link",
"expectedHref": "",
"type": "text",
"anchor": "Example Anchor",
"expectedAnchor": "",
"imgAlt": "Example Alt Text",
"googleIndexStatus": "Page Not Indexed",
"trancoRank": "",
"mozrank": "2.4000",
"mozupa": 24,
"mozpda": 20,
"mozfspsc": 0,
"ahrefsDomainRating": 81,
"primaryIp": "192.168.1.1",
"countryCode": "US",
"tld": "com",
"tldCountry": "United States",
"title": "Example Page Title",
"totalLinksOnPage": 100,
"internalCount": 60,
"followCount": 30,
"nofollowCount": 10,
"addedBy": "JohnDoe",
"expirationDate": "2024-01-01",
"cost": "100",
"disavowStatus": null,
"tags": "blog, seo",
"notes": "Example notes about the link"}

Update a link for a domain

Update the details of a specific link associated with a domain.

Authorizations:

api_key

path Parameters

domainId
required
integer
Example: 1
The ID of the domain the link belongs to.
id
required
integer
Example: 2
The ID of the link to update.

Responses

200 Link updated successfully

400 Validation failed

404 Domain/Link not found

Endpoint: put/api/v1/domains/{domainId}/links/{id}

Request samples

Content type application/json

{"tags": ["SEO","Marketing"],
"notes": "High authority website"}

Response samples

Content type application/json

{"success": "Link updated successfully."}

Delete a link for a domain

Delete a specific link associated with a domain.

Authorizations:

api_key

path Parameters

domainId
required
integer
Example: 123
The ID of the domain the link belongs to.
id
required
integer
Example: 456
The ID of the link to delete.

Responses

200 Link deleted successfully

404 Domain/Link not found

Endpoint: delete/api/v1/domains/{domainId}/links/{id}

Response samples

Content type application/json

{"success": "Link deleted successfully."}