{"openapi":"3.1.0","info":{"title":"ResearchPi","version":"0.4.2","x-guidance":"TokenBrief: POST /v1/token-brief accepts a Base ERC-20 address; see /tokenbrief for scoped on-chain analysis and share cards. Use POST /v1/read for public HTTPS HTML text and links, or POST /v1/company for source-linked metadata from an official domain. Company profiles are self-reported, not registry verification. Use POST /v1/saas-pricing for reviewed SaaS plan cards and observed changes; GET /pricing-products lists support. No JS rendering or PDFs. Inspect the unpaid 402 quote, respect the user spending budget, then use x402 Base USDC. On uncertain settlement, retry the same signed payment and exact input. Demo: /demo. Portable agent Skill: /integrate.","contact":{"name":"ResearchPi","email":"sjdrop20@gmail.com"},"description":"Readable public webpages and source-backed company profiles for AI agents. x402 v2 / Base USDC; staging uses Base Sepolia test USDC. Only enabled endpoints are listed. Company profiles are not verified legal identities."},"servers":[{"url":"https://agent-research-api.onrender.com"}],"paths":{"/v1/read":{"post":{"operationId":"read","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"description":"ResearchPi: Extract readable text, title and links from one public HTTPS HTML page. Source URL and retrieval time included. No JavaScript, PDF, login or private network access. Maximum 2 MB HTML / 60,000 text characters.","x-enabled":true,"x-price-usd":0.005,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","format":"uri","maxLength":2048}}},"example":{"url":"https://example.com/"}}}},"responses":{"200":{"description":"Successful result; payment receipt in PAYMENT-RESPONSE","content":{"application/json":{"schema":{"type":"object","required":["request_id","schema_version","data","sources","retrieved_at","missing_fields","conflicts","warnings","cache_age_seconds","billing"],"properties":{"request_id":{"type":"string"},"schema_version":{"const":"1.0"},"data":{"type":"object","required":["url","title","description","text","truncated","links","retrieved_at","published_at"],"properties":{"url":{"type":"string","format":"uri","pattern":"^https://"},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"text":{"type":"string","maxLength":60000},"truncated":{"type":"boolean"},"links":{"type":"array","maxItems":100,"items":{"type":"object","required":["url","title"],"properties":{"url":{"type":"string","format":"uri","pattern":"^https://"},"title":{"type":"string"}}}},"retrieved_at":{"type":"string","format":"date-time"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}}},"sources":{"type":"array","items":{"type":"object","required":["retrieved_at"],"properties":{"url":{"type":"string","format":"uri","pattern":"^https://"},"provider":{"type":"string"},"retrieved_at":{"type":"string","format":"date-time"}}}},"retrieved_at":{"type":"string","format":"date-time"},"missing_fields":{"type":"array","items":{"type":"string"}},"conflicts":{"type":"array","items":{"type":"object","required":["field","evidence"],"properties":{"field":{"type":"string"},"evidence":{"type":"array","items":{"type":"object","required":["value","source_url","evidence_type","retrieved_at"],"properties":{"value":{"type":"string"},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"retrieved_at":{"type":"string","format":"date-time"},"evidence_type":{"type":"string","enum":["official_site_json_ld","official_site_meta_description","official_site_brand_metadata","official_site_logo","official_site_copyright"]}}}}}}},"warnings":{"type":"array","items":{"type":"string"}},"cache_age_seconds":{"type":"integer","minimum":0},"billing":{"type":"object","required":["mode","status","amount_usdc"],"properties":{"mode":{"enum":["local","staging","production"]},"status":{"enum":["settled","not_charged"]},"amount_usdc":{"type":"number","minimum":0}}}}}}}},"400":{"description":"Invalid input; not charged"},"402":{"description":"Payment required; x402 v2 in PAYMENT-REQUIRED header"},"409":{"description":"Payment reuse with another input, or completed/failed authorization"},"410":{"description":"Stored result expired; original payment is not charged again"},"422":{"description":"Unsupported or insufficient source content; not settled"},"429":{"description":"Concurrency or rate limit; not settled"},"503":{"description":"Unavailable, budget limit, or uncertain settlement. For uncertain settlement, retry the SAME signed payment and input; never create a new payment automatically."}}}},"/v1/company":{"post":{"operationId":"company","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.060"},"protocols":[{"x402":{}}]},"description":"ResearchPi: Get an evidence-backed company profile from its official domain, reading at most 3 pages. Uses matching Organization data or a site brand supported by title, logo or copyright evidence; these are distinguished from verified legal identity. Returns cited name and description, links, missing fields and conflicts. Does not estimate revenue, funding or headcount.","x-enabled":true,"x-price-usd":0.06,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["domain"],"properties":{"domain":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]*\\.([a-z0-9-]+\\.)*[a-z]{2,63}$","maxLength":253}}},"example":{"domain":"github.com"}}}},"responses":{"200":{"description":"Successful result; payment receipt in PAYMENT-RESPONSE","content":{"application/json":{"schema":{"type":"object","required":["request_id","schema_version","data","sources","retrieved_at","missing_fields","conflicts","warnings","cache_age_seconds","billing"],"properties":{"request_id":{"type":"string"},"schema_version":{"const":"1.0"},"data":{"type":"object","required":["domain","name","description","legalName","identity_basis","company_identity_verified","pricing_url","docs_url","contact_url","employee_count","revenue","funding"],"properties":{"domain":{"type":"string"},"name":{"type":"object","required":["value","source_url","evidence_type","retrieved_at"],"properties":{"value":{"type":"string"},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"retrieved_at":{"type":"string","format":"date-time"},"evidence_type":{"type":"string","enum":["official_site_json_ld","official_site_meta_description","official_site_brand_metadata","official_site_logo","official_site_copyright"]},"corroborated_by":{"type":"object","required":["type","value"],"properties":{"type":{"enum":["page_title","copyright_holder"]},"value":{"type":"string"},"source_url":{"type":"string","format":"uri","pattern":"^https://"}}}}},"description":{"anyOf":[{"type":"object","required":["value","source_url","evidence_type","retrieved_at"],"properties":{"value":{"type":"string"},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"retrieved_at":{"type":"string","format":"date-time"},"evidence_type":{"type":"string","enum":["official_site_json_ld","official_site_meta_description","official_site_brand_metadata","official_site_logo","official_site_copyright"]}}},{"type":"null"}]},"legalName":{"anyOf":[{"type":"object","required":["value","source_url","evidence_type","retrieved_at"],"properties":{"value":{"type":"string"},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"retrieved_at":{"type":"string","format":"date-time"},"evidence_type":{"const":"official_site_json_ld"}}},{"type":"null"}]},"identity_basis":{"type":"string","enum":["organization_structured_data","site_brand_metadata","site_logo","site_copyright"],"description":"Organization JSON-LD or corroborated website brand/logo/copyright evidence. None is registry verification."},"company_identity_verified":{"const":false,"description":"This API does not verify legal entities against a registry."},"pricing_url":{"anyOf":[{"type":"string","format":"uri","pattern":"^https://"},{"type":"null"}]},"docs_url":{"anyOf":[{"type":"string","format":"uri","pattern":"^https://"},{"type":"null"}]},"contact_url":{"anyOf":[{"type":"string","format":"uri","pattern":"^https://"},{"type":"null"}]},"employee_count":{"type":"null"},"revenue":{"type":"null"},"funding":{"type":"null"}}},"sources":{"type":"array","items":{"type":"object","required":["retrieved_at"],"properties":{"url":{"type":"string","format":"uri","pattern":"^https://"},"provider":{"type":"string"},"retrieved_at":{"type":"string","format":"date-time"}}}},"retrieved_at":{"type":"string","format":"date-time"},"missing_fields":{"type":"array","items":{"type":"string"}},"conflicts":{"type":"array","items":{"type":"object","required":["field","evidence"],"properties":{"field":{"type":"string"},"evidence":{"type":"array","items":{"type":"object","required":["value","source_url","evidence_type","retrieved_at"],"properties":{"value":{"type":"string"},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"retrieved_at":{"type":"string","format":"date-time"},"evidence_type":{"type":"string","enum":["official_site_json_ld","official_site_meta_description","official_site_brand_metadata","official_site_logo","official_site_copyright"]}}}}}}},"warnings":{"type":"array","items":{"type":"string"}},"cache_age_seconds":{"type":"integer","minimum":0},"billing":{"type":"object","required":["mode","status","amount_usdc"],"properties":{"mode":{"enum":["local","staging","production"]},"status":{"enum":["settled","not_charged"]},"amount_usdc":{"type":"number","minimum":0}}}}}}}},"400":{"description":"Invalid input; not charged"},"402":{"description":"Payment required; x402 v2 in PAYMENT-REQUIRED header"},"409":{"description":"Payment reuse with another input, or completed/failed authorization"},"410":{"description":"Stored result expired; original payment is not charged again"},"422":{"description":"Unsupported or insufficient source content; not settled"},"429":{"description":"Concurrency or rate limit; not settled"},"503":{"description":"Unavailable, budget limit, or uncertain settlement. For uncertain settlement, retry the SAME signed payment and input; never create a new payment automatically."}}}},"/v1/saas-pricing":{"post":{"operationId":"saas-pricing","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.020"},"protocols":[{"x402":{}}]},"description":"ResearchPi: Check current SaaS headline plan prices, listed features and observed changes for Linear, Supabase, Firecrawl or Clerk. Source URL, retrieval time, missing currency/terms and annual billing are explicit. Optional compare_to snapshot ID; first observation creates a baseline. No complete historical coverage, usage-cost estimate or checkout quote. Failed extraction is not settled. Supported products: GET /pricing-products.","x-enabled":true,"x-price-usd":0.02,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["product"],"properties":{"product":{"type":"string","enum":["linear","supabase","firecrawl","clerk"]},"compare_to":{"type":"string","format":"uuid"}}},"example":{"product":"linear"}}}},"responses":{"200":{"description":"Successful result; payment receipt in PAYMENT-RESPONSE","content":{"application/json":{"schema":{"type":"object","required":["request_id","schema_version","data","sources","retrieved_at","missing_fields","conflicts","warnings","cache_age_seconds","billing"],"properties":{"request_id":{"type":"string"},"schema_version":{"const":"1.0"},"data":{"type":"object","required":["snapshot_id","product","source_url","retrieved_at","language","parser_version","plans","content_hash","comparison","coverage","history_scope"],"properties":{"snapshot_id":{"type":"string","format":"uuid"},"product":{"enum":["linear","supabase","firecrawl","clerk"]},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"retrieved_at":{"type":"string","format":"date-time"},"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"parser_version":{"type":"string"},"content_hash":{"type":"string"},"coverage":{"type":"string"},"history_scope":{"type":"string"},"plans":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","required":["name","amount","currency","currency_symbol","price_period","billing_commitment","price_kind","unit","features","evidence_quote","source_url","retrieved_at"],"properties":{"name":{"type":"string"},"amount":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]},"currency_symbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"price_period":{"anyOf":[{"const":"month"},{"type":"null"}]},"billing_commitment":{"enum":["annual","monthly","unknown"]},"price_kind":{"enum":["free","fixed_display","starting_at","custom"]},"unit":{"anyOf":[{"type":"string"},{"type":"null"}]},"features":{"type":"array","maxItems":30,"items":{"type":"string"}},"evidence_quote":{"type":"string","maxLength":1200},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"retrieved_at":{"type":"string","format":"date-time"}}}},"comparison":{"type":"object","required":["status","previous_snapshot_id","previous_retrieved_at","changes"],"properties":{"status":{"enum":["baseline_created","changed","unchanged","not_comparable"]},"previous_snapshot_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"previous_retrieved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"changes":{"type":"array","items":{"type":"object","required":["plan","field","before","after"],"properties":{"plan":{"type":"string"},"field":{"type":"string"},"before":{},"after":{}}}}}}}},"sources":{"type":"array","items":{"type":"object","required":["retrieved_at"],"properties":{"url":{"type":"string","format":"uri","pattern":"^https://"},"provider":{"type":"string"},"retrieved_at":{"type":"string","format":"date-time"}}}},"retrieved_at":{"type":"string","format":"date-time"},"missing_fields":{"type":"array","items":{"type":"string"}},"conflicts":{"type":"array","items":{"type":"object","required":["field","evidence"],"properties":{"field":{"type":"string"},"evidence":{"type":"array","items":{"type":"object","required":["value","source_url","evidence_type","retrieved_at"],"properties":{"value":{"type":"string"},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"retrieved_at":{"type":"string","format":"date-time"},"evidence_type":{"type":"string","enum":["official_site_json_ld","official_site_meta_description","official_site_brand_metadata","official_site_logo","official_site_copyright"]}}}}}}},"warnings":{"type":"array","items":{"type":"string"}},"cache_age_seconds":{"type":"integer","minimum":0},"billing":{"type":"object","required":["mode","status","amount_usdc"],"properties":{"mode":{"enum":["local","staging","production"]},"status":{"enum":["settled","not_charged"]},"amount_usdc":{"type":"number","minimum":0}}}}}}}},"400":{"description":"Invalid input; not charged"},"402":{"description":"Payment required; x402 v2 in PAYMENT-REQUIRED header"},"409":{"description":"Payment reuse with another input, or completed/failed authorization"},"410":{"description":"Stored result expired; original payment is not charged again"},"422":{"description":"Unsupported or insufficient source content; not settled"},"429":{"description":"Concurrency or rate limit; not settled"},"503":{"description":"Unavailable, budget limit, or uncertain settlement. For uncertain settlement, retry the SAME signed payment and input; never create a new payment automatically."}}}},"/v1/token-brief":{"post":{"operationId":"token-brief","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010"},"protocols":[{"x402":{}}]},"description":"TokenBrief: Analyze a Base ERC-20 address with block-linked supply, owner/proxy observations and Uniswap v2/v3 + Aerodrome Slipstream pools (USDC/WETH). Returns spot quotes, pool inventory and evidence; wallet checkout and PNG cards at /tokenbrief. Optional narration=ai adds OpenAI commentary; default rules. No security verdict, holder concentration or sellability test. Cache up to 60s, disclosed. Source or AI failures are not settled.","x-enabled":true,"x-price-usd":0.01,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["address"],"properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"narration":{"type":"string","enum":["rules","ai"],"default":"rules"}}},"example":{"address":"0x4200000000000000000000000000000000000006"}}}},"responses":{"200":{"description":"Successful result; payment receipt in PAYMENT-RESPONSE","content":{"application/json":{"schema":{"type":"object","required":["request_id","schema_version","data","sources","retrieved_at","missing_fields","conflicts","warnings","cache_age_seconds","billing"],"properties":{"request_id":{"type":"string"},"schema_version":{"enum":["1.0","1.1"]},"data":{"type":"object","required":["product","token","block","observed_at","pools","controls","coverage","analysis","limitations"],"properties":{"product":{"const":"TokenBrief"},"observed_at":{"type":"string","format":"date-time"},"market":{"type":"array","maxItems":2,"items":{"type":"object","properties":{"quote":{"enum":["USDC","WETH"]},"pools":{"type":"integer"},"active_pools":{"type":"integer"},"missing_inventory":{"type":"integer"},"observed_quote_inventory":{"anyOf":[{"type":"string"},{"type":"null"}]},"reference_pool":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},{"type":"null"}]},"reference_spot":{"anyOf":[{"type":"string"},{"type":"null"}]}}}},"ai_commentary":{"anyOf":[{"type":"object","required":["status","model","headline","summary","evidence","usage","estimated_cost_micro_usd","notice"],"properties":{"status":{"const":"generated"},"model":{"type":"string"},"headline":{"type":"string"},"summary":{"type":"string"},"evidence":{"type":"array","items":{"type":"string"}},"evidence_details":{"type":"array","items":{"type":"object","required":["id","text"],"properties":{"id":{"type":"string"},"text":{"type":"string"}}}},"usage":{"type":"object","required":["input_tokens","output_tokens"],"properties":{"input_tokens":{"type":"integer"},"output_tokens":{"type":"integer"}}},"estimated_cost_micro_usd":{"type":"integer"},"notice":{"type":"string"}}},{"type":"null"}]},"token":{"type":"object","required":["chain","chain_id","address","name","symbol","decimals","total_supply","total_supply_raw"],"properties":{"chain":{"const":"base"},"chain_id":{"const":8453},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"decimals":{"type":"integer","minimum":0,"maximum":36},"total_supply":{"type":"string"},"total_supply_raw":{"type":"string"}}},"block":{"type":"object","required":["number","hash","timestamp","finalized"],"properties":{"number":{"type":"string"},"hash":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"finalized":{"const":false}}},"pools":{"type":"array","maxItems":40,"items":{"type":"object","required":["address","venue","fee_bps","quote_symbol","quote_address","spot_quote","active_liquidity_raw","token_inventory","quote_inventory","source_url"],"properties":{"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"venue":{"enum":["uniswap-v3","uniswap-v2","aerodrome-slipstream"]},"factory":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"tick_spacing":{"anyOf":[{"type":"integer"},{"type":"null"}]},"has_liquidity":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fee_bps":{"anyOf":[{"type":"number"},{"type":"null"}]},"quote_symbol":{"enum":["USDC","WETH"]},"quote_address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"spot_quote":{"anyOf":[{"type":"string"},{"type":"null"}]},"active_liquidity_raw":{"anyOf":[{"type":"string"},{"type":"null"}]},"token_inventory":{"anyOf":[{"type":"string"},{"type":"null"}]},"quote_inventory":{"anyOf":[{"type":"string"},{"type":"null"}]},"source_url":{"type":"string","format":"uri"}}}},"controls":{"type":"object","required":["owner","eip1967_implementation","eip1967_beacon"],"properties":{"owner":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},{"type":"null"}]},"eip1967_implementation":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},{"type":"null"}]},"eip1967_beacon":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},{"type":"null"}]}}},"coverage":{"type":"object","required":["venue","factory","quote_assets","fee_tiers","attempted_queries","failed_queries","holder_concentration","sellability"],"properties":{"venue":{"enum":["uniswap-v3","multi-dex"]},"venues":{"type":"array","items":{"type":"object"}},"slipstream_tick_spacings":{"type":"array","items":{"type":"integer"}},"factory":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"quote_assets":{"type":"array","items":{"type":"string"}},"fee_tiers":{"type":"array","items":{"type":"integer"}},"attempted_queries":{"type":"integer"},"failed_queries":{"type":"integer"},"holder_concentration":{"const":"not_assessed"},"sellability":{"const":"not_assessed"}}},"analysis":{"type":"object","required":["method","version","headline","summary","findings"],"properties":{"method":{"const":"deterministic-rules"},"version":{"type":"string"},"headline":{"type":"string"},"summary":{"type":"string"},"findings":{"type":"array","items":{"type":"object","required":["code","level","text","evidence"],"properties":{"code":{"type":"string"},"level":{"enum":["attention","unknown"]},"text":{"type":"string"},"evidence":{"type":"array","items":{"type":"string"}}}}}}},"limitations":{"type":"array","items":{"type":"string"}}}},"sources":{"type":"array","items":{"type":"object","required":["retrieved_at"],"properties":{"url":{"type":"string","format":"uri","pattern":"^https://"},"provider":{"type":"string"},"retrieved_at":{"type":"string","format":"date-time"}}}},"retrieved_at":{"type":"string","format":"date-time"},"missing_fields":{"type":"array","items":{"type":"string"}},"conflicts":{"type":"array","items":{"type":"object","required":["field","evidence"],"properties":{"field":{"type":"string"},"evidence":{"type":"array","items":{"type":"object","required":["value","source_url","evidence_type","retrieved_at"],"properties":{"value":{"type":"string"},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"retrieved_at":{"type":"string","format":"date-time"},"evidence_type":{"type":"string","enum":["official_site_json_ld","official_site_meta_description","official_site_brand_metadata","official_site_logo","official_site_copyright"]}}}}}}},"warnings":{"type":"array","items":{"type":"string"}},"cache_age_seconds":{"type":"integer","minimum":0},"billing":{"type":"object","required":["mode","status","amount_usdc"],"properties":{"mode":{"enum":["local","staging","production"]},"status":{"enum":["settled","not_charged"]},"amount_usdc":{"type":"number","minimum":0}}}}}}}},"400":{"description":"Invalid input; not charged"},"402":{"description":"Payment required; x402 v2 in PAYMENT-REQUIRED header"},"409":{"description":"Payment reuse with another input, or completed/failed authorization"},"410":{"description":"Stored result expired; original payment is not charged again"},"422":{"description":"Unsupported or insufficient source content; not settled"},"429":{"description":"Concurrency or rate limit; not settled"},"503":{"description":"Unavailable, budget limit, or uncertain settlement. For uncertain settlement, retry the SAME signed payment and input; never create a new payment automatically."}}}}}}