Skip to content
Wisang Jati Anggoro
← All work
Data products

emiten.dev IDX Market Data Service

Project profile

Type
Own product
Based in
Indonesia
Serves
Developers and AI agents
Markets
Indonesian stocks
Platforms
REST API and MCP server

The problem

Data on Indonesian stocks is fragmented across different sources and formats. For a program or an AI assistant that creates two problems. The same session can look different depending on where it came from, and a question about the past needs the data as it was known on that day, not as it was corrected later.

The goal was one place that holds the facts cleanly, keeps where each number came from, and answers software and Claude in the same way.

emiten.dev data pipelinePrices, filings and corporate actions from multiple data sources are fetched and checked once, with problems flagged rather than repaired, and stored in PostgreSQL with the source of every number. One read layer answers as of any date, and both the REST API and the MCP server for Claude read through it. It runs on a Linux VPS every weekday evening, with a nightly backup.

What I built

  • A Python pipeline that fetches IDX data once, stores the raw answer first, and keeps where every number came from
  • Checks that flag a suspect row instead of quietly repairing it, and a record of every stored value that later changed
  • One read layer with one set of rules (best source per session, prices as traded, answers as of any date)
  • A REST API and an MCP server that are thin shells over that read layer, so a developer and Claude get the same answer
  • Daily bars for every listed stock from 2025, financial statements for every listed company from fiscal year 2022, and broker activity for 135 stocks from June 2026
  • A Linux VPS that pulls the data every weekday evening and backs it up every night, with the restore tested
  • The website in Next.js, with docs in English and Bahasa Indonesia, accounts, API keys and sign-in for Claude

emiten.dev is live, and the data updates every weekday evening.

emiten.dev home page
The live site at emiten.dev
  • The free plan covers 100 requests a month, through the API or through Claude.
  • Claude calls the emiten.dev tools by itself. The figures in this example are made up, as the site says.

Need something similar?

Send your idea, a specification document, a brief video or an unfinished script. I'll review it and send you a quote and timeline, free and with no obligation.

Let's talk