Skip to content

Latest commit

 

History

History
244 lines (185 loc) · 14.2 KB

File metadata and controls

244 lines (185 loc) · 14.2 KB

Timelines

Overview

Available Operations

TweetsAndReplies

Get all tweets and replies posted by a specific Twitter user. Returns a comprehensive list including both original tweets and reply tweets posted by the user. $0.10/1000 items.

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/models/operations"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Timelines.TweetsAndReplies(ctx, operations.TimelinesTweetsAndRepliesRequest{
        ScreenName: "elonmusk",
        Count: 50,
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.SearchResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request operations.TimelinesTweetsAndRepliesRequest ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.TimelinesTweetsAndRepliesResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*

UserPage

Fetch a single page from a user's timeline using POST. Pass next_cursor in the body to continue.

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/optionalnullable"
	"github.com/twexapi-dev/x-api-scraper-go/models/components"
	"github.com/twexapi-dev/x-api-scraper-go/models/operations"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Timelines.UserPage(ctx, operations.TimelinesUserPageRequest{
        ScreenName: "axiaisacat",
        Body: components.UserTimelinePageQuery{
            NextCursor: optionalnullable.From(xapiscraper.Pointer("DAAHCgABHFeD5h9__-cLAAIAAAATMjAzODIzMzA5NTM4ODY4MDU5NAgAAwAAAAIAAA")),
        },
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.UserTimelinePageResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request operations.TimelinesUserPageRequest ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.TimelinesUserPageResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*

User

Fetch a user's timeline across pages using POST and try to fill the requested count.

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/models/components"
	"github.com/twexapi-dev/x-api-scraper-go/models/operations"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Timelines.User(ctx, operations.TimelinesUserRequest{
        ScreenName: "axiaisacat",
        Body: components.UserTimelineFillQuery{},
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.UserTimelineResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request operations.TimelinesUserRequest ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.TimelinesUserResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*

TweetsAndRepliesPage

Retrieve a paginated list of a user's tweets and replies using cursor-based pagination. Each page returns up to 20 items. Pass next_cursor from the previous response to continue. Pricing: $0.10 per 1,000 items.

Example Usage

package main

import(
	"context"
	"os"
	xapiscraper "github.com/twexapi-dev/x-api-scraper-go"
	"github.com/twexapi-dev/x-api-scraper-go/optionalnullable"
	"github.com/twexapi-dev/x-api-scraper-go/models/components"
	"log"
)

func main() {
    ctx := context.Background()

    s := xapiscraper.New(
        xapiscraper.WithSecurity(os.Getenv("X_API_SCRAPER_BEARER_AUTH")),
    )

    res, err := s.Timelines.TweetsAndRepliesPage(ctx, components.GetAllTweetsRepliesCursorQuery{
        NextCursor: optionalnullable.From(xapiscraper.Pointer("1234567890")),
        ScreenName: "elonmusk",
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.GetAllTweetsRepliesCursorResponse != nil {
        // handle response
    }
}

Parameters

Parameter Type Required Description
ctx context.Context ✔️ The context to use for the request.
request components.GetAllTweetsRepliesCursorQuery ✔️ The request object to use for the request.
opts []operations.Option The options for this request.

Response

*operations.TimelinesTweetsAndRepliesPageResponse, error

Errors

Error Type Status Code Content Type
apierrors.HTTPValidationError 422 application/json
apierrors.APIError 4XX, 5XX */*