Official Python client for MIAPI — get AI-powered answers grounded in real-time web search.
pip install miapi-sdkfrom miapi import MIAPI
client = MIAPI("YOUR_API_KEY")
# Get a grounded answer with citations
result = client.answer("What is quantum computing?", citations=True)
print(result.answer) # AI-generated answer with [1][2] markers
print(result.sources) # List of source URLs
print(result.confidence) # 0.0 - 1.0result = client.answer("Who won the last World Cup?")
print(result.answer)result = client.answer(
"What is the return policy?",
mode="knowledge",
knowledge="Returns accepted within 30 days with receipt..."
)
print(result.answer)sources = client.search("latest AI research papers")
for source in sources:
print(source.title, source.url)news = client.news("technology", num_results=5)
for article in news:
print(article.title, article.date)images = client.images("golden retriever")
for img in images:
print(img.url, img.width, img.height)for event in client.stream("Explain quantum computing"):
if event['type'] == 'answer':
print(event['content'], end='', flush=True)
elif event['type'] == 'done':
print(f"\nDone in {event.get('query_time_ms')}ms")info = client.usage()
print(f"Used {info.queries_this_month}/{info.monthly_limit} this month")
print(f"Tier: {info.tier}")result = client.answer(
"Compare Python and Rust",
response_format="markdown", # text, short, json, markdown
temperature=0.5, # 0.0 (precise) to 1.0 (creative)
max_tokens=800, # Max answer length
language="French", # Answer in any language
search_domains=["wikipedia.org"], # Restrict sources
system_prompt="Answer like a professor",
)from miapi import MIAPI, MIAPIError, RateLimitError, AuthenticationError
client = MIAPI("YOUR_API_KEY")
try:
result = client.answer("Hello")
except AuthenticationError:
print("Bad API key")
except RateLimitError as e:
print(f"Rate limited: {e.message}")
except MIAPIError as e:
print(f"Error: {e.message} (HTTP {e.status_code})")MIAPI is also compatible with the OpenAI Python client:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_MIAPI_KEY",
base_url="https://api.miapi.uk/v1"
)
response = client.chat.completions.create(
model="miapi-grounded",
messages=[{"role": "user", "content": "What is AI?"}]
)
print(response.choices[0].message.content)Sign up free at miapi.uk — 500 queries/month included.