{"openapi":"3.0.3","info":{"title":"Gnist Context — Wayback Machine","description":"Internet Archive lookups — snapshot search, availability checks, capture calendars, and yearly statistics.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/wayback/`\n- **Toolkit page:** `/toolkits/wayback`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/wayback/check_availability":{"post":{"tags":["Reference"],"summary":"check_availability","description":"Check if a URL has been archived in the Wayback Machine and find the closest snapshot.\n\nReturns a dict with 'url', 'available' (bool), and 'closest' snapshot if available.\nThe 'wayback_url' field contains the direct Wayback Machine link to the archived page.","operationId":"wayback_check_availability","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"url":{"description":"The URL to look up (e.g. \"https://example.com/page\").","type":"string"},"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional target date/time (YYYY-MM-DD or YYYYMMDD). When provided, the Wayback Machine returns the snapshot closest to that date. Omit to get the most recent snapshot."}},"required":["url"],"type":"object"}}}}}},"/rest/wayback/search_snapshots":{"post":{"tags":["Reference"],"summary":"search_snapshots","description":"Search the Wayback Machine CDX index for archived snapshots of a URL.\n\nReturns a deduplicated list of snapshots sorted chronologically. Useful for\ntracking how a page has changed over time or verifying when content was live.\n\nEach snapshot has url, wayback_url, timestamp, date, status_code, mimetype,\nand length (bytes). Use 'wayback_url' with a fetch tool to retrieve the\nactual archived page content.","operationId":"wayback_search_snapshots","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"url":{"description":"The URL to search (e.g. \"https://example.com/page\"). Use wildcard prefix matching with \"example.com/*\" to capture all pages on a domain.","type":"string"},"date_from":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Only include captures on or after this date (YYYY-MM-DD). Optional."},"date_to":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Only include captures on or before this date (YYYY-MM-DD). Optional."},"limit":{"default":20,"description":"Maximum snapshots to return (1-100, default 20).","type":"integer"},"status_code":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by HTTP status at capture time (e.g. \"200\", \"404\"). Optional."},"mimetype":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by MIME type (e.g. \"text/html\", \"application/pdf\"). Optional."}},"required":["url"],"type":"object"}}}}}},"/rest/wayback/get_capture_calendar":{"post":{"tags":["Reference"],"summary":"get_capture_calendar","description":"Get monthly capture counts for a URL in a given year from the Wayback Machine.\n\nReturns total captures for the year and a breakdown by month (YYYY-MM keys).\nUseful for understanding archival coverage and activity patterns for a URL.","operationId":"wayback_get_capture_calendar","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"url":{"description":"The URL to get capture calendar for (e.g. \"https://example.com\").","type":"string"},"year":{"description":"Year to retrieve calendar for (e.g. 2023).","type":"integer"}},"required":["url","year"],"type":"object"}}}}}},"/rest/wayback/get_capture_stats":{"post":{"tags":["Reference"],"summary":"get_capture_stats","description":"Get yearly capture statistics for a URL from the Wayback Machine.\n\nReturns total captures across all years, the first and last capture years,\nand a per-year breakdown. Useful for getting an overview of how long and\nhow frequently a URL has been archived.","operationId":"wayback_get_capture_stats","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"url":{"description":"The URL to get capture statistics for (e.g. \"https://example.com\").","type":"string"}},"required":["url"],"type":"object"}}}}}},"/rest/wayback/report_feedback":{"post":{"tags":["Reference"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"wayback_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Reference","description":"Data sources: Reference"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}