canonical: https://jentic.com/apis/nautilinks.co/nautilinks

# Nautilinks Agent API

The Nautilinks Agent API searches Nautilinks publisher sites for backlink placements and orders sponsored articles or links inserted into existing articles. Sites can be filtered by niche, language, minimum trust flow, maximum price, and the Plancton, Corail, or Nautilus fixed-price shelf, and an order of 1 to 20 items is paid from prepaid credit or handed to a human as a Stripe payment link for any remainder. Orders report each link's lifecycle up to the published URL, signed webhooks announce acceptance, publication, or cancellation, and a sandbox key with the sn_test_ prefix prices an order without creating or charging it.

## For AI agents

Search backlink placements by niche, language, trust flow, and price, simulate or place backlink orders, and track each link through to publication.

## Scope

Does not write the client's own site content, run keyword rank tracking, or manage paid search ads. Use for finding, ordering, and tracking Nautilinks backlink placements only.

## Capabilities

- Search publisher sites for backlink placements filtered by niche, language, min_tf, max_price, free text, or shelf
- List existing insertion articles on a site, with ranking queries and performance data, before choosing the lien_insere format
- Place a 1 to 20 item backlink order with site_id, target_url, and anchor_text, or price the same payload with a sandbox key
- Check prepaid balance to tell whether an order will settle immediately or needs a human-approved Stripe payment link
- Track order and per-link placement status through to the published URL, and poll a quote until it converts to an order
- Subscribe a public HTTPS endpoint to order.accepted, order.published, and order.cancelled events signed with HMAC-SHA256
- Turn an AI visibility project's uncited opportunities into an order-ready plan

## Use cases

### SEO agent that sources and orders backlinks

An SEO agent building links for a client site needs to pick placements and order them without overspending. Through Jentic the agent searches for 'search backlink placements', loads the Nautilinks searchCatalogSites operation with its input schema, and filters by niche, language, and max_price. It checks the prepaid balance, then posts the order; any amount beyond credit comes back as a Stripe link that a human opens. The bearer key is attached by your own Jentic One instance at call time.

Example prompt: Call GET /catalog with niche 'travel', language 'fr', and max_price 200, check GET /balance, then POST /orders with one item giving site_id, target_url 'https://example.com/guide', and anchor_text 'travel guide'

### Dry-run orders with a sandbox key

Before letting an agent spend money, a developer tests the full ordering flow with a sandbox key. Nautilinks sandbox keys use the sn_test_ prefix on the same endpoint and validate and price an order payload with no writes and no charges, so the agent's item construction, anchor_type choices, and Idempotency-Key retries can be checked against real pricing first.

Example prompt: Using a sn_test_ key, POST /orders with two items and an Idempotency-Key, then report the priced total returned

### Publication tracking with signed webhooks

An agency reporting dashboard needs to know when each backlink is live. Nautilinks returns each link's lifecycle state and published URL on the order, and a webhook subscription for order.published delivers the event with a Nautilinks-Signature HMAC-SHA256 header that the receiver verifies with the secret shown once at creation.

Example prompt: Create a webhook with POST /webhooks for events order.published and order.cancelled, then read GET `/orders/{orderId}` to list each link's published URL

### Closing AI visibility gaps

A brand that wants to be cited in AI answers tracks AI visibility projects in Nautilinks. The plan operation returns uncited opportunities as typed items ready to be reviewed and passed to the order operation, and it never creates a cart, quote, order, or charge on its own.

Example prompt: List projects with GET `/ai-visibility/projects`, fetch GET `/ai-visibility/projects/{projectId}/plan`, and present the items for approval before ordering

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/catalog` | Search backlink placements |
| GET | `/catalog/{siteId}/articles` | List insertion articles on a site |
| POST | `/orders` | Create or simulate an order |
| GET | `/orders/{orderId}` | Get order and placement status |
| GET | `/balance` | Get prepaid balance |
| GET | `/quotes/{quoteId}` | Get quote payment status |
| POST | `/webhooks` | Create a signed webhook subscription |
| GET | `/ai-visibility/projects/{projectId}/plan` | Get an AI visibility plan |

## Key resources

- **Sites** — Search publisher sites by niche, language, trust flow, price, and shelf, read one site, and list its insertion articles
- **Orders** — Create or simulate backlink orders, list orders, and read per-link placement status and published URLs
- **Balance and quotes** — Prepaid credit balance and payment status of quotes awaiting a human Stripe payment
- **Webhooks** — Create, list, and revoke HMAC-signed subscriptions for order events
- **AI visibility** — AI visibility projects and their order-ready plans of uncited opportunities

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 69 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 93 / 100
  - Developer Experience & Jentic Compatibility: 75 / 100
  - AI-Readiness & Agent Experience: 48 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 79 / 100
- **View full report:** https://jentic.com/apis/nautilinks.co/nautilinks/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Nautilinks by hand means managing separate sn_live_ and sn_test_ bearer keys, sending an Idempotency-Key on order retries, and handling the split between prepaid credit and Stripe payment links. Through Jentic you install once, import Nautilinks from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Nautilinks puts the site id, order id, and webhook id in the URL path, so a rule can hold your agent to the operations you pick, such as reading one order by id. You choose which it may call, so spending ones like order creation or destructive ones like webhook revocation are not included unless you add them.
- **Credential handling:** Your Nautilinks key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'search backlink placements' or 'track a backlink order', and Jentic returns the matching Nautilinks operation with its input schema so the agent builds a valid order item.

## Related APIs

- **Ahrefs API** — Backlink and keyword research data to judge which placements and anchors to buy
- **Majestic SEO API** — Trust flow and citation flow metrics for checking publisher sites
- **Moz Links API** — Link index and authority metrics for analysis rather than buying placements

## FAQ

### What authentication does the Nautilinks Agent API use?

Per its OpenAPI spec, the Nautilinks Agent API uses HTTP bearer authentication with a key created in the Nautilinks member area: live keys start with sn_live_ and sandbox keys with sn_test_, each followed by 40 hex characters. The key goes in the Authorization header, never in a URL. Through Jentic the key is stored encrypted by your own instance and attached per call.

### Can I test a backlink order without being charged?

Yes. Send the same POST /orders payload with a sandbox key (prefix sn_test_). Nautilinks validates and prices the order without writing it or charging anything. With a live key, prepaid credit is spent immediately and any remainder is returned as a Stripe payment URL that a human must open.

### What are the rate limits for the Nautilinks Agent API?

The OpenAPI spec does not state rate limits. It does limit order size to 1 to 20 items per request and asks you to reuse the same Idempotency-Key after a timeout so a retried order is not duplicated. Check https://nautilinks.co for current limits.

### Is there a Nautilinks MCP server?

You don't need an MCP server to give your agent Nautilinks. Jentic connects it directly from the API Directory: import it, store your sn_live_ or sn_test_ key once, and your agent calls the search, order, and tracking operations it needs.

### How do I order a backlink with the Nautilinks Agent API through Jentic?

Import Nautilinks from the API Directory in your Jentic One instance and store your key. Your agent searches for 'order a backlink', loads POST /orders, and sends items with site_id, target_url, and anchor_text, adding article_id when the format is lien_insere. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the Nautilinks Agent API?

Yes. Write a rule that allows only GET /catalog, GET `/catalog/{siteId}`, and GET /balance, and the agent can research placements and check credit but cannot place an order or revoke a webhook. Add POST /orders later when you want it to buy, and every call it makes is logged.
