# Finviz — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Monitor insider trading activity, screen stocks based on custom criteria, and analyze market sentiment from financial news to make informed investment decisions. Access real-time data on market movers, tabular financial information, and comprehensive market intelligence all in one place.

**Category:** Finance & Markets | **Website:** [finviz.com/](https://finviz.com/) | **Docs:** [parse.bot/marketplace/09c62661-67ab-42f3-bdbe-e4f90fbd888d/finviz-com-api](https://parse.bot/marketplace/09c62661-67ab-42f3-bdbe-e4f90fbd888d/finviz-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-finviz-com-api-09c62661/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_insider_trading

Retrieve recent insider trading transactions from Finviz. Returns the latest insider buys and sells with transaction details including owner, relationship, cost, shares, and total value. Optionally filter by minimum transaction value to surface only significant activity. Single-page result set.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `min_value` | integer | No | Minimum transaction value in USD. Transactions with Value ($) below this threshold are excluded from results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-finviz-com-api-09c62661/get_insider_trading \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"min_value":"<integer>"}'
```

### get_market_movers

Retrieve market mover lists from Finviz: top gainers, top losers, most active by volume, or unusual volume stocks. Returns the first page (up to 20 stocks) with fundamental columns including company, sector, market cap, P/E, price, change, and volume.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `mover_type` | string | No | Type of market mover list to retrieve. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-finviz-com-api-09c62661/get_market_movers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mover_type":"<string>"}'
```

### get_screener_results

Run the Finviz stock screener with custom filter criteria. Returns the first page of matching stocks (up to 20) with fundamental and technical summary data. Filter codes follow the Finviz URL filter format and can be combined with commas.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `filters` | string | No | Comma-separated Finviz filter codes (e.g. 'fa_peg_u1' for PEG under 1, 'ta_sma200_pc5' for price within 5% of SMA200). Codes follow the Finviz URL parameter format visible in screener URLs. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-finviz-com-api-09c62661/get_screener_results \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filters":"<string>"}'
```

### get_stock_news_sentiment

Retrieve recent news headlines for a stock ticker with keyword-based sentiment classification. Each headline is tagged Positive, Negative, or Neutral based on presence of bullish/bearish keywords. Returns all news items visible on the Finviz quote page for the ticker.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | Stock ticker symbol (e.g. AAPL, TSLA, MSFT). Case-insensitive. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-finviz-com-api-09c62661/get_stock_news_sentiment \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ticker":"<string>"}'
```

### get_tabular_data

Extract all tabular data from a specific Finviz page. Returns an array of tables found on the page, each with its index, headers, and row data.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | No | URL of the Finviz page to extract tables from. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-finviz-com-api-09c62661/get_tabular_data \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_ticker_sectors_with_performance

Batch-resolve Finviz sector classifications for up to 100 tickers and join each to the current 1-day sector performance. Uses a single batch screener request (paginated if needed) and one sector-groups request. Falls back to individual quote pages only for tickers missing from the batch screener. Class-share symbols (e.g. BRK.B, PBR.A) are normalized to Finviz format automatically. Returns items in input order with resolved/unresolved status.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `tickers` | string | Yes | Comma-separated list of US-listed ticker symbols (1-100). Class-share symbols use dot notation (e.g. BRK.B, PBR.A). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-finviz-com-api-09c62661/get_ticker_sectors_with_performance \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tickers":"<string>"}'
```
