canonical: https://jentic.com/apis/indexlinks.app/indexlinks

# Indexlinks App IndexLinks API

The IndexLinks API submits new and updated pages of a website for search engine and AI crawler indexing and tracks each page's per-engine status. A client adds a website, verifies its hosted IndexNow key file or installs it through a connected Cloudflare zone, then sends up to 10,000 urls or a sitemap_url in one submit call. It links a Search Console site to read Google rankings, saves a Baidu push token, and returns a website-level score and a setup checklist. A public site check, with no key, reports how search engines and AI crawlers see any URL.

## For AI agents

Submit a website's new or changed pages for indexing, track per-engine status for each page, and read Search Console rankings and a site score.

## Scope

Does not research keywords, build backlinks to order, or edit site content. Use for submitting pages for indexing and tracking their indexing status only.

## Capabilities

- Submit up to 10,000 page urls or a sitemap_url for indexing in one call, with resend to push tracked pages again
- Track each page's per-engine status and filter by queued, processing, done, or error
- Verify a website's hosted IndexNow key file or install it through a connected Cloudflare zone
- Link a Search Console site and read Google rankings over a chosen number of days
- Run a public check of how search engines and AI crawlers see a URL, saved for 14 days
- Read a website-level score and the setup checklist with next steps

## Use cases

### AI agent submitting new pages through Jentic

A developer wants their agent to push freshly published pages for indexing as part of a deploy, without wiring the IndexLinks client by hand. Through Jentic the agent searches for 'submit pages for indexing', loads the submitPages operation with its input schema, and sends the new urls for the website id, with the API key injected at call time. The response counts how many pages were queued, resent, or skipped as duplicates.

Example prompt: Call GET `/v1/properties` to find the website id, then POST `/v1/properties/{id}/submit` with urls set to the three newly published blog post URLs and report the queued count

### Indexing status monitoring

SEO teams want to know which pages search engines have picked up. GET `/v1/properties/{id}/urls` lists tracked pages with per-engine status, filterable by status and url_contains, and GET `/v1/properties/{id}/urls/{urlId}/status` returns one page in detail. Pages with an error status can be resubmitted with resend set to true.

Example prompt: Call GET `/v1/properties/{id}/urls` with status set to error, then POST `/v1/properties/{id}/submit` with those urls and resend set to true

### Website onboarding and verification

Before submitting, a website needs its IndexNow key file hosted. POST `/v1/properties` adds the site by name and url, GET `/v1/properties/{id}/setup` returns the checklist, and POST `/v1/properties/{id}/verify` checks the hosted key file, or POST `/v1/properties/{id}/key-file/install` hosts it through a connected Cloudflare zone. Linking Search Console with a site_url enables rankings.

Example prompt: POST `/v1/properties` with name and url, call POST `/v1/properties/{id}/verify`, then POST `/v1/properties/{id}/search-console` with site_url

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/properties/{id}/submit` | Send pages to every search engine |
| GET | `/v1/properties/{id}/urls` | Tracked pages with per-engine status |
| GET | `/v1/properties/{id}/urls/{urlId}/status` | One page in detail |
| GET | `/v1/properties` | List websites |
| POST | `/v1/properties` | Add a website |
| GET | `/v1/properties/{id}/rankings` | Google rankings from Search Console |
| POST | `/v1/public/audit` | Check how search engines and AI crawlers see a site |

## Key resources

- **Websites** — List and add websites, read setup checklist and score, verify or install the IndexNow key file
- **Pages** — Submit pages or a sitemap, list tracked pages with per-engine status, and read one page in detail
- **Integrations** — Link a Search Console site for rankings and save a Baidu push token
- **Public site check** — Check how search engines and AI crawlers see a URL and read a saved check

## 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:** 63 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 99 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 45 / 100
  - Agent Usability: 94 / 100
  - Security: 55 / 100
  - AI Discoverability: 58 / 100
- **View full report:** https://jentic.com/apis/indexlinks.app/indexlinks/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 IndexLinks by hand means choosing between a bearer key and the X-API-Key header, verifying an IndexNow key file per website, and batching url submissions per website id. Through Jentic you install once, import IndexLinks from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** IndexLinks puts the website id in the URL path (`/v1/properties/{id}/...`), so a rule can pin your agent to one website and the operations you pick for it. You choose the operations it may call, so ones like installing a key file through Cloudflare or saving a Baidu token are not included unless you add them.
- **Credential handling:** Your IndexLinks API 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 'submit pages for indexing' or 'check indexing status', and Jentic returns the matching IndexLinks operation with its input schema so the agent sends the website id and urls correctly.

## Related APIs

- **Web Search Indexing API** — Notifies Google directly when pages are added, updated, or removed
- **Google Search Console API** — Search analytics, URL inspection, and sitemaps for verified sites
- **SEMrush API** — SEO and competitive keyword and domain analytics

## FAQ

### What authentication does the IndexLinks API use?

The IndexLinks API accepts an API key (prefixed il_live_) either as a bearer token in the Authorization header or in an X-API-Key header, per its OpenAPI spec. The public site check operations under `/v1/public/audit` need no credential. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time.

### Can I submit a whole sitemap with the IndexLinks API?

Yes. POST `/v1/properties/{id}/submit` accepts either a urls array of up to 10,000 entries or a sitemap_url. Already tracked pages are skipped as duplicates unless you set resend to true, and the response reports queued, resent, duplicates, dropped, and invalid counts.

### What are the rate limits for the IndexLinks API?

The OpenAPI spec does not specify rate limits. Check https://indexlinks.app for current limits and plan quotas.

### Is there an IndexLinks MCP server?

You don't need an MCP server to give your agent IndexLinks. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the submit, status, and rankings operations it needs, discovered on demand.

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

Yes. As a worked example, allow only the submit and urls listing operations under `/v1/properties/{id}` for one website id, and the agent can push pages and read their status for that site but cannot add websites, install key files on Cloudflare, or change Search Console links. Every call it makes is logged.

### How do I check a page's indexing status through Jentic?

Search Jentic for 'get the indexing status of a page', load the getPageStatus operation, and execute it with the website id and urlId. To run it on your own infrastructure, install Jentic One from its GitHub repo.
