Developer Docs

Index Pulse API is a technical SEO evidence API. It combines GSC verdicts, crawl waste, redirect intelligence, sitemaps, schema extraction, entity context, client reports, API access, and MCP workflows so agencies and platforms can answer why a URL is or is not visible.

Auth Endpoints Samples Use Cases Crawler Access GSC Report Examples Credits MCP Setup

What You Build With It

Client report sectionsExecutive summary, critical URLs, schema coverage, entity gaps, and recommended fixes.
Crawl waste optimizerRedirects, crawl errors, sitemap leaks, duplicate canonical clusters, and queue skips with fix actions.
SEO software widgetsDrop URL risk, indexation status, schema evidence, and entity coverage into an existing product.
Internal command centersGive SEO teams a queue of pages to inspect, fix, validate, and explain to clients.
MCP toolsLet agents ask for risky URLs, weak entities, missing schema, and report-ready evidence.

Authentication

Browser pages use a signed app session. API endpoints use bearer tokens with scoped read access. Signup-created workspace keys are accepted by the API gateway; the local demo token remains available as a fixture.

Authorization: Bearer YOUR_API_TOKEN

API Spec

/v1/openapi.json is the machine-readable API specification for SDKs and developer tools. It is not an OpenAI integration.

Quick Request

Use curl.exe on Windows PowerShell. Replace the token and host after production keys exist.

curl.exe -H "Authorization: Bearer ip_demo_local_read" ^
  http://localhost:8787/v1/schema/audit

Crawler Access And Firewalls

If every URL fails to fetch, or the site returns 401, 403, 429, connection errors, or empty HTTP status, treat it as an access problem before treating it as an SEO problem. The customer should allow the Index Pulse crawler for the verified site, then run the analysis again.

Allowlist ItemValueWho Uses It
User-AgentIndexPulseAPI/1.0 (+https://indexpulseapi.com/crawler)Cloudflare, Wordfence, Sucuri, hosting firewall, bot protection, and request logs.
Contactsupport@indexpulseapi.comSecurity teams that need a human-readable crawler owner.
Outbound IPs74.220.48.0/24, 74.220.56.0/24, 216.151.17.91, 216.151.17.92Firewall/CDN rules that require source IP or CIDR allowlisting.

Customer Allowlist Request

Allow the Index Pulse crawler for this verified site.
User-Agent: IndexPulseAPI/1.0 (+https://indexpulseapi.com/crawler)
Contact: support@indexpulseapi.com
Outbound IPs: 74.220.48.0/24, 74.220.56.0/24, 216.151.17.91, 216.151.17.92

Access Options

OptionBest ForWhat It DoesLimit
Published crawler identityMost sites and normal SaaS customersAllow the Index Pulse user agent and contact in the CDN, host, firewall, or security plugin.Some firewalls also require source IPs.
Outbound IP allowlistCloudflare, Wordfence, Sucuri, host firewalls, and security teamsAllow the hosted outbound CIDR ranges or dedicated crawler IPs.Shared CIDR ranges may be too broad for strict customers.
Dedicated crawler IPEnterprise customers, SEO platforms, and larger agenciesCrawl from a stable dedicated IP the customer can allowlist.Requires extra infrastructure before promising it.
Search Console evidenceUsers who want Google's known index stateUse authorized Google Search Console and URL Inspection data for verified properties.Google's indexed verdict is not a live HTML crawl and does not extract title, canonical, schema, links, or rendered evidence.
Customer-side connectorLocked-down sites, intranets, staging, and high-security clientsA future plugin, worker, or script runs inside the customer's environment and sends normalized evidence to Index Pulse.Requires customer installation and trust.
Manual/import fallbackAgencies with Screaming Frog, sitemap, GSC, or CMS exportsImport URLs and evidence so Index Pulse can report, compare, and prioritize before live crawling works.Imported evidence can be stale and may miss page-level checks.

What Index Pulse Will Not Do

Index Pulse does not pretend to be Googlebot, Bingbot, AhrefsBot, SemrushBot, or another crawler. Google-side evidence comes from customer-authorized Search Console access; live HTML evidence comes from the published Index Pulse crawler or a future customer-side connector.

Owner Or Self-Hosted Setup

Set INDEXPULSE_CRAWLER_OUTBOUND_IPS to the hosted outbound CIDR ranges or dedicated crawler IPs before offering IP allowlisting to customers. On a Render deployment, copy these from the service's Connect menu under the Outbound tab. If a customer cannot allowlist CIDR ranges, use dedicated outbound IPs.

Endpoint Map

EndpointScopeBest For
/v1/indexation/snapshotsread:indexationURL risk queues, page evidence widgets, client triage.
/v1/crawl/wasteread:crawlCrawl waste score, redirect waste, sitemap leaks, soft 404 exposure, canonical conflicts, and fix recommendations.
/v1/crawl/errorsread:crawlNon-200, robots, noindex, skipped, deferred, and soft 404 crawl evidence.
/v1/crawl/soft-404read:crawlGenerated missing-route probe showing whether a framework returns 404/410 or incorrectly returns 200 OK.
/v1/redirects/chainsread:crawlObserved redirect start/final URL candidates for cleanup workflows.
/v1/sitemaps/leaksread:crawlSitemap URLs that carry indexability or canonical waste evidence.
/v1/canonicals/clustersread:crawlDuplicate URL variants canonicalizing to the same preferred URL.
/v1/schema/auditread:schemaSchema coverage, structured-data blockers, and page evidence.
/v1/entities/mapread:entitiesEntity-to-page coverage, sameAs gaps, and topical evidence checks.
/v1/ai/visibilityread:aiBing AI Performance citations, external intent/topic labels, and technical evidence for cited pages.
/v1/connectors/bing/ai-performanceread:aiNormalized Bing Webmaster Tools AI Performance import rows for exports, dashboards, and MCP workflows.
/v1/alertsread:alertsCritical indexing events for Slack, email, or reporting tools.
/v1/reports/client-indexread:reportsClient portals, internal SEO ops dashboards, customer-facing report exports, or product widgets.
/v1/usageread:usageCredits, quota displays, internal billing estimates.
/v1/billing/governanceread:usageStripe readiness, invoice checks, quota posture.
/v1/stripe/webhookStripe signatureSigned checkout, subscription, and payment failure events that sync workspace billing status.
/v1/openapi.jsonpublicSDK generation, developer portals, API client setup.

Sample Data

Indexation Snapshot

{
  "snapshots": [{
    "url": "https://example.com/pricing",
    "priority": "high",
    "risk": { "level": "critical", "score": 100 },
    "gsc": { "coverage_state": "excluded_by_noindex" },
    "issues": ["noindex_detected", "gsc_not_indexed"],
    "actions": [
      "Remove noindex if accidental.",
      "Review GSC Coverage and live page eligibility."
    ]
  }]
}

Crawl Waste Report

{
  "summary": {
    "analyzed_urls": 100,
    "wasted_urls": 12,
    "crawl_waste_score": 34,
    "redirecting_urls": 3,
    "sitemap_leak_urls": 4
  },
  "issues": [{
    "type": "sitemap_leak",
    "severity": "high",
    "url": "https://example.com/noindex-page",
    "recommended_action": "Remove blocked, noindex, erroring, or non-canonical URLs from indexable sitemaps."
  }]
}

Schema Audit

{
  "summary": {
    "pages_audited": 10,
    "pages_with_structured_data": 10,
    "invalid_json_ld_blocks": 0,
    "average_schema_score": 99,
    "average_evidence_score": 100
  },
  "pages": [{
    "url": "https://example.com/",
    "schema_types": ["Organization", "WebSite"],
    "entities": ["Example", "Search Evidence API"],
    "same_as": ["https://www.linkedin.com/company/example"],
    "issues": []
  }]
}

Entity Map

{
  "entities": [{
    "name": "Example",
    "type": "Organization",
    "pages": ["https://example.com/"],
    "evidence": ["json_ld", "same_as", "page_copy"]
  }]
}

Agency Use Cases

  • Find high-value URLs blocked by noindex, robots, canonicals, or stale GSC state.
  • Clean redirect waste, sitemap leaks, crawl errors, and duplicate canonical clusters before a migration or monthly report.
  • Build client reports that tie indexation issues to actions and evidence.
  • Track schema and entity coverage across service pages, product pages, and local pages.

Platform And MCP Use Cases

  • Power reporting-tool widgets with page-level evidence and recommended actions.
  • Add product enrichments to an SEO app, CMS plugin, website builder, or customer portal without rebuilding crawlers, schema parsers, or GSC workflows.
  • Let MCP agents answer: which pages should be inspected, which entities are weak, and what changed.

Report Example Hub

The client-facing report templates and use-case walkthroughs now live on a dedicated page. Each template includes a visual preview, report sections, generation logic, API inputs, and MCP prompts.

Credit Planning

A practical estimate: 100 watched URLs refreshed weekly is roughly 3,000 credits per month in the current build. That includes weekly page crawls, crawl waste analysis, weekly GSC rows, sitemap checks, and a small alert/report allowance.

MeterCredit WeightExample
HTML crawl page5 credits100 pages crawled weekly is about 2,000 credits per month.
Crawl waste analysisIncluded with crawl refreshUses the already-collected crawl, sitemap, queue, and indexation evidence.
GSC inspection row2 credits100 imported rows weekly is about 800 credits per month.
Sitemap diff job20 base + 1 per 100 URLsOne weekly sitemap check for 100 URLs is about 84 credits per month.
Webhook delivery plan1 creditAlert planning is low-cost and mostly tied to issue volume.

MCP Positioning

MCP-ready workflows are included on every paid plan because MCP is an access method for the same evidence API. Signed-in workspace users can open /app/mcp to create an assistant token, copy the remote MCP server URL, and see first prompts. Platform pricing is for white-label API usage, custom MCP server packaging, higher limits, custom retention, and embedded product support.

ClientWhat To EnterNotes
Claude custom connectorhttps://indexpulseapi.com/mcp?token=YOUR_WORKSPACE_TOKENName it indexpulse. Leave OAuth Client ID and OAuth Client Secret blank for the token URL setup.
Header-capable MCP clientshttps://indexpulseapi.com/mcp
Authorization: Bearer YOUR_WORKSPACE_TOKEN
Use this cleaner setup when the client lets you send headers.
ChatGPT or Gemini API toolshttps://indexpulseapi.com/v1/openapi.json
Authorization: Bearer YOUR_WORKSPACE_TOKEN
Use the OpenAPI/action-style fallback when the product surface does not expose remote MCP server configuration.
n8nMCP node: /mcp with bearer header. HTTP Request node: any /v1/* endpoint with bearer header.Start with HTTP Request if the MCP node in your n8n install is not available.

Google Search Console

Most users connect Search Console from the app. Click Connect, choose the Google account that can access the property, and approve read-only access. No Google Cloud setup is needed.

OptionBest ForWhat You DoResult
Guided connectionAgency users and client workspacesOpen /app/integrations and click Connect Google Search Console.Index Pulse can import Search Console evidence for the connected workspace.
Developer / DIY setupSelf-hosted installs and custom deploymentsCreate a Google Cloud OAuth client and set the environment variables below.Your own deployment can run the same connection flow.
MCP / API accessAutomations, agents, and external toolsOpen /app/mcp, create an assistant token, and copy the setup package after Search Console is connected.No Google secrets in MCP clients; tools read normalized evidence through Index Pulse.

Developer / DIY Environment

GOOGLE_CLIENT_ID=your-google-oauth-client-id
GOOGLE_CLIENT_SECRET=your-google-oauth-client-secret
GOOGLE_REDIRECT_URI=https://your-domain.com/app/gsc/callback
INDEXPULSE_TOKEN_SECRET=a-long-random-token-encryption-secret

MCP / API Requests

curl.exe -H "Authorization: Bearer YOUR_WORKSPACE_TOKEN" ^
  http://localhost:8787/v1/connectors/gsc

curl.exe -H "Authorization: Bearer YOUR_WORKSPACE_TOKEN" ^
  http://localhost:8787/v1/connectors/gsc/url-inspection-jobs

Production Setup Surfaces

NeedWhere It Lives NowProduction Upgrade
App loginINDEXPULSE_SESSION_SECRET, signup users, and optional INDEXPULSE_APP_PASSWORD fallbackSigned sessions for workspace users, with a temporary shared-admin fallback only if configured.
Ops AdminINDEXPULSE_PLATFORM_OWNER_EMAILSPrivate platform-owner access to /app/admin. Normal workspace owners cannot open this page.
Pricinginputs/billing-config.jsonStripe Products and Prices plus account plan records.
StripeSTRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, price ID variables, INDEXPULSE_PUBLIC_ORIGINCheckout session creation, signed webhook handling, customer mapping, subscription sync, invoice reconciliation.
API keysinputs/api-keys.json stores hashed local fixturesAccount-owned expiring keys stored in a database.
GSC/app/integrations, optional developer OAuth env vars, inputs/gsc-connector.json, and manual importsGuided app connection for users; developer setup for self-hosted deployments; property sync and quota-aware URL Inspection jobs.