import_backlinks
Import user-owned Ahrefs, Search Console, Semrush, Majestic, Moz, DataForSEO, Linkody or generic CSV rows as unchecked candidates. Retains supplier/date provenance separately from checks; no spending or complete-coverage claim. Returns every rejection by position; identical rows reuse the run. No monitoring or shared-corpus entry.
Name recorded in the 2026-10-17 deployment. This page describes current source; verify inputs and access in your connected catalog. Provider configuration and workspace access still apply.
This operation changes saved state. Review its inputs and retry behavior before calling.
Example request
Connect through MCP, CLI, or HTTP. Replace example identifiers with records from your workspace.Returned result
Schema-validated example; IDs and dates are illustrative. MCP returns this data instructuredContent and in a text content block; generic HTTP and CLI return the JSON result directly.
Full response example
Full response example
Input fields
Omit optional fields when you do not want to supply them. Null is accepted only where listed. Unknown input properties are rejected.projectId(string, required): project ID from create/list. pattern:"^[a-zA-Z0-9_-]{1,128}$"supplier(string, required): Source of imported candidate evidence, retained as provenance. values:"ahrefs","google_search_console","bing_webmaster_tools","semrush","majestic","moz","dataforseo","linkody","csv"targetKind(string, required): Whether target identifies an exact URL or a domain. values:"domain","exact_url"target(string, required): Exact URL or domain to query, interpreted according to targetKind. minLength:1; maxLength:4096includeSubdomains(boolean, required): Include subdomains of the selected domain in this query.backlinksStatus(string, required): Supplier-reported backlink status filter; this is not AgentLinkOps verification. values:"live","lost","all"rows(array, required): Each row requires source_url and target_url. The outer target defines the import scope. target_url names the destination. Checks match that URL exactly by default. For a source-only Google Search Console export, set target_basis=user_supplied_target_expectation. Set target_url to the confirmed site root URL for a domain import, or the selected URL for an exact URL import. For declared expectations, checks use the saved website scope or selected exact URL. Invalid rows return positional errors without rejecting valid neighbors. Example: {“source_url”:“https://publisher.example/article”,“target_url”:“https://example.com/”,“anchor”:“Example”}. minItems:1; maxItems:1000supplierGeneratedAt(string / null, optional): Supplier export generation timestamp, distinct from import time. default:nullidempotencyKey(string, optional): Caller-generated key reused only for retries of the same operation and arguments in this workspace. pattern:"^[\\x21-\\x7e]{1,200}$"
All fields and nested objects
All fields and nested objects
Types, allowed values, limits and nested fields:
Validation and omitted values
includeSubdomains and backlinksStatus are required import scope choices. Omitted supplierGeneratedAt remains null, rather than using the import date as a supplier date. Omitted idempotencyKey uses deterministic content-based import identity. Re-importing the same scope, supplier and rows as supplied reuses the run. Imported order remains as_supplied. Every row requires source_url and target_url. Optional supplier metadata retains its provenance; invalid rows are returned with their positions while valid neighbors continue.Defaults when omitted
Output fields
Fields inside optional or nullable parents apply only when that parent exists. Common schema conventions explain evidence states, empty lists and extensions.v(number, required).id(string, required): Resource identifier returned by the operation.workspace_id(string, required): Workspace that owns this record.project_id(string, required): Project that owns this record.provider(string, required).data_mode(string, required).query(object, required).status(string, required): Resource lifecycle status.created_at(string, required): UTC timestamp when the record was created.started_at(string / null, required).finished_at(string / null, required).coverage(string, required): Dataset scope and completeness, including limits on what these results establish.coverage_reason(string / null, required).provider_total_count(integer / null, required).usage(object, required).operation(string, required).coverage_scope(string, required).whole_web_coverage(boolean, required): False: these results do not measure the whole web.replayed(boolean, optional): True when the response reuses an earlier request with the same idempotency value.admission(object / null, optional).rejected(array, required).duplicates(array, required).rejected_total(number, required).duplicates_total(number, required).
All fields and nested objects
All fields and nested objects
Types, allowed values, limits and nested fields: