← All integrations
Import.io + Python & pandas

Import.io data in Python and pandas

Point requests at the latest-run endpoint and your extractor’s rows land in a DataFrame. Use the Import.io Data Extraction REST API when you need a specific run.

Connects via
EndpointREST API
Setup
5 min
Available on
Endpoints: every planAPI: every plan
Category
Code & API
import io, os, requests
import pandas as pd

# "CSV from latest successful run" on the extractor's Integrate tab
csv = requests.get(os.environ["IMPORTIO_CSV_URL"]).content.decode("utf-8-sig")
df = pd.read_csv(io.StringIO(csv))
print(df.head())

How it connects.

Source

The web

Any public page, rendered, through managed proxies

Engine

Import.io

Rendering, proxy routing, captcha handling, extraction

Path

Data endpoint

Latest successful run, CSV or JSON

Destination

Python & pandas

Latest-run data into a DataFrame in three lines.

Also connects via the REST API.

What teams do with it.

Notebooks on fresh data

Schedule the extractor and every notebook run starts from the latest successful crawl.

Analysis pipelines

Clean, join and aggregate web data with the rest of your Python stack.

Historical backfills

List past runs through the API and load each one to build a time series.

Set it up.

  1. pip install requests pandas.
  2. Copy “CSV from latest successful run” from the extractor’s Integrate tab into IMPORTIO_CSV_URL.
  3. Read it into pandas, or fetch a specific run’s NDJSON through the API.

Questions.

Why decode with utf-8-sig?

The CSV starts with a byte-order mark so Excel opens it correctly. utf-8-sig strips it so your first column name comes through clean.

Do endpoint downloads count as queries?

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.

How fresh is the data?

As fresh as your schedule. Run the extractor hourly, daily or weekly and the endpoint always serves the latest successful run.

How do I authenticate?

Pass your API key as the _apikey query parameter. Copy it from account settings at app.import.io.

Is the API on every plan?

Yes. The trial and Standard include rate-limited API access. Professional and Advanced include full API access and webhooks.

Build on
the live web.