Flock

Flock for business

Nine disclosure registers. One schema. A source URL on every row.

Flock is a disclosure-data supplier. We ingest Indian and US regulatory filings, normalise them into one schema, resolve who actually filed them, and hand them to your systems as JSON — over a REST API you pull, and signed webhooks we push. ₹39,999/month. There is no self-serve signup: a person sets up your key and stays reachable.

Price is on this page. No form to see it.

200 OK
GET /v1/securities/:id/disclosures

{
  "items": [
    {
      "id": "f3a9…",
      "entityId": "e1b2…",
      "securityId": "s7c4…",
      "action": "acquired",
      "qty": "250000.0000",
      "valueInr": "48340000.00",
      "valueUsd": null,
      "pctOfCompany": "5.1500",
      "pctOfCompanyPrior": "4.5900",
      "filedAt": "2026-07-25T09:14:00.000Z",
      "publishedAt": "2026-07-25T09:20:00.000Z",
      "sourceType": "reg7_insider",
      "sourceUrl": "https://nsearchives.nseindia.com/…",
      "confidence": "1.00",
      "isCorrected": false,
      "correctsId": null
    }
  ],
  "nextCursor": "eyJ0cyI6…",
  "total": null
}
Disclosure rows
204,544
Across the seven transaction registers — announcements & quarterly % counted separately below
Holding snapshots
122,173
The derived layer — computed from the registers
CompaniesIndia + US
14,025
Securities with resolved identities
Registers
9
SEBI · NSE & BSE · AMFI · SEC

Production counts as of 20 August 2026. Cadence is stated per feed below — four of nine registers publish daily or slower.

What we found wrong in our own data last month

Anyone can download the exchange files. What you cannot download is a year of finding out where those files disagree with each other. Here is a real extract from our own reconciliation log, from the pass we ran this month.

138,037 surplus rows removed from the mutual-fund portfolio table.
AMFI publishes scheme portfolios once a month. Our loader re-inserted the same monthly workbook every day under a fresh timestamp, so one June holding could appear once for every day the job ran. The rows are gone and the loader now keys on the published month.
3,540 filings repointed to the correct filer.
We re-checked filings against their own source documents and found 3,818 where the name attached to the filing was not the name in the document. We repointed 3,540 of them. The remaining 278 we left exactly as they were: the resolver could not reach full confidence, and we would rather leave a row unresolved than assign it to the wrong person.
23,819 holding snapshots that showed a rupee value against zero shares.
A value with no quantity behind it is a number that survives every unit test and breaks every report. All 23,819 were cleared. Running the same query today returns none.
38 companies existed in our data as two rows each.
Same NSE ticker, two identities, holdings split across both. Merged, with a guard in the schema so it cannot happen again.
Rupees and dollars can never be added together by accident.
US 13F values live in their own column. Of 37,844 US 13F rows, zero carry a rupee value — not because nobody filled it in, but because the schema will not let them. No total on our side blends currencies.

None of this is a claim about anyone else's engineering. It is arithmetic about the source data: a desk that fetches the same exchange files inherits the same defects, and finds them the way we did, one wrong number at a time, usually in a client-facing report.

The log is dated, queryable and ours. We will walk you through it on the call — the queries, the dates, and the 278 rows we chose not to touch.

Ask us to show you the log

What is in the data

Counts are live prod figures as of 20 August 2026, and update cadence is stated per feed. Four of these nine registers publish daily or slower, so we do not describe any of them as instant.

  • Mutual-fund scheme portfolios (AMFI)

    Monthly source

    137,373rows

    695 schemes across 3,138 securities

    History — Apr–Jul 2026 published months

    Cadence — Checked daily; AMFI publishes monthly

  • US 13F holdings

    Quarterly source

    44,278rows

    34 filers, 6,702 US securities

    History — 2017-06-30 → 2026-06-30

    Cadence — Checked daily; 13F is quarterly by nature

  • Insider trades (SEBI PIT Reg 7)

    Daily

    12,013rows

    Promoter, KMP, employee and relative dealings

    History — 2025-06-25 → 2026-08-19

    Cadence — Daily

  • Bulk deals (NSE + BSE)

    30-min

    8,007rows

    5,444 NSE, 2,563 BSE

    History — NSE from 2026-06-22, BSE from 2026-06-25

    Cadence — Every 30 minutes through the trading day, plus an end-of-day pass

  • Block deals (NSE + BSE)

    30-min

    326rows

    250 NSE, 76 BSE

    History — NSE from 2026-06-23, BSE from 2026-06-25

    Cadence — Every 30 minutes through the trading day, plus an end-of-day pass

  • SAST

    Daily

    1,453rows

    Stake crossings and pledge disclosures

    History — From 2026-04-27

    Cadence — Daily

  • Named >1% holders

    Quarterly source

    1,094rows

    From published shareholding patterns

    History — 2025-07-05 → 2026-07-23

    Cadence — Checked hourly; the data itself is quarterly

  • Corporate announcements (NSE + BSE)

    30-min

    55,176rows

    4,640 companies so far

    History — Starts 25 July 2026 — the feed shipped that day

    Cadence — Every 30 minutes, around the clock

  • Quarterly promoter / FII / DII / MF percentages

    Quarterly source

    21,674rows

    2,465 NSE + 1,881 BSE companies

    History — NSE from 2018-03-31, BSE from 2024-09-30

    Cadence — Checked hourly

    Not a v1 endpoint — ask us

Tile tint shows update cadence — green: polled every 30 minutes · white: daily · parchment: the source itself publishes monthly or quarterly. Counts as of 20 August 2026.

View full coverage table
Flock disclosure coverage by register, with row counts, history depth and update cadence, as of 20 August 2026.
RegisterWhat it isRowsHistoryUpdate cadence
Mutual-fund scheme portfolios (AMFI)695 schemes across 3,138 securities137,373Apr–Jul 2026 published monthsChecked daily; AMFI publishes monthly
US 13F holdings34 filers, 6,702 US securities44,2782017-06-30 → 2026-06-30Checked daily; 13F is quarterly by nature
Insider trades (SEBI PIT Reg 7)Promoter, KMP, employee and relative dealings12,0132025-06-25 → 2026-08-19Daily
Bulk deals (NSE + BSE)5,444 NSE, 2,563 BSE8,007NSE from 2026-06-22, BSE from 2026-06-25Every 30 minutes through the trading day, plus an end-of-day pass
Block deals (NSE + BSE)250 NSE, 76 BSE326NSE from 2026-06-23, BSE from 2026-06-25Every 30 minutes through the trading day, plus an end-of-day pass
SASTStake crossings and pledge disclosures1,453From 2026-04-27Daily
Named >1% holdersFrom published shareholding patterns1,0942025-07-05 → 2026-07-23Checked hourly; the data itself is quarterly
Corporate announcements (NSE + BSE)4,640 companies so far55,176Starts 25 July 2026 — the feed shipped that dayEvery 30 minutes, around the clock
Quarterly promoter / FII / DII / MF percentages2,465 NSE + 1,881 BSE companies21,674NSE from 2018-03-31, BSE from 2024-09-30Checked hourly; not a v1 API endpoint yet — ask us
holding snapshots derived from the filings above.
122,173
holding snapshots derived from the filings above.
resolved entities — investors, funds, US 13F filers and FIIs — with aliases collapsed onto one identity.
7,353
resolved entities — investors, funds, US 13F filers and FIIs — with aliases collapsed onto one identity.
active multi-entity disclosure overlaps: which entities disclosed positions in the same security, and when. A query primitive, not a view on anything.
1,627
active multi-entity disclosure overlaps: which entities disclosed positions in the same security, and when. A query primitive, not a view on anything.

Announcement volume, dated: on Friday 25 July 2026 we ingested 766 announcements in one day (503 BSE, 263 NSE). Announcements are a forward feed. There is no announcements archive to sell — history begins the day the feed shipped.

Two ways in

Pull what you need on your schedule. Have the rest pushed to you as it lands. Most desks use both: webhooks to know something happened, the API to get the full picture around it.

Read endpoints
12
API requests / month
100,000
Webhook event types
4
SLA commitment
99.5%

Webhook deliveries are outside the read quota. Counts as of 20 August 2026.

Pull — the read API

12 read endpoints at https://useflock.in/api/v1: entities, entity disclosures, entity holdings, securities, security disclosures, security holders, security announcements (category-filterable), and multi-entity disclosure overlap. Authorization: Bearer sk_…, scopes per endpoint, keyset pagination via nextCursor, an x-request-id on every response, and an OpenAPI 3.1 spec so your client is generated rather than written.

Rate-limit state is on every post-auth response (ratelimit-limit, ratelimit-remaining, ratelimit-reset, plus retry-after on a 429). 429s and our own 5xx responses are recorded but not billed. You should not pay for our bad day.

Every disclosure row carries

actionqtyvalueInrvalueUsdpctOfCompanyfiledAtpublishedAtsourceTypesourceUrlconfidenceisCorrectedcorrectsId

— and for insider rows insiderPersonCategory, transactionMode, instrumentType, each shipped alongside the filed string kept verbatim in a *Raw field. We normalise; we never overwrite what was filed.

Read-API responses use camelCase field names, as above. Webhook payloads use snake_case (value_inr, filed_at, source_url) — the example below is verbatim.

Push — signed webhooks

Four event types you can subscribe to today: disclosure.created, announcement.created, convergence.created, convergence.updated. Filter an endpoint by up to 200 entity or security ids, so a desk watching its client book gets only its client book.

Every delivery is a versioned envelope (api_version: "2026-07") signed with HMAC-SHA-256 in x-flock-signature: t=…,v1=…, verified over "<timestamp>.<body>" with a 300-second tolerance and a constant-time compare. The event id is the source row's own UUID, so receiver-side dedupe is one line of code. The dispatcher runs every five minutes, and deliveries do not count against your 100K monthly read quota.

What happens when something goes wrong

  • Before your first real event: your endpoint starts as pending_verification. We POST a signed nonce; you echo it back with your API key. We do not send data to a URL that has not proved it is yours.
  • If a delivery fails: exponential backoff from 30 seconds to a 6-hour cap, dead-lettered after 10 attempts.
  • If your endpoint stays down: a circuit breaker disables it after 25 consecutive failures and emails your account, rather than hammering you silently.
  • Rotating your secret: a 24-hour dual-signing window, so you deploy the new secret without a gap.
  • Hardening: HTTPS only, loopback / private-range / link-local / metadata addresses refused, redirects not followed, secrets sealed with AES-256-GCM at rest and shown to you exactly once.

disclosure.created fires only for rows at our top confidence. The read API will hand you lower-confidence rows with the score attached so you can set your own bar, but we will not push you an attribution you are about to put in front of a client. Two further event types exist in the wire contract and are not emitted, so registration rejects them rather than promise you silence.

A real delivery, verbatim

200 OK
POST https://your-app.example/flock/events

{
  "id": "a41c…",
  "type": "announcement.created",
  "api_version": "2026-07",
  "occurred_at": "2026-07-25T11:42:00.000Z",
  "data": {
    "announcement_id": "a41c…",
    "security": {
      "id": "s7c4…",
      "name": "…",
      "isin": "INE…",
      "ticker_nse": "…",
      "ticker_bse": null
    },
    "category": "board_meeting",
    "headline": "…",
    "raw_category": "Board Meeting Intimation",
    "announced_at": "2026-07-25T11:40:00.000Z",
    "source": "bse",
    "source_url": "https://www.bseindia.com/…",
    "disclaimer": "Flock surfaces publicly disclosed filings only. This is information, not investment advice."
  }
}

Who buys this, and what for

PMS, AIF and advisory desks with a client book

You need to know every filing about the companies your clients hold, on the day it is filed, and you need it in front of those clients under your own name. Register a webhook filtered to your book, take announcement.created and disclosure.created as they land, pull /securities/:id/announcements for the per-company view, and compose the client message yourself. Your client hears it from you first, and you never hire an ingestion team.

SEBI-registered RIAs and independent research desks

One normalised substrate instead of four scrapers and a spreadsheet that someone maintains on Sundays. All 12 read endpoints, confidence and sourceUrl on every disclosure row, separate rupee and dollar value fields, cursor pagination for a full historical pull. Your analysts spend the week on the analysis, not on why an exchange re-listed the same filing twice.

Fintech, broker and wealth apps

Ship a credible filings or ownership tab this quarter. /securities/:id/announcements with category filters, /securities/:id/disclosures, /securities/:id/holders, OpenAPI 3.1 for a typed client, and webhooks to invalidate your caches and drive in-app notices. One supplier to hold accountable, instead of two exchanges' HTML.

Family offices and single-family research teams

A fixed, small watch set — a few dozen companies, a few dozen investors — tracked across every register we carry. Entity- and security-filtered webhooks (up to 200 ids per endpoint), /entities/:id/disclosures, /entities/:id/holdings, and multi-entity overlap on your own named set. Nine registers arrive in one JSON shape, at a price a two-person team can sign off.

Also on the list, and worth a call. Desks that want India and the US in one integration: 13F sits in the same schema as every Indian source, 34 filers and 6,643 US securities back to 2017, quarterly by nature, with dollar and rupee values in separate nullable columns so no total ever blends the two. Compliance and surveillance teams: insiderPersonCategory (8 buckets), transactionMode (19, including pledge creation, invocation and revocation) and instrumentType (8) turn “is this an ESOP allotment or an open-market purchase” from a human reading a PDF into a field — dense on current filings, thinner on older ones, and never inferred. Newsrooms, newsletters and terminals: the headline is stored exactly as filed with its source URL, and filedAt, publishedAt, isCorrected (true means the row was superseded by a later amendment filing) and correctsId (set on the amendment, naming the row it replaces) travel with the record, so every sentence you publish has its citation in the payload.

Sending it on to your own clients

This is the clause most data vendors leave you to discover in a contract. Ours is on the marketing page, because it is the reason a client-facing firm can buy from us at all.

We push signed events to your systems. You deliver to your clients. Flock has no channel into your clients and wants none: no messaging product, no end-client delivery, nothing on our side that touches your client list — and we never see it. You compose the alert, in your template, on your channel, under your brand.

Included in the plan

  • Internal use across your team.
  • Sending derived alerts you compose to up to 250 of your own clients, on your own channel, under your own brand.
  • Webhook deliveries, which do not count against your 100K monthly read quota.

Not included

  • Reselling the raw feed, or forwarding API responses or the event stream to a third party.
  • Sublicensing to another business, platform or reseller.
  • Publishing the feed publicly as a data series, or on a broadcast channel open to non-clients.
  • Sharing keys.

Quoting individual data points in published research, with attribution, is fine.

White-label is the default. You are not required to put “Powered by Flock” on anything, and our name may not appear on your client-facing material without our written agreement. The reason is the point: if you add your own framing for your own clients under your own licence, our name must not be attached to it. That is insulation for both of us, not a concession.

What we ask instead of a footer credit: the right to name you as a customer, with your approval of the draft, after 60 days live.

Where the line sits. Flock supplies data and infrastructure: the filing, the date, the filer, the quantities, the source. We publish no view on any security. Any interpretation, opinion or client-specific framing added on top of the data is authored by you, under your own registration, and you carry the client-facing regulatory responsibility for it — including client consent, template approval with your own provider, and record-keeping. We do not review or approve your client messages, by design: reviewing them would put us in your editorial chain, which is exactly where neither of us wants us.

We ask one thing of your templates: keep the filing date and the source in the message body. Our payloads carry both.

Above 250 clients, it is a conversation rather than a published number. Bring us your client count and your expected volume and we will price it in the call.

What we do not have

Every item below will surface in your diligence anyway. Reading it here should save you a week.

  • Announcements start on 25 July 2026. The feed shipped that day. The disclosure registers go back years — announcements do not. There is no archive.
  • 13F is quarterly. Latest quarter in prod: 2026-03-31.
  • AMFI publishes monthly. We check daily; the newest published month is June 2026.
  • Insider role and mode are dense on current filings and thin on old ones. Where a filing never carried the fact, the field is NULL. We do not infer it, and roughly 774 older rows can never be filled because they sit outside the exchange's own 365-day window.
  • Announcement categorisation is deterministic, not complete. We map the exchange's own subject field with rules, so the nine mapped buckets — results, board meeting, AGM/EGM, dividend, order win, rating, KMP resignation, pledge reference — are exact and filterable. Anything we cannot map with certainty stays in other with the exchange's raw subject preserved verbatim so you can classify it yourself. As of 26 July 2026 that is 527 of 833 rows. We would rather show you an unmapped row than guess its category.
  • Promoter, FII, DII and MF percentages are not a v1 endpoint. The data exists — 9,644 rows across 1,772 NSE and 407 BSE companies — and powers our web product. If you need it over the API, ask; do not assume it ships today.
  • No PDF or attachment parsing. We give you the headline as filed and the source URL. If you need the body of the document, that is a roadmap conversation, not a feature.
  • No self-serve console yet. A human issues your key after activation, same day. The upside is that the human stays reachable; the downside is that it is not instant, and we would rather say so.
  • Test keys read live data. Our sandbox is a test-environment key, not a fixture dataset. Plan your test assertions accordingly.
  • No replay endpoint yet. Failed deliveries are dead-lettered and visible to us; a self-serve replay API is Phase 2, not shipped.
  • Quota and rate limits: 100K reads a month, metered; a burst limit per key, with the counters on every response.
  • Our SLA commitment is 99.5%. We publish no observed-uptime or delivery-latency figure, because we have no B2B traffic to measure yet and a number invented for a marketing page is worth less than this sentence. Ask us again in ninety days.

If any of the above is a blocker rather than a footnote, tell us on the call. We would rather lose a deal in July than a customer in September.

Pricing

Business

₹39,999/ month

₹3,49,999 / year — roughly two months free

  • 100,000 API requests a month across 12 read endpoints
  • Webhook push on four event types — deliveries are outside the read quota
  • API-key authentication with per-endpoint scopes
  • OpenAPI 3.1 specification
  • 99.5% SLA commitment
  • Derived-alert redistribution to up to 250 of your own clients, white-label
  • A person who issues your key and stays reachable

Business+ — larger volumes and dedicated environments. Custom, talk to us.

No countdown, no launch discount, no limited slots. The price is on the page because at ₹39,999 it should qualify us both before either of us spends an hour.

Questions we get asked

Why not scrape NSE and BSE ourselves?

You can. The exchange files are public. What takes the year is the reconciliation: one monthly mutual-fund workbook re-inserted daily until it was 138,037 rows too big; 3,818 filings naming the wrong filer, of which 3,540 could be repointed with certainty and 278 we left alone rather than guess; 23,819 holding snapshots carrying a value against zero shares; 38 companies living as two rows each. We found every one of those the hard way. A desk fetching the same files starts that list from the top. We will walk you through the actual log, with dates and queries, on the call.

Is Flock advisory? Do you generate recommendations?

No. Flock is a data and infrastructure supplier: filings, dates, filers, quantities and sources, in JSON. We publish no view on any security and make no recommendation to anyone. What you build for your clients is yours, authored under your own registration.

How quickly do we get an event?

It depends on the register, so we state it per feed rather than as one number. Corporate announcements are polled every 30 minutes around the clock. Bulk and block deals are polled every 30 minutes through the trading day, with an end-of-day pass. Shareholding patterns are checked hourly. Insider filings, SAST, AMFI portfolios and US 13F are daily jobs, because those sources publish daily or slower. Multi-entity overlap recomputes every 15 minutes and the webhook dispatcher runs every five. We do not publish a p95 delivery figure yet — see “What we do not have”.

Can we send this to our own clients?

Yes, up to 250 of them, on your own channel and under your own brand, as alerts you compose. You are not permitted to forward the raw feed or the event stream, sublicense it, or publish it as a data series. You carry the client-facing regulatory responsibility for anything you author on top of the data, and our name stays off your client material unless we agree otherwise in writing.

What happens if our endpoint goes down?

We retry with exponential backoff from 30 seconds to a 6-hour cap, dead-letter after 10 attempts, and disable the endpoint after 25 consecutive failures with an email to your account rather than hammering you in silence. Every event carries the source row's own id, so replaying by hand from the API is deterministic and safe to run twice. A self-serve replay endpoint is Phase 2 — it does not exist today.

Do you charge GST? Can we claim input tax credit?

No GST is added to the price shown. Flock is not currently GST-registered, so the invoice you receive carries no GSTIN and no tax component, which means there is no input tax credit for you to claim on it. The ₹39,999 is the whole amount that leaves your account. If we register later, we will tell existing customers before the first invoice that shows tax, and the price shown here is the pre-tax price either way. Your finance team should treat this as an unregistered-supplier invoice.

What do we get on day one?

A key, issued by a person, same day after activation; the OpenAPI spec and the endpoint reference on our developer page; and one call to register your first webhook endpoint and watch the verification handshake complete. No console to learn, and no sales engineer between you and the person who wrote the dispatcher.

Talk to us

Six fields. A person reads it — there is no sequence behind this form. If you would rather write or call, the details are underneath.

We use this to reply to you and nothing else. No newsletter, no sequence.

Or reach us directly: support@useflock.in · +91 77091 11978

See the endpoints

For business — Flock disclosure data API · Flock