API100
Developer guide

API documentation

Create an order, wait for a settled result, then read or export it.

Published products and current prices

Loading…

1. Authenticate and create an order

Create an API key in your Dashboard. Send it as X-API-Key. Use a new Idempotency-Key for each new order; retry the same request with the same key if its response is lost.

curl -X POST 'https://YOUR_HOST/api/following' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Idempotency-Key: A_UNIQUE_UUID' \
  -H 'Content-Type: application/json' \
  -d '{"user_id":"123456789","max_items":250}'

Choose the input for the selected service above. IDs must be strings. Request up to 10,000 items, or one result for direct profile lookup. A server policy may apply a lower limit. Insufficient available Credits returns HTTP 402 before collection starts.

2. Read the order and results

GET /api/jobs/{order_id}
GET /api/jobs/{order_id}/results
GET /api/jobs/{order_id}/results?cursor={next_cursor}
GET /api/jobs/{order_id}/export?format=json
GET /api/jobs/{order_id}/export?format=csv
POST /api/jobs/{order_id}/cancel

Poll status with increasing delays until the order is ready, failed, cancelled, or expired. Results use fixed pages of up to 100 records. Treat cursors as opaque values. Only the order owner can access its results.

New orders lock the current price and reserve the maximum required Credits. Ready results settle once from actual quantity and release the remaining reserve. Failed, cancelled, or expired execution releases the reserve. Reads and exports do not add charges.

Results remain available for seven days from readiness. After retention expires, downloads return HTTP 410; historical usage and ledger entries remain available.

Collection scope

Each run accepts one source. Search supports native X query operators with Top or Latest ordering. Profile Tweets can include replies authored by the target account. Post Replies returns direct replies only. Followers and Following are separate products.

Batch sources, People / Lists search, About enrichment, nested reply traversal, monitoring and output transformations are not available in this version. Unsupported options are rejected.

New X service prices use 1 Credit = US$1. Existing Following prices are listed independently above. Apify runs are billed by Apify and do not debit website Credits.

Billing and completeness

Request pricing counts one successful order, including an empty result. Page pricing counts the final result pages of 100 items; item pricing counts the delivered records. Free products still record usage. Amounts are decimal Credits strings with up to six fractional digits.

complete, truncated, stop_reason, and collection timestamps describe the result. completion_basis: upstream_contract means completeness follows the existing upstream interface, rather than independent verification of the original source. A bounded result can stop at the requested item limit. Failed orders do not expose partial results.

HTTP 400/422: invalid input · 401/403: authentication or permission · 402: insufficient Credits · 409: conflicting retry · 429: rate limit · 410: expired results · 502/503/504: service or upstream failure.