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.1.tar.gz (9.2 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.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: miapi_sdk-1.1.1.tar.gz
  • Upload date:
  • Size: 9.2 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.1.tar.gz
Algorithm Hash digest
SHA256 b7421b79f082e07fc309ea83f2e93cfd4d0c4f8d49155bbb73746d8bb3e5b99c
MD5 76407111523c482b2742915f2757efd2
BLAKE2b-256 67c413e405ef0c68ce52b7ac8891df32788e2e19d74b496aaa4d07e88dc01a99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: miapi_sdk-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ad12d8cc3f34f63195d4a395eee5e303ffebd9080077fbc6e42ee7f79ce0d3d4
MD5 8dfad286124ded540aec8c54bcee4955
BLAKE2b-256 c03e4c7142b6cbb8771550d4641815f4bb69ec37915805cb13157a5fcbbb0bfb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 files

1.1.0

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