Skip to main content

MIAPI — Grounded AI Answers API

Official Python client for MIAPI — get AI-powered answers grounded in real-time web search.

Install

pip install miapi-sdk

Quick Start

from 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.0

Features

Web-Grounded Answers

result = client.answer("Who won the last World Cup?")
print(result.answer)

Knowledge Mode — Answer From Your Data

result = client.answer(
    "What is the return policy?",
    mode="knowledge",
    knowledge="Returns accepted within 30 days with receipt..."
)
print(result.answer)

Search Only — Raw Results

sources = client.search("latest AI research papers")
for source in sources:
    print(source.title, source.url)

News Search

news = client.news("technology", num_results=5)
for article in news:
    print(article.title, article.date)

Image Search

images = client.images("golden retriever")
for img in images:
    print(img.url, img.width, img.height)

Streaming

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")

Check Usage

info = client.usage()
print(f"Used {info.queries_this_month}/{info.monthly_limit} this month")
print(f"Tier: {info.tier}")

Custom Options

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",
)

Error Handling

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})")

OpenAI Drop-in Replacement

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)

Get Your API Key

Sign up free at miapi.uk — 500 queries/month included.

Links

Use from Claude Desktop, Cursor or Windsurf (MCP)

MIAPI ships an MCP server, so an AI assistant can search the web and get answers with real citations without you writing any code.

pip install "miapi-sdk[mcp]"

Then add it to your assistant's MCP config:

{
  "mcpServers": {
    "miapi": {
      "command": "miapi-mcp",
      "env": { "MIAPI_API_KEY": "your_key_here" }
    }
  }
}

Tools it provides: web_answer, web_search, news_search, image_search, check_usage.

Get a key at https://miapi.uk — free tier included.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

miapi_sdk-1.1.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

miapi_sdk-1.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file miapi_sdk-1.1.0.tar.gz.

File metadata

  • Download URL: miapi_sdk-1.1.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for miapi_sdk-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d4c66e8f37d10fb2c74c77927f017cb2a6b67185082d84577a16f20dc5f23101
MD5 a69297e03d8a7aacc0fc0e0ab348ad98
BLAKE2b-256 8ce7d378bbe7e8141179ada90581ac360e7cb79b6bbd0b6442cc1c33ced0cc7f

See more details on using hashes here.

File details

Details for the file miapi_sdk-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: miapi_sdk-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for miapi_sdk-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dac11666a53ebb06a9c8e23af5670d9102a6b837e60a76c2ec65d30873b95960
MD5 f01ac52ba1779c291b7226041508bf6a
BLAKE2b-256 9a49a57c165f566cb3265ba5f8430ce02a9cf1661b911c3ec4089a40b48e7ff0

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.1

2 files

This release

1.1.0 This release

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page