PipedreamHQ / PipedreamHQ/pipedream
[APP] AnyAPI
- Dominant language
- JavaScript
- Stars
- 11.7k
- Forks
- 5.8k
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 102
Description
**Name of app / service**
AnyAPI - https://getanyapi.com
AnyAPI is a gateway that puts several hundred scraping and data APIs behind one key, one normalized request and response shape, and USD pay-per-request pricing with no subscription. It currently publishes just over 360 APIs across Instagram, TikTok, YouTube, X, Reddit, LinkedIn, Google Search, Google Maps, Amazon, and generic web scraping.
**Link to developer documentation**
- Docs: https://getanyapi.com/docs
- OpenAPI document: https://api.getanyapi.com/openapi.json
- Base URL: `https://api.getanyapi.com`
Auth is a static API key sent as the `X-API-Key` request header. There is no OAuth step and no scopes.
Suggested app definition:
- App slug: `anyapi`
- Auth type: `keys`
- Auth field: `api_key` (string, secret) - "API key"
- Test request: `GET https://api.getanyapi.com/v1/balance` with header `X-API-Key: {{auth.api_key}}`, which returns `{"usd": }`
You can confirm the service without any credential, because catalog search is public:
```
curl -s 'https://api.getanyapi.com/catalog/search?q=instagram%20profile'
curl -s 'https://api.getanyapi.com/catalog/search?category=social'
```
And a key is self-serve, with no signup form and no card:
```
curl -s -X POST 'https://api.getanyapi.com/agent/signup' -H 'Content-Type: application/json' -d '{}'
```
That returns a free trial key with a small starting balance.
**Is lack of support preventing you from moving forward, or do you have a workaround?**
The workaround today is an HTTP request step per call, which means every workflow re-does the auth header and each user has to read the docs to learn one API's input schema by hand.
I have already opened PR #21898 with the components. @michelle0927 asked for this app request so the base integration can be put in place before that PR is reviewed and tested. I work on AnyAPI.
**Are there specific actions or triggers you'd like to see for this app? Please let us know here or use the Action and Trigger issue templates to open requests for each!**
The four actions in PR #21898, which follow the discovery loop the API is designed around rather than one component per API:
| Action | Request | Purpose |
| --- | --- | --- |
| Search APIs | `GET /catalog/search` | Find an API by describing what you need, or by scoping to a category or a platform. Returns each match with its slug, description and USD price. |
| Get API | `GET /v1/apis/{sku}` | Read one API's normalized input and output JSON Schema plus its pricing, so you know what to send. |
| Run API | `POST /v1/run/{sku}` | Execute it. Returns the normalized output, the number of result rows, and `costUsd`. |
| Get Balance | `GET /v1/balance` | Remaining USD in the wallet. |
One action per API would mean hundreds of near-identical components that go stale whenever the catalog changes, so **Get API** and **Run API** take the API as a dynamic dropdown backed by catalog search instead.
No triggers proposed. Happy to add sources or change the shape to match your conventions.
Contributor guide
Research direction
Start with PR #21898 and compare its components with the app conventions in the repository. Use the AnyAPI OpenAPI document and the listed catalog, API, run, and balance endpoints as the integration reference; done means the four requested actions and API-key authentication are represented and tested against the documented responses.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100