Developer API
Curated Knowledge, Programmable
Access MenFem's editorial content, product reviews, company intelligence, and marketplace data through a simple REST API.
For AI Agents
Model Context Protocol
MenFem runs an MCP server, so Claude Desktop, Cursor, and any MCP client can read our research natively — no glue code. Anonymous callers get the public tools below; a key with the mcp:connect scope unlocks the full surface. Agents discovering the site programmatically should start at /llms.txt.
Endpoint
https://menfem.com/api/mcp/menfemJSON-RPC 2.0 over HTTP POST. Send a GET to the same URL for a live manifest of the tools your key can see.
curl https://menfem.com/api/mcp/menfem
curl -X POST https://menfem.com/api/mcp/menfem \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": { "name": "findArticles",
"arguments": { "query": "nvidia", "limit": 3 } }
}'{
"mcpServers": {
"menfem": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://menfem.com/api/mcp/menfem",
"--header", "Authorization: Bearer pk_live_your_key_here"
]
}
}
}Public tools (no auth)
- findArticles — search published articles
- findCompanies — search the company database
- getRecentMarketCalls — latest directional calls
- getInsightManifesto — the 16-pillar worldview
- getTokenPrices — the Token Price Index, latest per-model rates (fully open)
- getPriceSpreads — TPI open/closed spreads by tier and workload profile (fully open)
- getPriceHistory — TPI price observations over time for one model (fully open)
- searchKb — search Knowledge Base concepts and entities (fully open)
With a key (mcp:connect + scopes)
- searchSemantic — vector search across the corpus
- getCompanyDossier — full profile + linked articles & calls
- getTrackRecord · listReceipts — scored, resolved calls
- getMarketCallBySlug — a single thesis + resolution
- findJobs · listExchangeListings · listMarketReports
- getKbConcept — knowledge-base concept pages
MCP access is included with Pro, or request a partner key at /developers/keys.
Getting Started
Base URL
https://menfem.com/api/v1Authentication
All requests require a Bearer token in the Authorization header.
Authorization: Bearer pk_live_your_key_hereContact [email protected] to request API access.
Rate Limits
| Tier | Limit | Price |
|---|---|---|
| Free | 100 requests/hour | Free |
| Standard | 1,000 requests/hour | Contact us |
| Premium | 10,000 requests/hour | Contact us |
Response Format
List Response
{
"data": [...],
"meta": {
"page": 1,
"limit": 10,
"total": 142,
"totalPages": 15,
"hasNext": true,
"hasPrev": false
}
}Error Response
{
"error": {
"code": "NOT_FOUND",
"message": "Article not found: xyz"
}
}Quick Start
curl -H "Authorization: Bearer pk_live_your_key_here" \ "https://menfem.com/api/v1/articles?limit=5"
const response = await fetch('https://menfem.com/api/v1/articles?limit=5', {
headers: { 'Authorization': 'Bearer pk_live_your_key_here' }
});
const { data, meta } = await response.json();
console.log(`${meta.total} articles found`);import requests
response = requests.get(
'https://menfem.com/api/v1/articles',
headers={'Authorization': 'Bearer pk_live_your_key_here'},
params={'limit': 5}
)
data = response.json()
print(f"{data['meta']['total']} articles found")Tables — Restaurant Reservations
Browse restaurants, available reservations, and demand signals from the P2P reservation marketplace. Write endpoints (POST) require Standard or Premium tier.
curl -H "Authorization: Bearer pk_live_..." \ "https://menfem.com/api/v1/tables/restaurants?city=London&cuisine=JAPANESE"
curl -H "Authorization: Bearer pk_live_..." \ "https://menfem.com/api/v1/tables/listings?city=London&sort=soonest&verified=true"
Read Endpoints (All tiers)
- GET /tables/restaurants
- GET /tables/restaurants/:slug
- GET /tables/listings
- GET /tables/listings/:id
- GET /tables/requests
- GET /tables/stats
- GET /tables/search
Write Endpoints (Restricted)
- POST /tables/listings (Premium)
- POST /tables/requests (Standard+)
Confirmation codes are never exposed via the API — only revealed to authenticated buyers on the web after purchase.