{
  "id": 16988895,
  "title": "Public tenders, company registers and business data via API in 5 minutes",
  "url": "https://urgent.news/2026/10/29/public-tenders-company-registers-and-business-data-via-api-in-5",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-29T01:44:47.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/4robot/public-tenders-company-registers-and-business-data-via-api-in-5-minutes-1iai"
  },
  "original_language": "en",
  "account": "Public tenders, company registers, and business data can be accessed through free sources such as the EU's tender journal, US federal contracting portal, UK company register, healthcare provider registry, Mexico's statistical business directory, and more. The challenge lies in the unique APIs, pagination limits, encodings, and field names of each source. To standardize this, the author has packaged seven sources as Apify Actors with a consistent JSON structure. This allows easy integration via curl, Python, or AI agents through MCP. Each Actor runs against official sources and is billed per result, making it cost-effective. The Actors handle the complexities, such as TED's query language, SAM.gov's CSV streaming, NPPES's silent record cap, Companies House's result and request limits, and Mexico's DENUE API. Users can fetch data using curl by providing a token, specifying search queries, countries, and other filters. Python code can also be used to schedule daily updates of new UK companies with directors. The cost per 1,000 results varies, with the UK companies being the most expensive at $2.00 for 1,000 + $1.00 for 1,000 detail requests.",
  "summary": "Most of the data that sales, procurement and research teams need already exists in official, free sources: the EU's tender journal, the US federal contracting portal, the UK company register, the US healthcare provider registry, Mexico's statistical business directory. The problem is never access. It is that every source has its own API quirks, pagination caps, encodings and field names, and…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}