get_twitterapi_guide
Access TwitterAPI.io documentation for pricing, rate limits, authentication, and filter rules. Retrieve full guide content with headers, paragraphs, and code examples.
Instructions
Get TwitterAPI.io guide pages for conceptual topics.
USE THIS WHEN: You need information about pricing, rate limits, authentication, or filter rules. AVAILABLE GUIDES: pricing, qps_limits, tweet_filter_rules, changelog, introduction, authentication, readme
RETURNS: Full guide content with headers, paragraphs, and code examples.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| guide_name | Yes | Guide name: pricing, qps_limits, tweet_filter_rules, changelog, introduction, authentication, readme |
Implementation Reference
- index.js:1350-1402 (handler)Main execution logic for get_twitterapi_guide: validates input, retrieves guide page from data.pages, constructs formatted Markdown response with title, URL, overview, TOC, content sections, key points, code examples, and full raw text.case "get_twitterapi_guide": { // Validate input const validation = validateGuideName(args.guide_name); if (!validation.valid) { return formatToolError(validation.error); } const page = data.pages?.[validation.value]; if (!page) { return formatToolError({ type: ErrorType.NOT_FOUND, message: `Guide "${validation.value}" not found`, suggestion: `Available guides: ${Object.keys(data.pages || {}).join(', ')}`, retryable: false }); } let output = `# ${page.title || validation.value}\n\n`; output += `**URL:** ${page.url || "N/A"}\n\n`; if (page.description) { output += `## Overview\n${page.description}\n\n`; } if (page.headers?.length > 0) { output += `## Table of Contents\n`; output += page.headers.map(h => `${" ".repeat(h.level - 1)}- ${h.text}`).join("\n"); output += "\n\n"; } if (page.paragraphs?.length > 0) { output += `## Content\n`; output += page.paragraphs.join("\n\n"); output += "\n\n"; } if (page.list_items?.length > 0) { output += `## Key Points\n`; output += page.list_items.map(li => `- ${li}`).join("\n"); output += "\n\n"; } if (page.code_snippets?.length > 0) { output += `## Code Examples\n\`\`\`\n`; output += page.code_snippets.join("\n"); output += "\n```\n\n"; } output += `## Full Content\n${page.raw_text || "No additional content."}`; return formatToolSuccess(output); }
- index.js:1024-1060 (registration)Tool registration in ListToolsRequestSchema handler: defines name, description, input schema (guide_name enum), and output schema for structured LLM responses.name: "get_twitterapi_guide", description: `Get TwitterAPI.io guide pages for conceptual topics. USE THIS WHEN: You need information about pricing, rate limits, authentication, or filter rules. AVAILABLE GUIDES: pricing, qps_limits, tweet_filter_rules, changelog, introduction, authentication, readme RETURNS: Full guide content with headers, paragraphs, and code examples.`, inputSchema: { type: "object", properties: { guide_name: { type: "string", description: "Guide name: pricing, qps_limits, tweet_filter_rules, changelog, introduction, authentication, readme", enum: ["pricing", "qps_limits", "tweet_filter_rules", "changelog", "introduction", "authentication", "readme"] }, }, required: ["guide_name"], }, outputSchema: { type: "object", properties: { content: { type: "array", items: { type: "object", properties: { type: { type: "string", enum: ["text"] }, text: { type: "string", description: "Markdown with: Title, URL, Overview, Table of Contents, Content paragraphs, Key Points list, Code Examples, Full Content" } } } } } } },
- index.js:1031-1059 (schema)Input/output schemas defining the tool's parameters (guide_name with enum validation) and expected response structure (text content array).inputSchema: { type: "object", properties: { guide_name: { type: "string", description: "Guide name: pricing, qps_limits, tweet_filter_rules, changelog, introduction, authentication, readme", enum: ["pricing", "qps_limits", "tweet_filter_rules", "changelog", "introduction", "authentication", "readme"] }, }, required: ["guide_name"], }, outputSchema: { type: "object", properties: { content: { type: "array", items: { type: "object", properties: { type: { type: "string", enum: ["text"] }, text: { type: "string", description: "Markdown with: Title, URL, Overview, Table of Contents, Content paragraphs, Key Points list, Code Examples, Full Content" } } } } } }
- index.js:546-574 (helper)Helper function to validate and normalize guide_name input against predefined GUIDE_NAMES list, providing error messages with available options.function validateGuideName(name) { if (!name || typeof name !== 'string') { return { valid: false, error: { type: ErrorType.INPUT_VALIDATION, message: 'Guide name cannot be empty', suggestion: `Available guides: ${VALIDATION.GUIDE_NAMES.join(', ')}`, retryable: false } }; } const trimmed = name.trim().toLowerCase(); if (!VALIDATION.GUIDE_NAMES.includes(trimmed)) { return { valid: false, error: { type: ErrorType.INPUT_VALIDATION, message: `Unknown guide: "${trimmed}"`, suggestion: `Available guides: ${VALIDATION.GUIDE_NAMES.join(', ')}`, retryable: false } }; } return { valid: true, value: trimmed }; }