URL: /capabilities/earn-first-links · Id: `page:/capabilities/earn-first-links`

# Earn first links

> Your first links: followed links live on day one, listings submitted as you, and each one checked by a fetch of the page it sits on.

How do I get my first backlinks? Start with followed links on hosts you control, then list the product where your category already links, and check every link it earns.

```text title="Earn first links · Ask"
Get our first links. Start with the places that already link to our rivals.
List us as me, up to 10 a day, for the next 60 days.
```

```ts title="Earn first links · SDK"
import { $ } from 'startup-builder'

const gap = await $.Domain.benchmark({ hostname: 'leaseline.app', competitors: ['rentroll.example', 'doorloop.example'] })   // link gap and authority on two rivals
await $.Mandate.authorize({ agent: 'workers/worker_4', verb: 'Post.publish', for: 'people/dana', topics: ['first-links'], limit: { perDay: 10 }, expiresAt: '2026-12-24' })   // list as you, 10 a day, for 60 days
return await $.Post.publish({ post: 'posts/post_41' })   // the first listing, checked once it is live
```

```json title="Earn first links · Response · sample"
{
  "$id": "https://api.sb/leaseline.app/posts/post_41",
  "$type": "Post",
  "place": "Fazier",
  "status": "published",
  "url": "https://fazier.com/launches/leaseline",
  "link": "follow",
  "linkCheckedAt": "2026-10-26",
  "referringDomains": {
    "followed": 4,
    "week": 1
  }
}
```

| First run | Status | Runs by | Connect once |
| --- | --- | --- | --- |
| Link gap on 3 rivals and the first batch of listings: about $0.15 | Coming | API · browser agent | Your Google, GitHub, LinkedIn and X sign-ins, once, in a live view. |

## What you get
| Field | What it says |
| --- | --- |
| Place | Where the link lives: a directory, a launch site, a registry or a page you control. |
| Link | Followed, nofollow or user content, read from the page itself. |
| Status | Submitted, live, refused or lapsed. |
| Referring domains | Distinct followed domains that link to you, counted from a fetch of each page the same day. |
| Points to | The key page each link sends readers to. |

## How it runs
| When | What happens | Runs by | Your part | Takes |
| --- | --- | --- | --- | --- |
| Day 0 | Put your followed links live on hosts you control, and inside a Studio its portfolio page ([Own-host links](#own-host-links)) | API · browser agent | one sitting: approve the kit, sign in once, grant two Mandates | live the same day |
| Day 1 | Read the link on every page from day 0, and submit the first batch of listings ([Listing check](#listing-check)) | API · browser agent | nothing | followed domains counted the same day |
| Days 2 to 6 | List the product in 5 to 10 places a day, ranked by the link each gives and how fast it reviews | browser agent · API | a step only when a place needs a person, batched once a day | days to weeks per place |
| Day 7 | The readout: found, linked and listed, then next week’s batch or the launch date | API | 5 minutes | the same day |
| Weeks 2 to 8 | Ask the sites on the link gap list, one ask each, naming the page you want linked ([Link asks](#link-asks)) | API | approve the batch | 2 to 8 weeks per editorial link |

## Jobs inside it
| Job | What it returns | Price | Status | Runs by |
| --- | --- | --- | --- | --- |
| <a id="own-host-links"></a>Own-host links | Followed links from hosts you control: your GitHub Pages site, Docker Hub overview and Substack posts | free | Coming | API · browser agent |
| <a id="authority-score"></a>Authority score | How much weight each place carries, for up to 1,000 domains at once | $0.024 a check | Coming | API |
| <a id="link-gap"></a>Link gap | The places that link to two or three rivals and not to you, hubs and spam removed | $0.024 a check | Coming | API |
| <a id="backlink-check"></a>Backlink check | Every domain that links to you, new and lost, each week | $0.000179 a row | Coming | API |
| <a id="listing-check"></a>Listing check | Each listing fetched daily: live, refused or lapsed, and the kind of link it gives | free | Coming | API |
| <a id="contact-finder"></a>Contact finder | The editor or author to ask, at each site on the link gap list | $0.0005 a found address | Coming | API |
| <a id="link-asks"></a>Link asks | One ask per site from your inbox, naming the page you want linked | free from your inbox | Coming | API |

Its flow pages: [Directory submissions](/capabilities/earn-first-links/directory-submissions) · [Launch circuit](/capabilities/earn-first-links/launch-circuit).

## Where and how it runs
| Where it works | How it runs | Connect once |
| --- | --- | --- |
| GitHub, Product Hunt, Hacker News, BetaList, G2, Capterra, npm, MCP Registry | API · browser agent | Your Google, GitHub, LinkedIn and X sign-ins, once, in a live view. |

Your agent acts as you on every Venue you authorize. Where a Venue has no API, a browser agent signs in as you and does the steps.

## Plays that use it
| Play | Strategy that runs it |
| --- | --- |
| [Directory listings](/plays/directory-listings) | [Passive](/strategy/passive) |
| [Editorial SEO](/plays/editorial-seo) | [Passive](/strategy/passive) |

## Reference
| Tool | Runs today |
| --- | --- |
| <Op verb="Post.publish" /> | Coming |
| <Op verb="Domain.benchmark" /> | Coming |
| <Op verb="Mandate.authorize" /> | Coming |
| <Op verb="Monitor.create" /> | Coming |