Flexible product records
Keep varying attributes across retailers without a fixed schema.
Import.io’s extractor JSON output is one object per line, so every row becomes a document with no mapping step.
import json, os, requests
from pymongo import MongoClient
lines = requests.get(os.environ["IMPORTIO_JSON_URL"]).text.splitlines()
docs = [json.loads(line) for line in lines if line.strip()]
MongoClient(os.environ["MONGODB_URI"]).web_data.listings.insert_many(docs)Any public page, rendered, through managed proxies
Rendering, proxy routing, captcha handling, extraction
Latest successful run, CSV or JSON
NDJSON rows straight into a collection.
Also connects via the REST API.
Keep varying attributes across retailers without a fixed schema.
Full-text and vector search over extracted listings.
Change streams react to each new batch of rows.
pip install requests pymongo.IMPORTIO_JSON_URL and MONGODB_URI.insert_many.Use a unique index on the URL or product ID field and upsert with bulk_write instead of insert_many.
No. The latest-run CSV, JSON and Google Sheets endpoints return data your extractor already collected, so they don’t count toward your plan. Only the Live Query API runs an extraction per request.
As fresh as your schedule. Run the extractor hourly, daily or weekly and the endpoint always serves the latest successful run.
Pass your API key as the _apikey query parameter. Copy it from account settings at app.import.io.
Yes. The trial and Standard include rate-limited API access. Professional and Advanced include full API access and webhooks.
Append each run into Postgres with pandas and SQLAlchemy.
Setup 10 minEndpointREST APIThe documented pandas and SQLAlchemy loader.
Setup 10 minEndpointREST APILoad extractor results into SQL Server or Azure SQL.
Setup 10 minEndpointREST APIFetch extractor results in Node with the built-in fetch.
Setup 5 min