<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: carrierone</title>
    <description>The latest articles on Forem by carrierone (@carrierone).</description>
    <link>https://forem.com/carrierone</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3829793%2F9f34d373-d134-4f70-b9ab-d18edc673645.jpeg</url>
      <title>Forem: carrierone</title>
      <link>https://forem.com/carrierone</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/carrierone"/>
    <language>en</language>
    <item>
      <title>Polymarket Data API: Smart Money Tracking and Cross-Market Arbitrage</title>
      <dc:creator>carrierone</dc:creator>
      <pubDate>Tue, 07 Apr 2026 19:01:24 +0000</pubDate>
      <link>https://forem.com/carrierone/polymarket-data-api-smart-money-tracking-and-cross-market-arbitrage-33hc</link>
      <guid>https://forem.com/carrierone/polymarket-data-api-smart-money-tracking-and-cross-market-arbitrage-33hc</guid>
      <description>&lt;h2&gt;
  
  
  Polymarket Data API: Smart Money Tracking and Cross-Market Arbitrage
&lt;/h2&gt;

&lt;p&gt;If you're a prediction market trader looking to integrate data from Polymarket into your applications for smart money tracking or cross-market arbitrage, you'll need access to the Polymarket Data API. This article will show you how to interact with the &lt;code&gt;api.verilexdata.com/api/v1/pm/stats&lt;/code&gt; endpoint using Python.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tracking Smart Money Signals
&lt;/h3&gt;

&lt;p&gt;To get a sense of market sentiment and potential trading signals, let's start by fetching some data from Polymarkets. Here’s a simple example in Python that retrieves statistics for all active markets:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;fetch_polymarket_data&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;https://api.verilexdata.com/api/v1/pm/stats&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;Exception&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Failed to fetch data from Polymarkets. Status code: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;fetch_polymarket_data&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This script sends a GET request to the &lt;code&gt;api.verilexdata.com/api/v1/pm/stats&lt;/code&gt; endpoint, which should return JSON containing various statistics about active prediction markets on Polymarket.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cross-Market Arbitrage
&lt;/h3&gt;

&lt;p&gt;Polymarkets often offer similar bets across different exchanges. By leveraging this API&lt;/p&gt;

</description>
    </item>
    <item>
      <title>USPTO Patent and Trademark Data via REST API</title>
      <dc:creator>carrierone</dc:creator>
      <pubDate>Fri, 03 Apr 2026 19:01:13 +0000</pubDate>
      <link>https://forem.com/carrierone/uspto-patent-and-trademark-data-via-rest-api-12he</link>
      <guid>https://forem.com/carrierone/uspto-patent-and-trademark-data-via-rest-api-12he</guid>
      <description>&lt;h2&gt;
  
  
  USPTO Patent and Trademark Data via REST API
&lt;/h2&gt;

&lt;p&gt;As developers building patent search tools, IP analytics, and prior art searches, having access to accurate and up-to-date patent data is crucial. The United States Patent and Trademark Office (USPTO) provides a wealth of information through its RESTful API, which can be accessed via &lt;code&gt;api.verilexdata.com/api/v1/patents/sample&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Problem
&lt;/h3&gt;

&lt;p&gt;One common challenge when building these tools is ensuring the data freshness and accuracy. The USPTO grants over 1.6 million patents annually, but keeping track of all changes manually is impractical. Moreover, different inventors, assignees, and technologies require specific filtering to meet unique project requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Python Code Example
&lt;/h3&gt;

&lt;p&gt;Here's a simple Python script using &lt;code&gt;requests&lt;/code&gt; library to fetch patent data from the USPTO API:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
python
import requests

def get_patent_data(keyword):
    url = "https://api.verilexdata.com/api/v1/patents/sample"

    params = {
        'keyword': keyword,
        'fields': 'patentNumber,title,assignee'
    }

    response = requests.get(url, params=params)
    if response.status_code == 200:
        return response.json()
    else:
        raise Exception(f"Request failed with status: {response.status_code}")

#
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Querying Federal Court Records (PACER) Programmatically</title>
      <dc:creator>carrierone</dc:creator>
      <pubDate>Tue, 31 Mar 2026 19:01:20 +0000</pubDate>
      <link>https://forem.com/carrierone/querying-federal-court-records-pacer-programmatically-2l4k</link>
      <guid>https://forem.com/carrierone/querying-federal-court-records-pacer-programmatically-2l4k</guid>
      <description>&lt;h2&gt;
  
  
  Querying Federal Court Records (PACER) Programmatically for LegalTech Developers
&lt;/h2&gt;

&lt;p&gt;As a legaltech developer working on e-discovery projects or case monitoring systems, having access to federal court records is crucial. The Public Access to Court Electronic Records (PACER) API provides the necessary data programmatically. Below is an example of how you can fetch PACER data using Python.&lt;/p&gt;

&lt;h3&gt;
  
  
  Small Python Code Example
&lt;/h3&gt;

&lt;p&gt;First, you need to install the &lt;code&gt;requests&lt;/code&gt; library if you don't have it already:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;requests
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here's a simple script that demonstrates fetching case information from PACER:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_case_info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;case_number&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.pacerpc.gov/v1/cases/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;case_number&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

    &lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;X-API-Key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_PACER_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Replace with your actual API key.
&lt;/span&gt;    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;Exception&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Failed to fetch case info: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Example usage
&lt;/span&gt;&lt;span class="n"&gt;case_number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;15-cv-03647&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_case_info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;case_number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Mention
&lt;/h3&gt;

</description>
    </item>
    <item>
      <title>OFAC Sanctions Screening for Developers: How to Check Addresses and Names</title>
      <dc:creator>carrierone</dc:creator>
      <pubDate>Fri, 27 Mar 2026 19:01:21 +0000</pubDate>
      <link>https://forem.com/carrierone/ofac-sanctions-screening-for-developers-how-to-check-addresses-and-names-5hdb</link>
      <guid>https://forem.com/carrierone/ofac-sanctions-screening-for-developers-how-to-check-addresses-and-names-5hdb</guid>
      <description>&lt;h2&gt;
  
  
  OFAC Sanctions Screening for Developers: How to Check Addresses and Names
&lt;/h2&gt;

&lt;p&gt;When building applications that involve KYC/AML compliance, one critical aspect is screening against the Office of Foreign Assets Control (OFAC) Specially Designated National (SDN) list. This list includes entities designated by OFAC as being involved in activities that are contrary to U.S. foreign policy or national security interests.&lt;/p&gt;

&lt;p&gt;To integrate SDN checks into your application efficiently and securely, you can use an API endpoint like &lt;code&gt;api.verilexdata.com/api/v1/sanctions/stats&lt;/code&gt;. For example, you might want to check if a wallet address is on the OFAC list before allowing financial transactions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example Python Code for OFAC Sanction Screening
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
python
import requests

def check_address_on_sanctions(address):
    url = "https://api.verilexdata.com/api/v1/sanctions/stats"

    # Constructing the request payload. In practice, this would include your app's API key and possibly additional parameters.
    headers = {
        'X-API-KEY': 'YOUR_API_KEY',  # Replace with actual API key
        'Content-Type': 'application/json'
    }
    data = {
        "address": address,
        "type": "wallet"
    }

    response = requests.post(url, headers=headers, json=data)

    if response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Getting SEC EDGAR Filings via API Without Scraping</title>
      <dc:creator>carrierone</dc:creator>
      <pubDate>Tue, 24 Mar 2026 19:01:15 +0000</pubDate>
      <link>https://forem.com/carrierone/getting-sec-edgar-filings-via-api-without-scraping-ce8</link>
      <guid>https://forem.com/carrierone/getting-sec-edgar-filings-via-api-without-scraping-ce8</guid>
      <description>&lt;h2&gt;
  
  
  Getting SEC EDGAR Filings via API Without Scraping
&lt;/h2&gt;

&lt;p&gt;When developing financial applications that require real-time access to SEC filings such as 10-Ks, 10-Qs, and 13-Fs, one common challenge is obtaining these documents efficiently. One effective way to do this without resorting to web scraping is by using an API service like VeriLexData's api.verilexdata.com/api/v1/sec/sample.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;Web scraping requires manual setup for each website or dataset and can be time-consuming, especially when dealing with dynamic content that changes frequently. Moreover, it often comes with legal risks and may not always comply with the terms of service of the websites involved.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Simple Python Example to Fetch Filings
&lt;/h3&gt;

&lt;p&gt;Here's a concise example using Python to fetch SEC filings via the API:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
python
import requests

# Replace 'YOUR_API_KEY' with your actual API key from VeriLexData
api_key = "YOUR_API_KEY"
url = f"https://api.verilexdata.com/api/v1/sec/sample?format=json&amp;amp;apikey={api_key}"

response = requests.get(url)
if response.status_code == 200:
    data = response.json()
    # Process the data here, for example printing a sample filing
    print(data[0]['filing'])
else:
    print(f"Failed to
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>How to Query 9 Million US Healthcare Providers via API (NPI Registry)</title>
      <dc:creator>carrierone</dc:creator>
      <pubDate>Sat, 21 Mar 2026 17:21:36 +0000</pubDate>
      <link>https://forem.com/carrierone/how-to-query-9-million-us-healthcare-providers-via-api-npi-registry-59ca</link>
      <guid>https://forem.com/carrierone/how-to-query-9-million-us-healthcare-providers-via-api-npi-registry-59ca</guid>
      <description>&lt;h2&gt;
  
  
  Query NPI: 9 Million US Healthcare Providers
&lt;/h2&gt;

&lt;p&gt;In today's digital health landscape, integrating accurate and up-to-date information about healthcare providers is crucial for applications like FHIR integrations, provider directories, and prior authorization systems. The National Provider Identifier (NPI) registry houses this essential data, and accessing it programmatically can streamline your development process.&lt;/p&gt;

&lt;p&gt;To query NPI numbers, names, specialties, and locations, you'll need to use the API endpoint &lt;code&gt;api.verilexdata.com/api/v1/npi/sample&lt;/code&gt;. This simple Python code example demonstrates how to make a request using the requests library:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_npi_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;npi_number&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.verilexdata.com/api/v1/npi/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;npi_number&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;

&lt;span class="c1"&gt;# Example usage
&lt;/span&gt;&lt;span class="n"&gt;npi_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_npi_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;123456789&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;npi_data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;npi_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Failed to retrieve NPI data.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code sends a GET request to the specified endpoint, where &lt;code&gt;npi_number&lt;/code&gt; is replaced with the actual NPI number you're interested in. The response from the API will be in JSON format&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Query 9 Million US Healthcare Providers via API (NPI Registry)</title>
      <dc:creator>carrierone</dc:creator>
      <pubDate>Tue, 17 Mar 2026 23:03:33 +0000</pubDate>
      <link>https://forem.com/carrierone/how-to-query-9-million-us-healthcare-providers-via-api-npi-registry-4p2g</link>
      <guid>https://forem.com/carrierone/how-to-query-9-million-us-healthcare-providers-via-api-npi-registry-4p2g</guid>
      <description>&lt;h3&gt;
  
  
  How to Query 9 Million US Healthcare Providers via API (NPI Registry): A Cleaner Approach
&lt;/h3&gt;

&lt;p&gt;If you're working on a healthcare app and need to look up NPI numbers, you've likely encountered the challenge of integrating data from multiple sources. One popular source is the National Provider Identifier (NPI) registry, which contains information on over 9 million U.S. healthcare providers.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Problem
&lt;/h4&gt;

&lt;p&gt;The most common approach for querying this dataset involves direct API calls or web scraping, both of which can be cumbersome and error-prone. Direct API calls require handling complex authentication and rate limiting. Web scraping might bypass these issues but often leads to legal and ethical concerns due to the sensitive nature of healthcare data.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Traditional Approach: Direct API Call with Python
&lt;/h4&gt;

&lt;p&gt;Here’s an example of making a direct API call using Python's &lt;code&gt;requests&lt;/code&gt; library:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="c1"&gt;# Define your NPI number here. Replace 'your_api_key' with your actual x402 protocol key.
&lt;/span&gt;&lt;span class="n"&gt;npi_number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;123456789&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;x-api-key&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;your_api_key&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;https://api.verilexdata.com/v1/npi/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;npi_number&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Verilex Data: A Cleaner Alternative
&lt;/h4&gt;

&lt;p&gt;Verilex Data offers a more streamlined solution. Their x402 protocol allows you to query their API without needing an API key or account, making it easier and safer for developers.&lt;/p&gt;

&lt;p&gt;Here’s how you can use the free sample endpoint provided by Verilex Data:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -X GET "https://api.verilexdata.com/v1/npi/987654321" \
     -H "accept: application/json"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above &lt;code&gt;curl&lt;/code&gt; command will return a JSON response like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"npi"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"987654321"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Dr. John Doe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"provider_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"MD"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"address"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"line_1"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"123 Main St."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"city"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Anytown"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"state"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"CA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"postal_code"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"90210"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"phone_number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"(555) 555-5555"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Real Working Example with Verilex Data
&lt;/h4&gt;

&lt;p&gt;Let's use the provided free sample endpoint to query a specific NPI number. Replace &lt;code&gt;987654321&lt;/code&gt; with any valid NPI number.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -X GET "https://api.verilexdata.com/v1/npi/987654321" \
     -H "accept: application/json"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will return the following JSON response for a sample provider:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"npi"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"987654321"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Dr. John Doe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"provider_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"MD"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"address"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"line_1"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"123 Main St."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"city"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Anytown"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"state"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"CA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"postal_code"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"90210"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"phone_number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"(555) 555-5555"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Comparison with Traditional Approaches
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Direct API Call&lt;/strong&gt;: Requires x402 protocol, no API keys or accounts needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Scraping&lt;/strong&gt;: Potentially legal and ethical concerns; requires handling complex authentication and rate limiting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Verilex Data's approach provides a safer and more straightforward way to access the NPI registry data. It’s particularly useful for&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I Built a Pay-Per-Query Data Marketplace with x402 Crypto Micropayments</title>
      <dc:creator>carrierone</dc:creator>
      <pubDate>Tue, 17 Mar 2026 16:43:42 +0000</pubDate>
      <link>https://forem.com/carrierone/i-built-a-pay-per-query-data-marketplace-with-x402-crypto-micropayments-54lg</link>
      <guid>https://forem.com/carrierone/i-built-a-pay-per-query-data-marketplace-with-x402-crypto-micropayments-54lg</guid>
      <description>&lt;h2&gt;
  
  
  I Built a Pay-Per-Query Data Marketplace with x402 Crypto Micropayments
&lt;/h2&gt;

&lt;p&gt;What if buying data worked like buying a coffee? Walk up, pay, get what you ordered. No membership card, no monthly subscription, no waiting for account approval.&lt;/p&gt;

&lt;p&gt;That's what I built with &lt;a href="https://verilexdata.com" rel="noopener noreferrer"&gt;Verilex Data&lt;/a&gt; — a self-hosted data sales platform where every query costs a fraction of a cent in USDC, paid instantly via the &lt;a href="https://x402.org" rel="noopener noreferrer"&gt;x402 protocol&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I kept running into the same pattern: I need data from an API. The API costs $49/month minimum. I only need 50 queries. I'm paying $1/query for a service designed for $0.01/query at scale.&lt;/p&gt;

&lt;p&gt;Every data provider forces you into subscriptions. Even government data that's already public domain gets locked behind $49-299/month plans.&lt;/p&gt;

&lt;h2&gt;
  
  
  The x402 Solution
&lt;/h2&gt;

&lt;p&gt;x402 is an open protocol by Coinbase that revives the HTTP 402 status code. Here's how it works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Client sends &lt;code&gt;GET /api/v1/npi?state=TX&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Server responds &lt;code&gt;402 Payment Required&lt;/code&gt; with price + wallet address&lt;/li&gt;
&lt;li&gt;Client signs a USDC transfer (EIP-712 on Base chain)&lt;/li&gt;
&lt;li&gt;Client resends request with the signed payment in a header&lt;/li&gt;
&lt;li&gt;Server verifies, settles on-chain, returns data&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One HTTP round-trip. No API keys. No accounts. No subscriptions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;20 datasets across three categories:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Government &amp;amp; Business&lt;/strong&gt; — NPI healthcare providers (9M records), SEC EDGAR filings, PACER court records, 1.6M US patents, government contracts, weather data, OTC company shell risk scoring, economic indicators from FRED.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Crypto Intelligence&lt;/strong&gt; — OFAC sanctions screening ($0.005/query — Chainalysis charges $50K/year), whale wallet tracking, address labels with risk scores, token holder concentration, DEX trade history, DeFi liquidation signals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prediction Markets&lt;/strong&gt; — Polymarket smart money tracker, AI-powered cross-platform arbitrage (uses Ollama embeddings to match same-event markets across Polymarket and Kalshi), resolution source intelligence, order book microstructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;

&lt;p&gt;Everything runs on one Debian 13 VM on my Proxmox cluster:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;API&lt;/strong&gt;: Express + TypeScript with self-hosted x402 facilitator&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database&lt;/strong&gt;: PostgreSQL 16 + TimescaleDB&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analytics&lt;/strong&gt;: DuckDB querying Parquet files on MinIO&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pipeline&lt;/strong&gt;: Python collectors on APScheduler (15-min to weekly intervals)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Site&lt;/strong&gt;: Astro + Tailwind (static, served by nginx)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI&lt;/strong&gt;: Ollama (nomic-embed-text) for semantic matching&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring&lt;/strong&gt;: Umami analytics, uptime cron, data freshness tracking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Total vendor cost: $0. Everything is FOSS and self-hosted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Freshness Headers
&lt;/h2&gt;

&lt;p&gt;Every paid response includes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;X-Data-Stale: false
X-Data-Last-Updated: 2026-03-17T05:03:08.108Z
X-Data-Age-Seconds: 6235
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your code can check &lt;code&gt;X-Data-Stale&lt;/code&gt; and stop querying if data hasn't been refreshed. You still get charged (prevents abuse), but you're warned.&lt;/p&gt;

&lt;h2&gt;
  
  
  Change Feeds
&lt;/h2&gt;

&lt;p&gt;Every high-frequency dataset supports &lt;code&gt;?since=&lt;/code&gt; for efficient polling:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET /api/v1/sanctions/changes?since=2026-03-16T00:00:00Z
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Returns only records updated since the timestamp, with &lt;code&gt;next_since&lt;/code&gt; for chaining. Empty responses are fast and cheap.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Agent Integration
&lt;/h2&gt;

&lt;p&gt;The platform is built for AI agents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MCP server&lt;/strong&gt; with 50+ tools (&lt;a href="https://smithery.ai/servers/carrierone/verilexdata-mcp" rel="noopener noreferrer"&gt;Smithery&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamable HTTP&lt;/strong&gt; endpoint at &lt;code&gt;https://api.verilexdata.com/mcp&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;llms.txt&lt;/strong&gt; for AI crawler discovery&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenAPI 3.1&lt;/strong&gt; with Scalar interactive docs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schema.org&lt;/strong&gt; JSON-LD on every page&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Self-Hosting the x402 Facilitator
&lt;/h2&gt;

&lt;p&gt;The biggest challenge was the x402 facilitator. Coinbase's public facilitator (&lt;code&gt;facilitator.x402.org&lt;/code&gt;) only supports testnet chains. For mainnet payments, I had to self-host using &lt;code&gt;@x402/core&lt;/code&gt;'s &lt;code&gt;x402Facilitator&lt;/code&gt; class with a viem wallet signer, exposed as a local HTTP server that the &lt;code&gt;HTTPFacilitatorClient&lt;/code&gt; connects to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;Free endpoints (no payment needed):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://api.verilexdata.com/api/v1/npi/sample" rel="noopener noreferrer"&gt;NPI sample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://api.verilexdata.com/api/v1/status" rel="noopener noreferrer"&gt;System status&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://api.verilexdata.com/api/v1/sanctions/stats" rel="noopener noreferrer"&gt;Sanctions stats&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Website: &lt;a href="https://verilexdata.com" rel="noopener noreferrer"&gt;verilexdata.com&lt;/a&gt;&lt;br&gt;
MCP: &lt;a href="https://github.com/carrierone/verilexdata-mcp" rel="noopener noreferrer"&gt;github.com/carrierone/verilexdata-mcp&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>data</category>
      <category>showdev</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
