Contract
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "The keyword or phrase to search Lemon8 for."
},
"search_tab": {
"enum": [
"main"
],
"type": "string",
"description": "Only \"main\", the main results tab, which is also what you get when this is left out. Other tabs are not offered."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The article's title."
},
"author": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The author's display name."
},
"user_unique_name": {
"type": "string",
"description": "The author's Lemon8 handle."
}
}
},
"item_id": {
"type": "string",
"description": "The article's ID."
},
"like_count": {
"type": "number"
},
"read_count": {
"type": "number",
"description": "Read count as Lemon8 reports it."
},
"share_count": {
"type": "number"
},
"publish_time": {
"type": "number",
"description": "Publish time, in Unix seconds."
},
"comment_count": {
"type": "number"
},
"short_content": {
"type": "string",
"description": "The opening of the article's text; empty when it has none."
},
"favorite_count": {
"type": "number",
"description": "Save count."
}
}
},
"description": "One entry per search result. Results that are not articles (such as accounts) come back as empty objects, and an article can appear in more than one part."
}
}
}
}
}
}
},
"description": "The search response, which arrives in parts, wrapped as `{results: [...]}`. Parts that hold no results come back as empty objects."
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.0020475 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Oct 9, 2026
