Skip to main content

synoppy (Python)

PyPI Python

Give your AI agents the whole web. Synoppy is the web-data layer for AI agents — one key to read, crawl, map, extract, classify & enrich any site, plus screenshots and image scraping. Clean, structured, LLM-ready data, with no scraping stack to run.

Get a free key → · Docs · synoppy.com

pip install synoppy

Quickstart

import os
from synoppy import Synoppy

client = Synoppy(api_key=os.environ["SYNOPPY_API_KEY"])

# Read any URL → clean markdown (force JS rendering + settle delay)
page = client.read(
    "https://stripe.com/blog",
    formats=["markdown"],
    render="auto",
    wait_ms=500,
)
print(page["markdown"])
print(page["metadata"]["rendered"], page["metadata"]["bytesIn"])

# Screenshot a URL → PNG data URL
shot = client.screenshot("https://stripe.com", full_page=True)
print(shot["screenshot"][:40], shot["statusCode"])

# Crawl a site
site = client.crawl("https://example.com", limit=25)
print(site["count"], "of", site["discovered"], "pages")

# AI structured extraction (prompt, a.k.a. instruction)
result = client.extract("https://news.ycombinator.com", prompt="Return { title, summary, topics }")
print(result["data"], result["usage"])

# Brand intelligence — from a url, a domain, or a work email
brand = client.enrich(domain="linear.app")
print(brand["colors"], brand["fonts"], brand["socials"])

Credits

Every successful response includes creditsUsed (number) and creditsRemaining (number or None) so you can track metered usage:

page = client.read("https://stripe.com")
print("used", page["creditsUsed"], "remaining", page["creditsRemaining"])

Methods

Method Endpoint Notes
read(url, formats=, only_main_content=, timeout_ms=, render=, wait_ms=) / scrape(...) POST /api/scrape render is True/False/"auto"
screenshot(url, full_page=, wait_ms=, timeout_ms=) POST /api/screenshot returns a PNG data URL; can 503 RENDER_UNAVAILABLE
crawl(url, limit=) POST /api/crawl limit 1–25 · requires a key
map(url) / sitemap(url) POST /api/map
search(query, max_results=, markdown=, include_domains=, exclude_domains=, fanout=) POST /api/search ranked live-web results · requires a key
extract(url, prompt=, instruction=, schema=) POST /api/extract instruction aliases prompt; schema (a JSON Schema dict) constrains output to that exact shape · AI · requires a key
classify(url, labels=) POST /api/classify NAICS/SIC by default, or your own labels · AI · requires a key
enrich(url=, domain=, email=) / brand(...) POST /api/brand pass one of url / domain / work email
images(url) POST /api/images

Every response also carries creditsUsed and creditsRemaining.

act() is coming soon — /api/act is not live yet, and calling this method raises NotImplementedError.

Errors

from synoppy import SynoppyError

try:
    client.crawl("https://example.com")
except SynoppyError as err:
    print(err.code, err.status, err)

MIT licensed.

Metadata

Release files for synoppy 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for synoppy 1.1.1
File Size Uploaded
synoppy-1.1.1.tar.gz 5.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for synoppy 1.1.1
File Interpreter ABI Platform
synoppy-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.6 kB

Release files / synoppy-1.1.1.tar.gz

Download URL synoppy-1.1.1.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8238511d22707ecb8d1b42c284554a7f89722c4c275d23f71e12434faaf5f968
BLAKE2b-256 checksum
How to use checksums
82e1161930806cdc3e5a2f616aa628d0efbff029c71ee0dcd240a5fa69c02fdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.8

Release files / synoppy-1.1.1-py3-none-any.whl

Download URL synoppy-1.1.1-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
77e65b12ad0a06a29f82065bf67ec5999242c06a7bca5f2e0acd3a1e4492598f
BLAKE2b-256 checksum
How to use checksums
4231665a1e5ed825444b1dc0b00dda60455ab83bfd61da44d3c5e85ec7c74236
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.8

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.0

2 release 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