Skip to content

Latest commit

 

History

385 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent API Gateway

Structured web data for AI agents. One API call.

Live product: https://agentapigw.dpdns.org (also https://agent-api-gateway.onrender.com)

Agents send a URL + schema type, get clean JSON. No markdown, no raw HTML — just fields.

For AI agents / crawlers

Resource URL
llms.txt https://agentapigw.dpdns.org/llms.txt
agent.json https://agentapigw.dpdns.org/agent.json
openapi.json https://agentapigw.dpdns.org/openapi.json
For agents UI https://agentapigw.dpdns.org/agents
Docs https://agentapigw.dpdns.org/docs
Pricing JSON https://agentapigw.dpdns.org/v1/billing/pricing

Sister product StatusPlate (status pages): https://statusplate.agentapigw.dpdns.org/

curl -X POST https://agentapigw.dpdns.org/v1/extract \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{"url": "https://store.com/product/123", "schema": "product"}'

Pricing & how to buy

Plan Price What you get Buy
Free $0 100 queries/mo, API keys, product/article schemas Dashboard
1,000 credits $1 once One-time top-up; stacks on free or any subscription Buy $1
Hobby $29/mo 5,000 queries/mo (+ buy credit packs anytime) Checkout
Pro $99/mo 25,000 queries/mo (+ credit packs for bursts) Checkout

Payments via Polar hosted checkout (card). Subscriptions set monthly limits; credit packs add bonus credits that stack and do not expire until used. After payment, use the dashboard to create API keys.

Public checkout API: POST /v1/billing/pricing/checkout with {"sku":"credits_1k"} → { url, session_id, amount_cents, credits }.

Public pricing API: GET https://agentapigw.dpdns.org/v1/billing/pricing (includes tiers + credit_packs).

Support

Business support email: support@agentapigw.dpdns.org
Polar public support email for org NexusCore (domain matches organization website https://agentapigw.dpdns.org).

Available schemas

Schema Returns
product name, brand, price, currency, in_stock, rating, review_count, description, image, specs, availability
article title, author, date, reading_time, excerpt, content_summary, topics
company name, description, founded, size, funding_total, industry, location, competitors

Auth

  • Email + password (Better Auth) with required email verification
  • Password reset via email
  • GitHub OAuth (optional): GITHUB_CLIENT_ID + GITHUB_CLIENT_SECRET
  • Google OAuth (optional): GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET

Same-email social sign-in is auto-linked to an existing account (trusted providers).

Email verification

Email/password accounts must verify before a session is created.

  1. Set RESEND_API_KEY (and optionally EMAIL_FROM on a verified domain).
  2. On sign-up, Better Auth emails a one-hour verification link.
  3. Unverified sign-in is blocked and can resend the link from /login.

Locally without Resend, verification links are printed to the API console (not production).

GitHub OAuth

Create an OAuth App at https://github.com/settings/developers

Field Value
Homepage URL https://agentapigw.dpdns.org
Authorization callback URL https://agentapigw.dpdns.org/api/auth/callback/github

Existing app (prod): Client ID Ov23liFQUYnTkcewcq2W → https://github.com/settings/applications/3733447
Generate a client secret there, then set both env vars on Render and restart.

Google OAuth

  1. Open Google Cloud Console → Credentials
  2. Create project (or pick one) → Create credentials → OAuth client ID
  3. Application type: Web application
  4. Authorized JavaScript origins: https://agentapigw.dpdns.org (and http://localhost:3000 for local)
  5. Authorized redirect URIs:
    • https://agentapigw.dpdns.org/api/auth/callback/google
    • http://localhost:3000/api/auth/callback/google (local)
  6. Copy Client ID + Client secret → set GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET on Render
  7. Redeploy. /health should show "google_oauth": true

GET /health includes "github_oauth": true|false so you can confirm config without leaking secrets.

Local development

cp .env.example .env
npm install
npm run test:product
npm run dev:api
curl http://localhost:3000/health

Architecture

Agent  POST /v1/extract { url, schema }
        Scraper fetches page HTML
        LLM extracts structured JSON
        Validator sanitizes business fields
        Cache result
        → { name, price, in_stock, ... }

MCP server

export AGENT_API_KEY=sk-your-key   # from dashboard; never commit
export API_BASE_URL=https://agentapigw.dpdns.org/v1
npm run mcp

Tools: extract, extract_product, extract_article, extract_company, list_schemas, get_usage.
Setup guide: docs/mcp.md

Legal

Security hygiene

  • .env is gitignored; use .env.example for placeholders only
  • Never commit API keys, OAuth secrets, or database URLs
  • npm run check:secrets scans tracked files for high-risk patterns
  • Server/MCP errors redact secrets before logging or client responses

Docs

About

Structured web data for AI agents. One API call. $1 Starter Pack. Live: agent-api-gateway.onrender.com

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages