← All integrations
Import.io + SQL Server

Web data in SQL Server and Azure SQL

Read the Import.io extractor’s latest run and write it to SQL Server or Azure SQL with SQLAlchemy and pyodbc.

Connects via
EndpointREST API
Setup
10 min
Available on
Endpoints: every planAPI: every plan
Python
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))
from sqlalchemy import create_engine

engine = create_engine(os.environ["DATABASE_URL"],  # mssql+pyodbc://user:pass@server/db?driver=ODBC+Driver+18+for+SQL+Server
                       fast_executemany=True)
df.to_sql("competitor_prices", engine, if_exists="append", index=False)

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

SQL Server

Load extractor results into SQL Server or Azure SQL.

Also connects via the REST API.

What teams do with it.

Web data for the Microsoft stack

Tables that Power BI, Excel and SSRS already read.

Staging for ETL

Land raw rows, then transform with stored procedures or SSIS.

Azure-native pipelines

Run the loader in Azure Functions on the extractor’s webhook.

Set it up.

  1. pip install requests pandas sqlalchemy pyodbc, and install the Microsoft ODBC driver.
  2. Set IMPORTIO_CSV_URL and an mssql+pyodbc:// connection string.
  3. Write with to_sql.

Questions.

Can Import.io deliver into Azure instead?

Yes. Managed Services deliver into Azure Blob Storage, where Azure Data Factory or SQL can load it.

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.

Fresh web data
in SQL Server.