Social Post Search
Search indexed social posts with filters on text, author, engagement, reactors, commenters, mentions, and attachments. Replaces /screener/linkedin_posts endpoints. Cursor pagination. Billed per post returned (limit defaults to 20).
Dynamic pricing
body.limit == 0 ? 0.01 : (body.limit ? body.limit : 20) * 0.15625
Example code
// Using @orth/sdk - The simplest way to call APIs
// Install: npm install @orth/sdk
import Orthogonal from "@orth/sdk";
const orthogonal = new Orthogonal({
apiKey: process.env.ORTHOGONAL_API_KEY,
});
const output = await orthogonal.run({
api: "crustdata",
path: "/social_post/search"
});
console.log(output);Body parameters
A single `SocialPostDbSearchCondition` or a nested `SocialPostDbSearchConditionGroup`. Omit to match every indexed post.
Opaque cursor from a prior response's `next_cursor`. Send the same `filters`, `sorts`, and `fields` with it; a cursor issued for a different body is rejected with `Invalid cursor`.
Posts per page. `0` returns `total_count` alone and costs nothing. (default: 20)
Ordering rules applied in array order. Defaults to `date_posted` descending.
Dot-paths to include in each returned post, for example `actor.name` or a whole group such as `engagement`. Omit to return everything. `actor.location` and `reposter.location` are selected whole; their sub-keys are filterable but not selectable. `reactors` and `comments` are returned in full and can be long, so leave them out unless you need them. Filter-only fields (`content_type`, `materialized_at`) are rejected here.