canonical: https://jentic.com/apis/link.fish/link-fish

# link.fish API

The link.fish API extracts structured data from web pages by URL. It returns page metadata and tabular data, renders pages in a real browser to capture data and screenshots, and pulls out social media accounts, geo coordinates, and linked mobile apps found on a site.

## For AI agents

Extract metadata, tabular data, screenshots, social accounts, and geo coordinates from any web page by URL.

## Scope

Does not store crawled pages, schedule recurring crawls, or manage proxies. Use for extracting structured data from a web page by URL only.

## Capabilities

- Extract structured metadata and content from a web page by URL
- Render a page in a real browser to capture data past client-side scripts
- Generate a screenshot of a rendered page
- Pull social media accounts linked from a site
- Return geo coordinates and linked mobile apps found on a page

## Use cases

### Agent-driven page enrichment through Jentic

An AI agent researching a company can pull a site's metadata, social accounts, and linked apps in one pass. Through Jentic the agent discovers the extract operations by intent and loads their schemas, so it enriches a URL without hand-wiring the link.fish endpoints.

Example prompt: Search Jentic for 'extract data from a web page', pull metadata for a URL, then get the social media accounts linked on it.

### Browser rendering for script-heavy pages

Extract data from pages that build their content with client-side scripts by rendering them in a real browser first. link.fish returns the data and an optional screenshot of the rendered page, so an agent captures content a raw fetch would miss.

Example prompt: Render a script-heavy page in a browser, return its extracted data, and capture a screenshot of the result.

### Contact and location harvesting

Collect social media accounts and geo coordinates published on a page to seed a contact or location record. link.fish parses these out of the page so an agent does not have to write per-site selectors.

Example prompt: Extract the social media accounts and geo coordinates from a business page and save them to a record.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/Urls/data` | Extract data from a URL |
| GET | `/Urls/browser-data` | Extract data via browser rendering |
| GET | `/Urls/browser-screenshot` | Generate a screenshot |
| GET | `/Urls/social-media` | Get social media accounts |
| GET | `/Urls/geo-coordinates` | Get geo coordinates |

## Key resources

- **Extractions** — Structured data extracted from a page by URL
- **Renders** — Browser-rendered page data and screenshots

## Why Jentic

- **Setup:** Wiring link.fish by hand means sending Basic credentials over HTTPS and choosing between raw and browser-rendered extraction per site. Through Jentic you install once, import link.fish from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** link.fish carries the target URL in the request, so rules bound which operations your agent may call, not which sites. You choose the operations it may call, such as extracting data and social accounts, so browser rendering is not included unless you add it.
- **Credential handling:** Your link.fish credentials 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 'extract data from a web page' or 'get a screenshot', and Jentic returns the matching link.fish operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **ScraperAPI** — Proxy-backed scraping API with rendering
- **WebScraping.AI** — Rendered-page scraping with AI field extraction
- **Firecrawl** — Crawl and convert sites to clean structured data

## FAQ

### What authentication does the link.fish API use?

The link.fish API uses HTTP Basic authentication per its OpenAPI spec: your agent sends a username and password over HTTPS. Through Jentic these are stored encrypted by your own Jentic One instance and injected at request time, so your agent never handles them directly.

### Is there a link.fish API MCP server?

You don't need an MCP server to give your agent the link.fish API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it on demand without loading another server's tool definitions into its context.

### Can I render a JavaScript-heavy page with the link.fish API?

Yes. The browser-data operation renders the page in a real browser before extracting, so content built by client-side scripts is captured, and a browser-screenshot operation returns an image of the rendered page.

### What are the rate limits for the link.fish API?

The OpenAPI spec does not specify rate limits. Check the link.fish documentation at https://link.fish for current limits before running large extraction batches.

### Can I limit what my agent is allowed to do with the link.fish API?

Yes. link.fish carries the target URL in the request, so rules bound which operations your agent may call, not which sites. Allow only the extract operations it needs, such as page data and social accounts, so browser rendering is not included unless you add it.

### How do I extract data from a page with the link.fish API through Jentic?

Search Jentic for 'extract data from a web page', load the data operation, and pass the target URL. Jentic injects your credentials and returns the extracted data. To run it on your own infrastructure, install Jentic One from its GitHub repo.
