Free ETF Screener API
Data, Filters & Examples免费 ETF 筛选器 API
数据、筛选条件与调用示例
Compare free-tier ETF APIs by filters, holdings, expense ratios, coverage, rate limits, and licensing—then test a documented request.
比较 ETF 数据接口的筛选字段、持仓、费率、覆盖、限额与许可,
再用文档化请求验证真实返回。
Free ETF screener API: what developers need免费 ETF 筛选器 API:开发者真正需要什么
The practical task is to submit structured filters and receive a usable ETF universe in JSON: symbols, names, exchanges, expense ratios, assets under management, holdings, prices, and update timestamps. Developers then need to verify that the endpoint—not merely a web screener—supports the same fields, operators, pagination, free limits, and license their application requires.
实际任务是提交结构化筛选条件,并获得可供程序使用的 ETF 列表与 JSON 字段,例如代码、名称、交易所、费率、资产规模、持仓、行情和更新时间。开发者还需要确认真正的接口,而不只是网页筛选器,能够提供应用所需的字段、操作符、分页、免费额度和数据许可。
An ETF screen is not a stock screen with a different security label. The decision unit is a portfolio wrapper: developers need mandate and benchmark, asset class, geography, currency exposure, replication method, leverage or inverse status, share class, expense ratio, assets, trading liquidity, NAV behavior, holdings overlap, and portfolio as-of dates. Price performance alone cannot explain what the fund owns or how closely it delivers the intended exposure.
ETF 筛选并不是把股票筛选器换一个证券标签。这里评估的是一层组合载体,需要同时理解投资目标与基准、资产类别、地区与币种敞口、复制方式、杠杆或反向属性、份额类别、费率、资产规模、交易流动性、净值表现、持仓重合度和组合日期。只看价格表现,无法说明基金持有什么,也无法判断它是否有效实现目标敞口。
Important: “Free” may mean a trial, a limited daily quota, delayed data, non-commercial use, or only selected endpoints. Verify the live plan and license before production use.
重要:“免费”可能只是试用、每日有限配额、延迟行情、非商用许可或部分端点。生产接入前必须核对当前套餐和许可。
ETF data API fields and filters to compareETF 数据接口应比较的字段与筛选条件
Expense ratio, AUM, asset class, and geography
A useful REST API to filter ETFs should expose documented operators, units, currencies, enums, sorting, and pagination for the fields that define the investable universe.
ETF holdings API and portfolio fields
Check whether holdings include ticker, name, weight, shares, sector, country, and an as-of date. Holdings coverage and refresh cadence often differ from quote coverage.
Price, volume, yield, returns, and freshness
Confirm whether data is real-time, delayed, or end-of-day; identify the timestamp and currency; and avoid comparing metrics calculated over different periods.
Authentication, rate limits, and commercial license
Record requests per minute and day, pagination cost, retry rules, permitted storage, attribution, redistribution, and whether the free tier can support a public application.
NAV, premium or discount, and tracking behavior
Preserve market price, NAV, NAV date, premium or discount, benchmark identifier, total-return period, and tracking-difference methodology. Do not compare an intraday price with a prior-day NAV as if both were synchronized observations.
Fund structure and exposure flags
Distinguish physical from synthetic replication, distributing from accumulating share classes, hedged from unhedged exposure, and ordinary from leveraged, inverse, active, commodity, or note-like products. Similar names can conceal materially different behavior.
Holdings overlap and concentration
Use stable holding identifiers, normalized weights, cash and derivative treatment, top-ten concentration, and portfolio date to calculate overlap. Summing displayed ticker weights alone can miss derivatives, duplicate share classes, and look-through exposure.
费率、资产规模、资产类别与地区
按费率和规模筛选 ETF 的 API 应明确操作符、单位、币种、枚举值、排序和分页规则。
ETF 持仓数据 API 字段
检查持仓是否包含代码、名称、权重、股数、行业、国家和数据日期。持仓更新频率往往不同于行情。
价格、成交量、收益率与时效
确认数据是实时、延迟还是日终,记录时间戳和币种,避免比较口径或周期不同的指标。
鉴权、接口频率限制与商用许可
记录分钟和每日配额、分页成本、重试规则、存储、署名、再分发限制,以及免费层是否允许公开产品使用。
净值、溢折价与跟踪表现
保存市场价格、净值、净值日期、溢折价、基准标识、总回报周期和跟踪差异算法。不能把盘中价格与前一日净值当成同步数据直接比较。
基金结构与敞口标记
区分实物与合成复制、分红与累积份额、汇率对冲与未对冲敞口,以及普通、杠杆、反向、主动、商品或票据型产品。名称相似的 ETF,风险行为可能完全不同。
持仓重合与集中度
使用稳定持仓标识、规范化权重、现金与衍生品处理、前十大集中度和组合日期计算重合度。只相加页面展示的股票代码权重,可能遗漏衍生品、重复份额类别和穿透敞口。
Start with unleveraged, non-inverse equity ETFs whose mandate covers a broad domestic market; expense ratio no higher than 0.20%; AUM at least $100 million; 30-day median dollar volume at least $2 million; median quoted spread no wider than 0.20%; at least 100 disclosed holdings; and a portfolio date no older than the accepted tolerance. Sort by expense ratio, then spread, then a stable fund ID. Return every failed rule and missing field beside each excluded fund. A low expense ratio cannot compensate for the wrong mandate, stale holdings, or an unsupported share class.
先限定为非杠杆、非反向、投资目标覆盖本土宽基市场的股票 ETF;费率不高于 0.20%;资产规模至少 1 亿美元;30 日成交额中位数至少 200 万美元;报价点差中位数不高于 0.20%;已披露持仓不少于 100 项;组合日期不能超过业务允许的陈旧范围。结果先按费率、再按点差、最后按稳定基金 ID 排序。每只被排除的基金都应返回未通过的规则与缺失字段。低费率无法弥补投资目标不符、持仓过期或份额类别不受支持。
Volume alone is incomplete. Keep spread, quoted depth, time of day, underlying-basket liquidity, creation-unit mechanics, premium or discount, and data timestamp.
Low AUM may justify review, not automatic rejection. Combine launch age, asset and flow trend, trading activity, issuer support, fund status, liquidation notices, and the date each signal became known.
还应保存点差、报价深度、时段、底层篮子流动性、申购赎回单位机制、溢折价和数据时间,不能仅凭成交量判断。
低资产规模只能触发复核,不应自动淘汰。还要结合成立时间、规模与资金流趋势、交易活跃度、发行人支持、基金状态、清盘公告及各信号首次可知日期。
Free ETF API sources to evaluate可评估的免费 ETF 数据 API 来源
These current pages document ETF search or screening capabilities. The table is a verification shortlist, not an endorsement; plans, fields, and terms can change. Test every candidate with the same small universe: one broad index ETF, one bond ETF, one international fund, one leveraged or inverse product, one accumulating or hedged share class, and one recently launched fund. Compare identifier mapping, expense-ratio units, holdings dates, NAV fields, asset currency, pagination, and exclusion reasons.
这些当前页面公开了 ETF 搜索或筛选能力。下表只是验证清单,不代表背书;套餐、字段与条款可能变化。评估时可固定一组小样本:宽基 ETF、债券 ETF、国际基金、杠杆或反向产品、累积或对冲份额,以及刚成立的基金,逐项比较标识映射、费率单位、持仓日期、净值字段、资产币种、分页和排除原因。
| Source来源 | Useful signal可用信号 | Verify before use使用前核对 |
|---|---|---|
| InsightSentry | Documents an ETF screener endpoint with exchanges, countries, fields, sorting, and pagination.文档公开 ETF 筛选端点、交易所、国家、字段、排序和分页。 | Current free quota, ETF-specific fields, delay, and commercial terms.当前免费配额、ETF 专属字段、延迟和商用条款。 |
| API Ninjas | Documents ETF detail, list, and search filters for holdings, AUM, expense ratio, and country.文档列出 ETF 详情、列表,以及持仓、规模、费率和国家筛选。 | Which endpoints remain free, delayed pricing, page caps, and license.哪些端点仍属免费、行情延迟、分页上限和许可。 |
| Data Captain | Advertises a no-card free tier with ETF lists and batch prices plus paid screener features.页面展示无需信用卡的免费层,含 ETF 列表和批量价格,筛选功能按套餐区分。 | Exact free endpoints, daily quota, coverage, history, and production rights.免费端点、每日配额、覆盖、历史数据和生产使用权。 |
| FactSet Funds API | Provides a criteria-based fund and ETF screener with reference data and holdings.提供基金与 ETF 条件筛选、基础数据和持仓能力。 | Entitlement and pricing; do not assume this enterprise API is free.授权和价格;不能把企业级 API 假定为免费。 |
ETF screener API Python example and checksETF API Python 调用示例与验证步骤
1. Discover supported ETF fields
Call the provider’s metadata or options endpoint first. Use only documented field IDs and enum values instead of guessing parameter names.
2. Send a narrow screener request
A typical Python call is requests.post(url, json={"fields":["close","volume"],"exchanges":["NYSE","NASDAQ"],"sortBy":"volume"}, headers={"Authorization":f"Bearer {api_key}"}, timeout=20). Adapt the body to the selected provider’s documentation.
3. Validate schema, units, and timestamps
Use raise_for_status(), then check ticker uniqueness, numeric types, currencies, expense-ratio units, holdings dates, pagination, and delayed-data markers.
4. Design for quotas and licensing
Cache stable metadata, back off on 429 responses, log retrieval time and provider, and keep commercial-use and redistribution terms with the integration.
5. Normalize share classes and identifiers
Keep exchange ticker, listing currency, fund or share-class identifier, domicile, and benchmark ID separate. Decide whether multiple listings or currency-hedged classes belong in the same comparison set, and never merge solely by fund name.
6. Reconcile holdings before computing overlap
Check that weights share the same portfolio date and sum within an explained tolerance. Map securities by stable IDs, preserve cash and derivatives, and label direct versus look-through exposure before calculating concentration or similarity.
7. Validate the final shortlist against the mandate
For each result, show which rules passed, which data dates were used, and whether any required field was missing. Read the issuer’s current fund documents to confirm objective, benchmark, leverage, distributions, and material structural risks.
1. 先查询支持的 ETF 字段
优先调用元数据或选项端点,只使用文档给出的字段 ID 和枚举值,不猜参数名。
2. 发送范围明确的筛选请求
可用 requests.post() 提交 fields、exchanges、filters 和 sort;请求体必须按所选供应商文档调整。
3. 验证结构、单位与时间戳
检查证券代码唯一性、数值类型、币种、费率单位、持仓日期、分页和延迟标记。HTTP 200 不等于数据可用。
4. 为配额与许可设计
缓存稳定元数据,对 429 做退避,记录抓取时间与供应商,并把商用和再分发条款保留在集成文档中。
5. 规范份额类别与标识符
分别保存交易所代码、上市币种、基金或份额类别标识、注册地和基准 ID。应明确多地上市或汇率对冲份额是否属于同一比较组,不能只凭基金名称合并。
6. 计算重合度前先核对持仓
确认权重对应同一组合日期,并在可解释误差范围内合计一致;用稳定 ID 映射证券,保留现金与衍生品,并区分直接敞口和穿透敞口后再计算集中度或相似度。
7. 按投资目标复核最终名单
为每个结果展示通过的条件、所用数据日期和缺失字段,再阅读发行人最新基金文件,确认投资目标、基准、杠杆、分派方式和重要结构风险。
How QVeris helps connect ETF data capabilitiesQVeris 如何连接 ETF 数据能力
QVeris does not create ETF market data, grant data licenses, recommend funds, or guarantee a provider. It helps developers and agents discover available capabilities, inspect interfaces, and connect a selected external tool through a consistent workflow.
QVeris 不生产 ETF 行情、不授予数据许可、不推荐基金,也不保证供应商。它帮助开发者与 Agent 发现能力、检查接口,并通过一致流程连接选定的外部工具。
- Open the QVeris provider details for ETF reference, holdings, NAV, quote, and benchmark capabilities.
- Inspect inputs, outputs, authentication, provider documentation, supported identifiers, portfolio dates, units, and entitlement notes before connecting.
- Pass asset class, geography, structure exclusions, expense and size limits, liquidity rule, holdings date tolerance, and desired evidence as explicit requirements.
- Keep provider, effective date, retrieval time, raw identifiers, and license notes with each result; QVeris connectivity is not investment advice.
- 使用 QVeris 服务商详情搜索 ETF 基础资料、持仓、净值、行情和基准能力。
- 连接前检查输入、输出、鉴权、供应商文档、支持标识、组合日期、单位和授权说明。
- 明确传入资产类别、地区、结构排除项、费率与规模上限、流动性规则、持仓日期容忍度和证据要求。
- 为每条结果保留供应商、生效日期、抓取时间、原始标识和许可说明;QVeris 的连接能力不构成投资建议。
Free ETF screener API FAQ免费 ETF 筛选器 API 常见问题
Is there a free API for ETF data?
Yes. Some providers offer free tiers for ETF lists, delayed prices, details, or screening. Coverage, quota, fields, and commercial rights vary.
How do I screen ETFs with an API?
Discover supported fields, send documented filters such as expense ratio, AUM, holdings, country, or exchange, then validate pagination, units, and timestamps.
Which ETF API includes holdings and expense ratios?
API Ninjas documents both fields, while other providers split screening, details, and holdings across endpoints. Verify current plan access before choosing.
Can I use a free ETF API commercially?
Only if the current license permits it. A free key does not automatically grant storage, redistribution, display, or production rights.
Does QVeris provide ETF market data?
No. QVeris helps discover and connect external capabilities; the selected provider remains responsible for data coverage, quality, and licensing.
What is the difference between ETF liquidity and trading volume?
Exchange volume and spread describe secondary-market trading, while creation and redemption capacity also depends on the underlying basket and authorized participants. Use volume, spread, assets, depth, and underlying exposure together.
How do I compare ETF holdings overlap?
Align portfolio dates, map holdings with stable identifiers, normalize weights, and decide how to treat cash, derivatives, and look-through positions. Name or ticker matching alone can overstate or understate similarity.
Why can ETF price and NAV differ?
They may have different timestamps, and market supply, demand, spreads, closed underlying markets, or stressed conditions can create a premium or discount. Store both observations and their effective times.
有免费的 ETF 数据 API 吗?
有。部分供应商为 ETF 列表、延迟行情、详情或筛选提供免费层,但覆盖、配额、字段和商用权不同。
如何用 API 筛选 ETF?
先获取支持字段,再按文档提交费率、规模、持仓、国家或交易所条件,最后验证分页、单位和时间戳。
哪个 ETF API 提供持仓和费率?
API Ninjas 文档公开这两类字段;其他供应商可能把筛选、详情和持仓拆为不同端点。选择前核对套餐。
免费 ETF API 可以商用吗?
只有当前许可明确允许才可以。免费 API Key 不自动包含存储、再分发、展示或生产使用权。
QVeris 提供 ETF 行情数据吗?
不提供。QVeris 帮助发现和连接外部能力,数据覆盖、质量和许可仍由所选供应商负责。
ETF 流动性与成交量有什么区别?
成交量和点差描述二级市场交易,申购赎回能力还取决于底层篮子与授权参与商。评估时应同时参考成交量、点差、资产规模、盘口深度和底层敞口。
怎样比较 ETF 持仓重合度?
先对齐组合日期,用稳定标识映射持仓并规范权重,再明确现金、衍生品和穿透持仓的处理方式。只按名称或代码匹配可能高估或低估相似度。
为什么 ETF 价格与净值会不同?
两者时间点可能不同,市场供需、点差、底层市场休市或压力环境也会造成溢折价。应同时保存两个观测值及其有效时间。
