Documentation
Overview
Conceptio is the document retrieval layer for AI agents: a search engine across a large live corpus of open-access documents — books, papers, standards, case law and public records. Every source is open access or public domain, every result links straight back to its origin, and every answer can carry license-aware access and agent-ready provenance.
What you get
- Search the full archive with keywords and directives
- Filter by language, source and PDF availability
- Cite & export in BibTeX, Markdown or JSON
- Connect agents via MCP or the CLI
Try it now
Head to Search and type a query — sign in free (Google or email) to unlock your first 200 searches. Signing in also syncs your reading list and unlocks Pro.
// Search in the web UI
$ open https://www.conceptio.app/searchInstall
The fastest way to use Conceptio from your own tools is the CLI. One command installs it:
pip install conceptio-search
Then save your API key (one time — get it from your profile at conceptio.app after signing in):
conceptio auth <your-api-key>
Then verify it works:
conceptio --help
conceptio quota
Requirements
- Python 3.9+
- An internet connection (results stream from the archive)
- An API key for CLI and agent use — save one with
conceptio auth(key from your profile). The browser trial needs a free sign-in (Google/email) so your 200-search allowance follows your account.
Your first search
Let's search for "zero trust" — a real standards topic you'll find in the archive.
conceptio search "zero trust"
You'll get a list of matching documents, each with:
- Source badge (STD, PAPER, BOOK, …)
- Titled result with an author
- A snippet with your query highlighted
- A direct PDF link when one is available
Click any result to open the full detail view: eleven citation formats, a reader, and export options.
Search syntax
Conceptio supports both natural keywords and a few handy directives to narrow a query.
Keywords
Type one or more words. Multiple keywords work best for relevance.
neural networks
attention is all you need
Directives
Constrain a query with source:, lang: or category:. Directives can appear anywhere in the query and are stripped from the matched keywords. Values may be quoted to include spaces.
source:jstage llm
lang:it economia
category:"law & regulation" gdpr
src:eurlex "artificial intelligence act" lang:en
source:/src:— restrict to one or more sources (repeatable)lang:/language:— restrict to a language (en, it, fr, de, es)category:/cat:— restrict to a category (e.g. "Law & Regulation", "Science & Medicine")
Tips
- Press
/to focus the search bar - Use
Escto clear the current query
Filters & languages
Beyond directives, the search bar offers one-click filters.
Language
A segmented control filters results to a single language (or all). This maps to the lang: directive.
PDF only
Toggling PDF only hides results that don't have a direct PDF link — great when you want to download and keep the source.
Sources
The source chips let you probe the archive by publication: click a source to filter results to it, or clear all filters to reset.
MCP
Conceptio is MCP-native: any AI agent that speaks the Model Context Protocol can search the archive directly. Save an API key first (conceptio auth) — the server reads the same local config.
Add the server
Put this in your tool's mcpServers config:
{ "mcpServers": { "conceptio": { "command": "conceptio", "args": ["mcp"] } } }
What agents get
conceptio_search,conceptio_resolve,conceptio_get_document,conceptio_get_citation,conceptio_download_pdfconceptio_watch_create/conceptio_watch_check/conceptio_watch_list— change detection: watch a document, identifier, or query and detect when new/changed documents are indexed- Machine-readable proof bundles on every result: sha256 content hash, publisher, authority score, license, retrieved timestamp, citations
- Optional filters (language, source, category)
Machine-readable manifest: /mcp.json (tool schemas, one-line installs, rate-limit policy). OpenAPI contract: /api/openapi.json.
No middleware. One key in ~/.conceptio/config.json, rotated from your profile any time. Wave goodbye to the "search by hand" era.
CLI reference
The CLI gives you the archive in your terminal. Requires an API key — conceptio auth once, then every command below works.
Commands
conceptio search "<query>" # keyword search
conceptio resolve "RFC 2119" # resolve an identifier to a document
conceptio download <id> # download the direct PDF
conceptio cite <id> --format bibtex
conceptio mcp # run the MCP server
Flags
--lang— filter by language--pdf— PDF only--json— JSON output for piping
conceptio search "quantum" --lang en --json | jq .HTTP API
The archive is a plain HTTP API — no SDK required. Programmatic access authenticates with X-Api-Key (key from your profile). Every endpoint is read-only except the Stripe/license flows. Base URL: https://www.conceptio.app.
Search
GET /api/search?q=zero+trust&language=en&sources=eurlex&pdf_only=1&limit=20&offset=0
q— query string (directives supported)language— en, it, fr, de, essources— comma-separated source idspdf_only— restrict to documents with a direct PDFlimit/offset— pagination
Identifier resolution
Resolve a known identifier (RFC number, DOI, arXiv ID, PubMed ID, NIST/FIPS/SP designation, EU regulation, UK statute, US statute, US regulation or legal citation, SEC accession/CIK/ticker, patent, procurement id, ISO/OGC/Khronos standard) straight to the document in the archive — or fall back to text search. Agents can hand a citation straight in and get the canonical record back, complete with ready-made citations and related documents.
GET /api/resolve?id=RFC+2119
GET /api/resolve?id=doi:10.1145/3290605.3300333
GET /api/resolve?id=2604.08499
GET /api/resolve?id=PMID+41961061
GET /api/resolve?id=PMC10601397
GET /api/resolve?id=NIST+FIPS+199
GET /api/resolve?id=w3c_digital-credentials
GET /api/resolve?id=GDPR
GET /api/resolve?id=2016%2F679
GET /api/resolve?id=Data+Protection+Act+2018
GET /api/resolve?id=410+U.S.+113
GET /api/resolve?id=18+F.4th+712
GET /api/resolve?id=20-5364
GET /api/resolve?id=ticker+TSLA
GET /api/resolve?id=US11704715B2
GET /api/resolve?id=OGC+WMS
id— the identifier:RFC 2119,doi:10.xxxx/...,2604.08499(arXiv),PMID 41961061,NIST FIPS 199,PMC10601397(PubMed Central),w3c_digital-credentials/TR/digital-credentials(W3C),GDPR/AI Act/2016/679(EU law),Data Protection Act 2018/UK GDPR(UK statute), a US legal citation like410 U.S. 113/18 F.4th 712/2021 VT 10, a US statute like5 U.S.C. 552/42 USC § 1983, or a docket like20-5364— or any free textlimit— max results (default 10, max 50)
Response includes kind (rfc, doi, arxiv, pmid, pmcid, nist, w3c, eu, uk, case for US citations/dockets, regulation for CFR parts like 40 CFR 1502, fr_document for Federal Register numbers like 2026-07364, statute for US Code sections like 5 U.S.C. 552, or null for text fallback), the canonical identifier, the matching documents, and per-result citations (BibTeX + APA) and related_documents (topically similar records).
Other endpoints
GET /api/health # document count + last sync stamp
GET /api/openapi.json # machine-readable OpenAPI spec for all endpoints
GET /api/sources # full source catalog with counts
GET /api/source_list # per-source freshness + counts
GET /api/categories # category tree
GET /api/languages # language distribution
GET /api/suggest?q=... # source suggestions while typing
GET /api/document/{id} # full document record (incl. section list)
GET /api/document/{id}/sections # section structure over extracted full text
GET /api/document/{id}/search?q=... # in-document search with section attribution
GET /api/section/search?q=...&kind=risk_factors&source=sec_edgar # cross-document section search
GET /api/section/kinds # supported section kinds (risk_factors, contracts, financials, ...)
GET /api/recent # recently indexed documents
POST /api/watch # create a change-detection watch: {target_type: doc|identifier|query, target, label?, limit?}
POST /api/watch/{id}/check # detect added/changed docs since the last snapshot
GET /api/watch # list watches (fingerprint + change history)
GET /api/watch/{id} # watch detail + event history
DELETE /api/watch/{id} # remove a watch
GET /api/cite/{id}?format=bibtex # apa, mla, chicago, ieee, harvard, ris, bluebook, oscola, iso690, ansiz39, bibtex
GET /api/deep # archive deep search with category/language filters
All responses are JSON with CORS enabled — agents can call them directly without keys.
License & access model
Every document in Conceptio carries an access level that tells an agent exactly what it can do with the result — before it tries. No guessing, no surprises.
The three access levels
- public_full_text — the full text is in the archive, inline, ready for retrieval and search_within. The source is public domain or openly licensed.
- open_access — the document is open access, but Conceptio holds metadata + an official link, not the extracted full text. The agent gets a direct link to the canonical source.
- metadata_only — Conceptio has the bibliographic record but no full text and no open link. The agent gets the citation and can seek the document elsewhere.
How it works in practice
When an agent calls /api/search or /api/resolve, each result includes access_level and the retrieval_options capability list. An agent can:
// result from /api/search
{
"id": 304793,
"title": "RFC 2119",
"source": "ietf",
"access_level": "public_full_text",
"retrieval_options": ["full_text", "sections", "search_within", "cite", "proof"],
...
}
The agent knows immediately: it can call /api/document/304793 and get the full text, sections, and a proof bundle — no probing, no 404s.
Full-text coverage vs. license entitlement
Access level describes the license — whether the source permits full-text hosting. Whether Conceptio actually holds the extracted full text is a separate dimension. The Source catalog page and the /api/sources endpoint both show full_text_count alongside access_level, so an agent can tell:
usc— access_level=public_full_text(US Code is public), butfull_text_count=0(extraction pipeline hasn't run on it yet) → metadata + official link only, for nowgoogle_patents— access_level=public_full_text,full_text_count=740→ full text is live, search_within workscrossref— access_level=open_access,full_text_count=0→ official link only, by design (we don't host publisher PDFs)
Coming
Four more levels arrive with corpus features: link_out (official link, no hosting), licensed_user (full text available only to authenticated users with a license), private_corpus (enterprise documents behind a connector), and request_access (access can be requested from the rights holder).
Rate limits
Conceptio is designed for fast, reliable access across web and machine callers. To keep the open-access archive sustainable and protect against abusive scrapers, requests are tiered and rate-limited.
Tier limits
- Pro tier (€4.99/mo) — 60 requests/min, plus a 2,000 searches/week quota (resetting every Monday at 00:00 UTC). Ideal for individual researchers, developers, and personal AI agents.
- Enterprise tier — 300 requests/min (or custom concurrency) with organization-wide uncapped search allowances and dedicated shard routing.
- Free / Public tier — 60 requests/min per account (or per IP anonymously) with a 200-search lifetime browser trial.
How rate limits & quotas work
- Request pacing — requests spaced at a steady cadence enjoy uninterrupted throughput. If bursts exceed rate thresholds, the API returns an HTTP
429with aRetry-Afterheader indicating when to resume. The official CLI and MCP server handle request pacing and retries automatically in the background. - Weekly search quota (Pro) — fresh queries (
/api/searchwithoffset=0) consume from your 2,000 weekly budget. Paginating deeper into existing results (offset > 0), fetching document records, and exporting citations never consume your weekly search count. Your balance resets every Monday at 00:00 UTC. - Sliding per-minute window — standard sliding 60-second window across all endpoints.
# Example: simple request pacing with retry support
import time, requests
for q in queries:
resp = requests.get(
f"https://www.conceptio.app/api/search?q={q}",
headers={"X-Api-Key": "ckey_live_..."}
)
if resp.status_code == 429:
retry_after = int(resp.headers.get("Retry-After", 2))
time.sleep(retry_after)
resp = requests.get(
f"https://www.conceptio.app/api/search?q={q}",
headers={"X-Api-Key": "ckey_live_..."}
)
data = resp.json()
time.sleep(1.0) # steady cadence
For agents
If you're building an automated pipeline, use the MCP server (conceptio mcp) or CLI (conceptio search) — both automatically manage authentication, backoff retries, and formatting. You can check your remaining weekly search budget at any time with conceptio quota.
Export & citations
Conceptio exports citations in eleven citation formats and results in three structured formats.
Citations (11 formats)
- BibTeX — LaTeX, Overleaf, and reference managers (Zotero, JabRef)
- APA 7 · MLA 9 · Chicago (Author-Date) — standard academic and publishing styles
- IEEE · Harvard — engineering, computer science, and social sciences
- RIS — EndNote, Mendeley, and Citavi interchange
- Bluebook · OSCOLA — US and Commonwealth legal and statutory citations
- ISO 690 · ANSI/NISO Z39.29 — international and US bibliographic standards
Results export
- BibTeX (.bib) — complete bibliography ready for LaTeX and reference libraries
- Markdown (.md) — clean, structured document notes formatted for Obsidian, Notion, and Logseq
- JSON (.json) — raw structured record payloads for scripts, pipelines, and agents
Use the Export button on the results header or copy citations directly from the document view.
Reading list
Bookmark a result to add it to your reading list. It's saved locally by default, and synced across devices when you sign in.
Save
Click the bookmark icon on any result card to toggle it in your list.
Manage
Visit the Saved view to see everything you've bookmarked, open the reader, or remove items.
Your list is private to you — never shared or sold.
Use cases
Conceptio is built for agents, developers, and researchers who need structured access to open documents. Here's how people use it.
Agent pipelines
An AI agent that needs to answer questions about regulations, standards, or case law can search Conceptio, retrieve full text with sections, cite the source with a proof bundle, and watch for changes — all without leaving the MCP context.
# Agent flow: resolve → get → cite
conceptio resolve "GDPR" # find the regulation in the archive
conceptio search "data protection" --json # structured results with proof bundles
conceptio cite 304793 --format bibtex # ready-made citation
Legal research
Search across EU regulations (EUR-Lex), UK statutes, US Code, eCFR, Federal Register, and landmark SCOTUS opinions. Use /api/resolve to jump straight to a cited statute or regulation by its citation form.
GET /api/resolve?id=2016/679 # EU GDPR
GET /api/resolve?id=42 USC 1983 # US Code section
GET /api/resolve?id=40 CFR 1502 # CFR part
Standards lookup
Find IETF RFCs, W3C specifications, NIST/FIPS publications, and standards from ECMA, OASIS, Khronos, OGC, and ISO/IEC JTC 1 — all with full text when available.
GET /api/resolve?id=RFC 2119
GET /api/resolve?id=NIST FIPS 199
GET /api/resolve?id=w3c_digital-credentials
Contract analysis
SEC material contracts (Exhibit 10.x) are indexed with clause-level section kinds — search across all contracts for specific clause types like indemnification, termination, or change-of-control.
GET /api/section/search?kind=indemnification
GET /api/section/search?kind=governing_law
Patent research
US patents from Google Patents are indexed with full text, claims, and abstracts. Search within claims across the patent corpus.
GET /api/section/search?kind=patent_claims
GET /api/resolve?id=US11704715B2
Change monitoring
Watch a document, identifier, or query and detect when new or changed documents are indexed. Pull-driven — an agent or cron calls check periodically.
POST /api/watch # {"target_type": "query", "target": "data protection", "label": "DP updates"}
POST /api/watch/1/check # diff since last snapshotFAQ
Do I need an account?
For searching, yes — a free one. Your first 200 searches are on us; sign-in (Google or email) lets the allowance follow your account instead of your browser. You can browse the catalog, open documents, and read without an account. Agents and the CLI use an API key you mint after signing in.
Is a credit card required?
No. Signing up for the free plan never asks for a card. Only optional Pro upgrades bill.
Is search really free?
Yes — with one honest caveat. The web app gives every signed-in account a one-time allowance of 200 searches (the server enforces the balance, so it follows you across devices and browsers). Searching pauses when that allowance is used up; you can still browse the archive, open and read documents, and use the tools. Signing in with Pro (€4.99/mo) or redeeming a license key removes the gate entirely.
Raw HTTP searches require a free sign-in or an API key; the CLI and MCP server always authenticate with an API key, so agents never touch the trial counter.
Do you sell my data?
Never. Conceptio collects no personal data in standard use and uses no advertising.
Where does the content come from?
Every source is open access or public domain — books, papers, standards, case law and public records.
Can my AI agent use Conceptio?
Yes — with an API key: conceptio auth once, then via MCP or the CLI. See the MCP and CLI sections.
Source catalog
Conceptio indexes hundreds of sources across papers, law, standards, books, contracts, patents and filings. Every source in the catalog is open access or public domain. Conceptio hosts full text only where the license permits; for paywalled publications it carries the citation, the access level, and a direct link to the official source — never the text itself.
Where to see the catalog
- Web — the Source catalog page lists every source with its category, document count, license, and access level.
- API —
GET /api/sourcesreturns machine-readable source records;GET /api/sources/catalog(or/api/source_list) lists catalog entries with full-text coverage counts. - Agent —
GET /api/sourcesreturns the same catalog machine-readably (the CLI has no sources command).
GET /api/sources
# source_id, name, category, license, access_level, count, full_text_count
Coverage vs. entitlement
access_level says what the license permits; full_text_count says what Conceptio actually holds. A source can be public_full_text by license but hold zero extracted rows yet (the extraction pipeline runs continuously via Harvester) — agents should check full_text_count > 0 before assuming search_within works. The reader degrades content gracefully when full text is absent.
Querying a specific source
// restrict a search to one source (repeatable)
GET /api/search?q=gdpr&source=eurlex
GET /api/search?q=zero+trust&sources=ietf,nist
// get a source catalog page (server-rendered, indexable)
GET /source/{source_id}
Per-source filtering
Each source catalog page (/source/nist, /source/eurlex, …) is a server-rendered, indexable landing that lists sample documents and scoped search — the entry point for source-specific queries like "NIST publications" or "EUR-Lex full-text search".
Legal & privacy
Conceptio indexes third-party open-access documents; it does not host copyrighted content. Full policies live on the Legal page — this section summarizes the points most relevant to agents and automated consumers.
Data minimization
Conceptio collects no personal data in standard use — search queries are not logged or profiled, and no advertising or analytics scripts are served. Accounts (used only to gate Pro/Enterprise access) store the sign-in email in our meta database — needed to bind a subscription, license, or API-key ownership to you — and nothing else about you is collected.
License keys & authentication
Signing in (Google or email) stores your sign-in email and its domain in our account database, used only to resolve tier and key ownership; we do not store your picture or further Google data. Searching consumes the free allowance or a Pro subscription; browsing the catalog needs no account. License keys must not be shared, resold, or redistributed. For machine credentials, use an API key instead — scoped, revocable, no human sign-in.
API keys (agents & CI)
For machine credentials — agents, scripts, CI pipelines — an API key is the cleaner path than a license key: it is scoped, revocable, and does not tie requests to a human sign-in.
- Format:
ckey_live_<32 hex chars>— distinct fromCONCEPTIO-license keys. - Authenticate: send it as the
X-Api-Keyheader on any API call. No Firebase token needed. - Get one: any signed-in account can create a key under Profile → API key (self-serve, one click). Free-plan keys resolve to the free tier and their searches draw from the same 200-search allowance as your browser; Pro and Enterprise keys are unlimited. Keys are also accepted by the CLI (
conceptio auth <key>auto-detects the type). - Privacy: only a SHA-256 hash of the key is stored server-side. The plaintext is shown exactly once, at creation — the response is the only copy. If you lose it, revoke and create a new one.
- Revoke: Profile → API key → Revoke, or
DELETE /api/keys/{id}. Revocation is instant — requests with a revoked key fall back to anonymous limits immediately. - Scope: keys are bound to the email that created them and cannot be used to manage anything beyond that account's own keys.
# Use an API key from any agent or script
curl -H "X-Api-Key: ckey_live_..." "https://www.conceptio.app/api/search?q=quantum+annealing"
License keys must not be shared, resold, or redistributed; the same applies to API keys — revoke rather than share.
Acceptable use for agents
- Automated consumption is welcome via the MCP server (
conceptio mcp) or the REST API. - Respect rate limits — Pro tier is 60 req/min (2,000 searches/week); Enterprise is 300 req/min; anonymous traffic is capped per IP at 60 req/min. Respect HTTP
429andRetry-After. - No scraping, API abuse, or rate-limit circumvention. Enterprise licenses are bound to the licensed organization.
Content accuracy
Conceptio does not guarantee the accuracy or completeness of third-party content. Always verify against the canonical source (each result carries a direct source_url) before relying on it for professional, legal, or medical purposes.
Rights & GDPR
You may request access to, correction of, or deletion of your data at any time. Because Conceptio holds minimal data, deletion is typically processed immediately. See the full Privacy Policy and Terms of Service.