canonical: https://jentic.com/apis/import.io/import-io-data

# import.io Data API

The import.io Data API exposes the latest crawl run results from an extractor in either CSV or JSON format. With two endpoints under `/extractor/{extractorId}/{format}/latest`, agents and pipelines can fetch the most recent extraction output for downstream processing without polling the run status. Authentication uses an apikey query parameter. The API is the read-out side of the import.io platform, paired with the extraction, run, schedule, and rss surfaces.

## For AI agents

Fetch the latest crawl results from an import.io extractor as CSV or JSON. Useful for retrieving structured web-scraped data on demand.

## Scope

Does not start crawls, schedule runs, or build extractors - use for reading the latest stored crawl results only.

## Capabilities

- Fetch the latest crawl run results for an extractor as CSV
- Fetch the latest crawl run results for an extractor as JSON
- Stream extractor outputs into ETL pipelines
- Hydrate downstream data warehouses with the most recent extraction output
- Power agent retrieval flows that need the latest scraped dataset for an extractor

## Use cases

### Pipeline Hydration from Extractor Output

Schedule downstream ETL jobs to call the data API and pull the latest crawl output for each extractor as CSV. The job loads the file directly into a warehouse staging table without managing run status or extraction triggering, since the data API always returns whatever the most recent successful run produced.

Example prompt: Download the latest CSV results for extractor id ext-123 and write the file to `/tmp/latest.csv.`

### Read-Only Agent Retrieval

AI agents that need the latest scraped dataset for a known extractor can call the JSON endpoint and parse the output directly. The agent does not need run, schedule, or extraction permissions, only the data API key and the extractor id.

Example prompt: Fetch the latest JSON results for extractor ext-pricing-2026 and return the row count and column names.

### Dashboard Refresh Source

Power dashboard refreshes from import.io extractors by pulling the latest CSV output on a schedule. The dashboard loader does not need to coordinate with the run or schedule APIs; it reads from the data API and trusts the platform to keep the latest run current.

Example prompt: On every dashboard refresh, fetch the latest CSV for extractor ext-competitor-prices and replace the existing dataset.

### Jentic Agent Data Fetch

Through Jentic, an agent searches by intent and fetches the latest extractor output without learning the import.io endpoint structure. Jentic injects the apikey and returns the response body, which the agent can parse and hand back to the user or another tool.

Example prompt: Search Jentic for 'fetch latest extractor results json', load the schema, and execute with extractor id ext-news-feed.

## Key resources

- **Latest CSV Results** — Fetch the latest crawl run results for an extractor as a CSV file
- **Latest JSON Results** — Fetch the latest crawl run results for an extractor as JSON

## Why Jentic

- **Setup:** Wiring the import.io Data API by hand means passing your apikey as a query parameter against the data.import.io host and shaping each read request yourself. Through Jentic you install once, import the import.io Data API from the API Directory, store the apikey once, and your agent calls it.
- **Permission scoping:** The import.io Data API is read-only for stored crawl results and takes its inputs in the request rather than as a path resource id, so scope the agent to the read operation it needs. Because you choose the allowed operations, the agent is limited to fetching stored results.
- **Credential handling:** Your import.io apikey is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'fetch the latest extractor results', and Jentic returns the matching Data API operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **import.io Extraction API** — Adhoc extraction endpoint that fetches data live rather than reading a stored result
- **import.io Run API** — Triggers and cancels crawl runs that the data API later reads
- **Apify** — Web scraping and crawling platform with a richer actor and dataset model

## FAQ

### What authentication does the import.io Data API use?

The Data API uses an apikey query parameter on every request. Through Jentic, the apikey is stored in the encrypted vault and injected at execution time, so the raw key never enters the agent context.

### Can I fetch results in both CSV and JSON?

Yes. GET `/extractor/{extractorId}/csv/latest` returns CSV and GET `/extractor/{extractorId}/json/latest` returns JSON. Both endpoints return whatever the most recent successful crawl run for that extractor produced.

### What are the rate limits for the import.io Data API?

The OpenAPI spec does not declare hard rate limits. import.io enforces per-account quotas that depend on plan tier, so agents should not poll the latest endpoints faster than once per run cadence.

### How do I retrieve the latest extractor output through Jentic?

Search Jentic for 'fetch latest extractor results' to find the operation backed by GET `/extractor/{extractorId}/json/latest.` Load the schema, pass the extractorId, and execute. Jentic injects the apikey query parameter at runtime.

### Does this API trigger new crawls?

No. The Data API only reads the latest results. To trigger a new crawl run, use the import.io Run API (POST `/extractor/{extractorId}/start`). To schedule recurring runs, use the import.io Schedule API.

### Can I limit what my agent is allowed to do with the import.io Data API?

Yes. Because you run Jentic One yourself, you decide which import.io Data API operations your agent may call and which apikey it uses. This API is read-only, so you can grant just the two GET operations that fetch the latest extractor crawl results as CSV or JSON and nothing more. The agent cannot start crawls, schedule runs, or reach any operation you have not allowed.
