Methods to Actively Request Indexing

Send direct requests to an OP server to index your pages.

Last modified 2025-10-28

Table of content
  1. Prerequisites
  2. POST Endpoint
  3. Request Format
  4. Using JSON (recommended)
  5. Using Form Data
  6. From JavaScript
  7. Parameters
  8. Headers
  9. Response
  10. Success (200 OK)
  11. Error Responses
  12. Security & Limits
  13. Common Issues

Prerequisites

Your domain must be registered with the Octothorpes server. Contact the administrator to register your origin.

POST Endpoint

POST https://octothorp.es/index

Request Format

curl -X POST https://octothorp.es/index \
  -H "Origin: https://yourdomain.com" \
  -H "Content-Type: application/json" \
  -d '{
    "uri": "https://yourdomain.com/your-page",
    "harmonizer": "https://yourdomain.com/custom-harmonizer.json"
  }'

Note the optional use of a remote harmonizer. Learn more about harmonizers

Using Form Data

curl -X POST https://octothorp.es/index \
  -H "Origin: https://yourdomain.com" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "uri=https://yourdomain.com/your-page" \
  -d "harmonizer=default"

From JavaScript

fetch('https://octothorp.es/index', {
  method: 'POST',
  headers: {
    'Origin': 'https://yourdomain.com',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    uri: 'https://yourdomain.com/your-page',
    harmonizer: 'default'  // optional, defaults to "default"
  })
})
.then(response => response.json())
.then(data => console.log(data))

Parameters

Parameter Required Description
uri Yes Full URL of the page to index. Must be from your registered domain.
harmonizer No Harmonizer to use for extracting metadata. Defaults to "default".

Headers

Header Required Description
Origin Yes Your domain origin. Used to verify you own the page being indexed.
Content-Type Yes Either application/json or application/x-www-form-urlencoded

Response

Success (200 OK)

{
  "status": "success",
  "message": "Page indexed successfully",
  "uri": "https://yourdomain.com/your-page",
  "indexed_at": 1706024142000
}

Error Responses

Status Error Cause
400 Origin header required Missing origin header
400 URI parameter is required Missing uri in request body
400 Invalid URI format Malformed URL
401 Origin is not registered Your domain is not registered
403 Cannot index pages from a different origin URI domain doesn't match your origin
429 Rate limit exceeded Too many requests (10 per minute limit)
500 Error processing indexing request Server error during processing

Security & Limits

Same-Origin Policy: You can only index pages from your own registered domain.

Rate Limiting: 10 indexing requests per minute per origin.

Cooldown: Pages that were recently indexed may be subject to a cooldown period before re-indexing.

Common Issues

403 Forbidden - Cannot index pages from a different origin

  • Make sure the uri domain matches your Origin header
  • Check for protocol mismatch (http vs https)
  • Verify port numbers match if using non-standard ports

429 Too Many Requests

  • Wait 60 seconds before retrying
  • Implement exponential backoff in your scripts
  • Consider batching requests with delays

401 Unauthorized - Origin not registered

  • Contact the server administrator to register your domain
  • Verify your Origin header matches your registered domain exactly

Previous: About Passive Indexing